通讯协议20241015
完整协议文档下载
下载附件:通讯协议_1015(1).xlsx
设备上电后与APP连接过程
数据顺序流程图
示例数据如下:

蓝牙UUID说明
指令通道
-
APP发送数据,蓝牙接收数据
uuid: 00010203-0405-0607-0809-0A0B0C0D2B16
属性:WRITE|WRITE_WITHOUT_RESPONSE
-
蓝牙发送数据,APP接收数据
uudi:00010203-0405-0607-0809-0A0B0C0D2B17
属性:READ|NOTIFY
音频通道
-
蓝牙发送音频,APP接收音频
uuid:00010203-0405-0607-0809-0A0B0C0D2B18
属性:READ|NOTIFY
文件通道
-
蓝牙发送文件内容,APP接收文件内容
uuid: 00010203-0405-0607-0809-0A0B0C0D2B22
属性:READ|NOTIFY
设备属性
设备当前具备的属性有: 电量、时间、麦克风状态、固件版本号、音频蓝牙信息、录音模式、sd卡容量、文件列表、指示灯状态
由于历史原因,部分格式不遵守此格式,以实际情况为准。
属性一般都具备get方法,部分具备set方法。
由于历史原因,有部分协议,可能不完全遵守此格式,以excel文件的说明为准。
get方法数据格式
app发出数据示例:
{
"method": "get",
"id": "123",
"ver": "1.0",
"data":"battery"
}
- method: "get"表示获取属性数据
- id:每次发送指令时的id,都是唯一的。蓝牙返回的数据也有id,两者相同。
- ver: 设备固件的版本号。
- data:属性的key。battery表示电量。
设备返回数据示例:
{
"method": "battery_reply",
"id": "123",
"ver": "1.0",
"data":[
{"battery":"100"}
],
"error":[]
}
- method: xxxx_reply,xxxx表示设属性的key。
- id:每次发送指令时的id,都是唯一的。蓝牙返回的数据也有id,两者相同。
- ver: 设备固件的版本号。
- data:属性的key和value。battery表示电量。数组包含的多个属性值列表。
- error: 无错误则为空数组。
set方法数据格式
app发出数据示例:
{
"method": "set",
"id": "456",
"ver": "1.0",
"data":{"mic_status":"open"}
}
- method: "set"表示设置设备的属性参数。
- id:每次发送指令时的id,都是唯一的。蓝牙返回的数据也有id,两者相同。
- ver: 设备固件的版本号。
- data:属性的key。mic_status表示设备麦克风的状态。"open"为开,"close"为关
设备返回数据示例:
{
"method": "mic_status_reply",
"id": "456",
"ver": "1.0",
"data":[
{"mic_status":"success"}
],
"error":[]
}
- method: xxxx_reply,xxxx表示设属性的key。
- id:每次发送指令时的id,都是唯一的。蓝牙返回的数据也有id,两者相同。
- ver: 设备固件的版本号。
- data:属性的key。battery表示电量。数组包含的多个属性值列表。
- error: 无错误则为空数组。
属性列表
name | key | value | type | get | set |
---|---|---|---|---|---|
当前电量 | batter | "open"为打开,"close"为关闭 | string | ✓ | ✕ |
设置设备的时间 | sync_time | 年月日时分秒的格式,比如:"20230801113301" | string | x | ✓ |
获取设备的时间 | cur_time | 年月日时分秒的格式,比如:"20230801113301" | string | ✓ | x |
振动麦克风开关状态 | mic_status | "open"为打开,"close"为关闭 | string | ✓ | ✓ |
当前ibeacon序号 | cur_ibeacon_id | 比如:"6"表示序号为6 | string | ✓ | x |
固件版本号 | sw_version | 比如:"1.0"表示当前设备固件版本为1.0 | string | ✓ | x |
音频蓝牙信息 | edr_ctkd | 比如: [{"edr_name":"Flash Note (BT)"}, {"mac_addr":"12345678"}, {"connect_state":"connected"}], "edr_name"为音频蓝牙名称, "mac_addr"为音频蓝牙mac地址, "connect_state"表示已经连接音频蓝牙的状态 |
list | ✓ | x |
查询录音状态 | rec_status | 比如:"rec_start"表示录音开始,"rec_start"表示录音结束 | string | ✓ | x |
录音模式A | rec_mode | 比如:"rec_auto"表示自动录音,"rec_head"表示手动录音 | string | ✓ | ✓ |
查询SD卡剩余容量 | sd_capacity | 比如:"490"表示可用容量为490MB | string | ✓ | x |
查询录音指示灯状态 | rec_led | "open"为打开,"close"为关闭 | string | ✓ | ✓ |
录音模式B | cur_rec_state | "live"非通话录音,其它为通话录音 | string | ✓ | ✓ |
录音模式B | cur_rec_state | "live"非通话录音,其它为通话录音 | string | ✓ | ✓ |
设备服务
设备服务由设备提供的服务能力,比如,录音操作、音频列表查询,音频删除操作等。
查询SD卡列表
|查询SD卡列表|sd_list|比如:"data":[{"total":1}
{"id":1,"size":512,name:202307311421.mp3"}
"total"表示总数,
id为音频序号,
size表示音频大小(字节),
name表示音频名称]|list| ✓ | x|
设备事件
由设备主动触发的事件。比如:电量低事件、录音开始/结束事件。不需要操作app,设备主动推送到app的数据。