更新时间:2024-05-08 10:36:23下载pdf
语音服务相关的协议只适用于语音模组 VWXR2 的通用对接,其他非语音模组的通用固件没有以下相关协议功能。
语音模组的语音状态码会自动返回,MCU 也可以主动查询。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x60 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 60 00 00 62
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x60 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 语音状态码:
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 60 00 01 00 60
该命令字可以设置静音,也可查询静音状态。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x61 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 静音设置值
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 61 00 01 00 64
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x61 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 静音状态值
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 61 00 01 00 61
该命令字可以设置音量,也可查询音量。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x62 |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 62 00 01 03 68
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x62 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 音量值:0-10 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 62 00 01 03 65
音频产测就是边录边播,通过声学仪器对比模组的输入和输出音频信号。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x63 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 音频产测值
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 63 00 01 02 68
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x63 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 音频产测状态
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 63 00 01 02 65
进入唤醒测试后,要求 10s 播放唤醒词电信号,10s 超时返回失败。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x64 |
数据长度 | 2 | 0x0000 |
数据 | 0 | 无 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 64 00 00 66
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x64 |
数据长度 | 2 | 0x0001 |
数据 | 0 | 唤醒结果返回
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 64 00 01 01 65
扩展语音模组的相关系统功能增加播放/暂停、蓝牙开/关、本地闹钟、语音控制组合功能的状态通知和设置。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x65 |
数据长度 | 2 | N |
数据 | 1 | 子命令:0x00 |
Data: { “play”:true, “bt_play”:true ,“ctrl_group”:“xxxx”} |
|
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:{"play":true,"bt_play":true,"ctrl_group":"next"}
55 aa 03 65 00 31 00 7b 22 70 6c 61 79 22 3a 74 72 75 65 2c 22 62 74 5f 70 6c 61 79 22 3a 74 72 75 65 2c 22 63 74 72 6c 5f 67 72 6f 75 70 22 3a 22 6e 65 78 74 22 7d c7
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x0002 |
数据 | 1 | 子命令:0x00 |
1 | 操作结果:
|
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 65 00 02 00 00 66
模组发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 1+N |
数据 | 1 | 子命令:0x01 |
Data:{ “play”:true, “bt_play”:true,“ alarm”:“xxxx”, “ ctrl_group”:“xxxx” } |
|
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:{"play":true,"bt_play":true,"ctrl_group":"next", "alarm":"xxx"}
55 aa 00 65 00 3f 01 7b 22 70 6c 61 79 22 3a 74 72 75 65 2c 22 62 74 5f 70 6c 61 79 22 3a 74 72 75 65 2c 22 63 74 72 6c 5f 67 72 6f 75 70 22 3a 22 6e 65 78 74 22 2c 22 61 6c 61 72 6d 22 3a 22 78 78 78 22 7d 36
MCU 返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 2 |
数据 | 1 | 子命令:0x01 |
1 | 操作结果。
|
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 65 00 02 01 00 6a
此功能为 MCU 主动唤醒模组。
目前此功能只有 Linux 系统的通用对接模组支持。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x01 |
数据 | 1 | 子命令:0x02 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 65 00 01 02 6a
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x02 |
数据 | 1 | 子命令:0x02 |
1 | 操作结果。
|
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 65 00 02 02 00 68
此功能开启后,自动语音识别(ASR)识别的文本会通过 0x6504
命令字传输。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x02 |
数据 | 1 | 子命令:0x03 |
1 |
|
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 65 00 02 03 00 6c
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x02 |
数据 | 1 | 子命令:0x03 |
1 | 操作结果
|
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 65 00 02 03 00 69
模组发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0xXX |
数据 | 1 | 子命令:0x04 |
1 | { “text”:“UTF-8 内容”, “speaker”:“human”,//robot “id”:1171 } |
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:{"text":"xx", "speaker":"human", "id":1171}
55 aa 03 65 00 2b 04 7b 22 74 65 78 74 22 3a 22 78 78 22 2c 22 73 70 65 61 6b 65 72 22 3a 22 68 75 6d 61 6e 22 2c 20 22 69 64 22 3a 31 31 37 31 7d 69
MCU 返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x01 |
数据 | 1 | 子命令:0x04 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 65 00 01 04 69
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x01 |
数据 | 1 | 子命令:0x05 |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 65 00 01 05 6d
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x0002+N |
数据 | 1 | 子命令:0x05 |
1 | 操作结果 Data[0]:
|
|
N | 操作结果为 0x01 时无此部分内容{ “artist”:“贝多芬”, “trackTitle”:“D 大调小夜曲” }//中文按照 UTF-8 编码 |
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:{"artist":"贝多芬", "trackTitle":"D 大调小夜曲" }
55 aa 00 65 00 34 05 00 7b 22 61 72 74 69 73 74 22 3a 22 e8 96 9b e4 b9 8b e8 b0 a6 22 2c 22 74 72 61 63 6b 54 69 74 6c 65 22 3a 22 e5 8a a8 e7 89 a9 e4 b8 96 e7 95 8c 22 7d dc
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x02 |
数据 | 1 | 子命令:0x06 |
状态
|
||
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 65 00 02 06 00 6f
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x02 |
数据 | 1 | 子命令:0x06 |
1 | 操作结果
|
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 65 00 02 06 00 6c
该命令可主动触发模组进入录音状态,设备会智能拾取人声并自动结束录音,最大录音时长为 10 秒。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x02 |
数据 | 1 | 子命令:0x07 |
状态,0x01 :开始录音 |
||
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 65 00 02 07 01 71
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x02 |
数据 | 1 | 子命令:0x07 |
1 | 操作结果
|
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 65 00 02 07 00 6d
该命令可主动触发模组进入录音状态,需要手动发送结束录音,最大录音时长为 10 秒。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x02 |
数据 | 1 | 子命令:0x08 |
1 | 状态
|
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 65 00 02 08 00 71
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x02 |
数据 | 1 | 子命令:0x08 |
1 | 操作结果
|
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 65 00 02 08 00 6e
此功能开启后,闹铃会通过 0x650A
命令字传输。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x02 |
数据 | 1 | 子命令:0x09 |
1 |
|
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 65 00 02 09 01 73
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x02 |
数据 | 1 | 子命令:0x09 |
1 | 操作结果
|
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 65 00 02 09 00 6f
模组发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0xXX |
数据 | 1 | 子命令:0x0A |
|
||
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:闹钟 ID:1,时间:2021/08/23 17:32,单次执行。
55 aa 00 65 00 24 0a 01 01 00 00 00 00 00 01 15 08 17 11 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fa
MCU 返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x01 |
数据 | 1 | 子命令:0x0A |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 65 00 01 0a 72
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x01 |
数据 | 1 | 子命令:0x0B |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 65 00 01 0b 73
模组返回闹铃用命令字 0x650A
下发。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x02 |
数据 | 1 | 子命令:0x0C |
状态
|
||
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 65 00 02 0c 00 75
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x02 |
数据 | 1 | 子命令:0x0C |
1 | 操作结果
|
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 65 00 02 0c 00 72
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0xXX |
数据 | 1 | 子命令:0x0D |
状态
|
||
JSON 数据,参考下方说明 | ||
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:{"date":"20210326", "time":"17:05", "loops":"0000000", "timeZone":"+08:00", "bell":0}
55 aa 03 65 00 53 0d 01 7b 22 64 61 74 65 22 3a 22 32 30 32 31 30 33 32 36 22 2c 22 74 69 6d 65 22 3a 22 31 37 3a 30 35 22 2c 22 6c 6f 6f 70 73 22 3a 22 30 30 30 30 30 30 30 22 2c 22 74 69 6d 65 5a 6f 6e 65 22 3a 22 2b 30 38 3a 30 30 22 2c 22 62 65 6c 6c 22 3a 30 7d 9e
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x09 |
数据 | 1 | 子命令:0x0D |
1 | 操作码
|
|
1 | 操作结果
|
|
6 | 操作的 timerId |
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 65 00 09 0d 01 00 00 00 00 00 00 0a 85
1. 添加闹钟:
名称 | 类型 | 描述 | 参数是否可选 |
---|---|---|---|
time | String | 闹钟时间,例如,08:30。 | N |
loops | String | 循环执行,从星期天到星期六,为 1 的那天执行。例如,0100001 表示星期 1 和星期 6 执行。 |
N |
date | String | 闹钟日期,循环闹钟取默认值 00000000 ,单次取要执行的那天的日期。例如,20181126 。 |
N |
timeZone | String | 时区,如:+08:00。 | N |
bell | Integer | 铃声:格式正整数。
|
Y |
bellDesc | String | 在线铃声描述,用于播放选择具体的歌曲。 | Y |
{ "date": "20181126", "time": "20:30", "loops": "0000000", "timeZone": "+08:00", "bell":1 }
{ "date": "00000000", "time": "08:00", "loops": "0111110", "timeZone": "+08:00", "bell":1 }
2. 修改闹钟:
名称 | 类型 | 描述 | 参数是否可选 |
---|---|---|---|
time | String | 闹钟时间,例如:08:30。 | N |
loops | String | 循环执行,从星期天到星期六,为 1 的那天执行。例如,0100001 表示星期 1 和星期 6 执行。 |
N |
date | String | 闹钟日期,循环闹钟取默认值 00000000 ,单次取要执行的那天的日期。例如,20181126 。 |
N |
timerId | Long | 闹钟 ID。 | N |
timeZone | String | 时区,如:+08:00。 | N |
bell | Integer | 铃声:格式正整数。
|
Y |
bellDesc | String | 在线铃声描述,用于播放选择具体的歌曲。 | Y |
{ "timerId": 10164075, "date": "20210322", "time": "14:30", "loops": "0000000", "timeZone": "+08:00", "bell":1 }
{ "timerId": 10164075, "date": "20210322", "time": "14:30", "loops": "0111110", "timeZone": "+08:00", "bell":1 }
3. 删除闹钟:
请求参数
名称 | 类型 | 描述 | 参数是否可选 |
---|---|---|---|
timerId | Long | 闹钟 ID | N |
请求示例
{"timerId": 1002}
4. 暂停闹钟:
请求参数
名称 | 类型 | 描述 | 参数是否可选 |
---|---|---|---|
timerId | Long | 闹钟 ID | N |
请求示例
{"timerId": 1002}
5. 启动闹钟:
请求参数
名称 | 类型 | 描述 | 参数是否可选 |
---|---|---|---|
timerId | Long | 闹钟 ID | N |
请求示例
{"timerId": 1002}
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x01 |
数据 | 1 | 子命令:0x0E |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 65 00 01 0e 76
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x02 |
数据 | 1 | 子命令:0x0E |
1 | 提醒个数 0~30 | |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 65 00 02 0e 02 76
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x0001+N |
数据 | 1 | 子命令:0x0F |
N | { “text”: “xxx”, //设备端保存的文本播放内容或文本指令 “type”: “tts/music”, // tts 为播报文本内容,music 为后续自定义铃声 “target”: “alert/clock”, //闹钟还是提醒 } |
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:{"text":"播放贝多芬的歌", "type":"music", "target":"alert"}
55 aa 03 65 00 41 0f 7b 22 74 65 78 74 22 3a 22 e6 92 ad e6 94 be e6 9e 97 e4 bf 8a e6 9d b0 e7 9a 84 e6 ad 8c 22 2c 22 74 79 70 65 22 3a 22 6d 75 73 69 63 22 2c 22 74 61 73 67 65 74 22 3a 22 61 6c 65 72 74 22 7d 91
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x65 |
数据长度 | 2 | 0x0002 |
数据 | 1 | 子命令:0x0F |
1 | 操作结果
|
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 65 00 02 0f 00 75
该服务主要拓展 data point(DP)下发端来源类型,主要的来源类型分为局域网、广域网、蓝牙等。
该拓展服务打开后,附 DP 类型命令下发与命令下发呈互斥关系。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x36 |
数据长度 | 2 | 0x0002 |
数据 | 1 | 子命令:0x01 |
1 |
|
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 36 00 02 01 01 3c
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x36 |
数据长度 | 2 | 0x0002 |
数据 | 1 | 子命令:0x01 |
1 |
|
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 36 00 02 01 00 38
DP 状态数据单元说明,请参考 DP 格式。
命令下发可含多个 DP 命令数据单元。
命令下发为异步处理协议,对应于 MCU 的 DP 状态上报。
附 DP 下发来源类型需要手动设置,并与命令下发的状态上报 互斥。
DP 下发来源类型除支持的部分外,其他的不支持。
模组发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x36 |
数据长度 | 2 | 取决于命令数据单元类型以及个数 N+2 |
数据 | 1 | 子命令:0x02 |
1 | DP 下发来源类型
|
|
N | 命令数据单元组 | |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:局域网系统开关对应 3 号 DP,使用 bool 型变量,开机数值为 1。
示例:55 aa 00 36 0007 02 01 03 01 0001 01 45
目前仅离线语音模组业务支持,其他业务可直接使用 状态上报。
DP 状态数据单元说明,请参考 DP 格式。
状态上报为异步处理协议,状态上报触发机制有三类:
MCU 收到附 DP 类型命令下发处理帧时,正确执行相应 DP 命令,再通过附 DP 类型状态上报帧将变化后的 DP 状态发送至模组。
MCU 主动检测到 DP 有变化,将变化后的 DP 状态发送至模组。
MCU 收到 状态查询帧 时,将所有的 DP 状态发送至模组。
状态上报可含多个 DP 命令数据单元。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x36 |
数据长度 | 2 | 取决于 状态数据单元 类型以及个数 N+3 |
数据 | 1 | 子命令:0x03 |
1 |
|
|
1 | 在 MCU 主动上报和回应状态查询两种情况下统一使用 0x00 ,而回应附 DP 类型命令下发,需要返回数据的来源。
|
|
N | 状态数据单元组 | |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:回应广域网下发的湿度对应 5 号 DP,使用 value 型变量,湿度为 30℃
示例:55 aa 03 36 000b 03 02 02 05 02 0004 0000001e 73
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈