离线语音 I2C 协议(Wi-Fi)

更新时间:2024-06-20 08:28:17下载pdf

本文介绍了 Wi-Fi 模组的离线语音 I2C 协议。适用于使用涂鸦离线语音模组进行 MCU 开发的开发者。

通信约定

  • 通信速率:100kbit/s

  • 总线地址:0x64

  • 通信数据线:SCL、SDA

  • 数据中断脚:INT_PIN
    引脚上拉,当语音模组需要主动发送数据给IoT模组,产生 100ms 的低电平告知IoT模组有数据需要发送

  • 数据传输量:单条数据不能超过 256 bytes

    离线语音 I2C 协议(Wi-Fi)

    Wi-Fi模组作为主机(primary),语音模组作为从机(secondary),主机主动查询从机的状态,从机收到指令后回应最新的状态信息给主机。

帧格式

字段 字节数 说明
帧头 2 固定为0x55aa
版本 1 升级扩展用
命令字 1 具体帧类型
数据长度 2 大端
数据 N
校验和 1 从帧头开始按字节求和得出的结果对256求余
  • 所有大于 1 个字节的数据均采用大端模式传输。
  • 一般情况下,采用同命令字一发一收同步机制,即一方发出命令,另一方应答。

场景一

IoT模组主动发送命令,语音模组收到命令后立刻回复(50ms内)。

离线语音 I2C 协议(Wi-Fi)

场景二

语音模组想主动上报消息到 IoT 模组,需要如下步骤。

  • 语音模组需要把INT管脚拉低100ms,产生一个100ms的低电平脉冲。

  • IoT模组收到中断信号后使用0x88命令去查询数据语音模组状态的改变。

  • 语音模组回复状态改变的信息。

  • IoT模组回复语音模组收到了状态改变的信息。

    离线语音 I2C 协议(Wi-Fi)

协议详述

I2C通信命令如下表:

命令字 功能 说明
0x00 心跳检测 IoT模组每5s间隔发心跳给离线语音模组
0x01 查询版本信息 IoT模组发送0x01指令获取语音模组软硬件版本信息
0x03 IoT模组Wi-Fi网络状态 IoT模组发送Wi-Fi网络状态给到语音模组
0x04 重置 Wi-Fi-切换配网模式 重置IoT模组进入EX配网,再重置进入AP配网
0x05 重置 Wi-Fi-切换配网模式 可以指定IoT模组重置进入哪种配网模式
0x06 DP状态上报 离线语音模组上报DP控制给IoT模组。IoT收到后下将命令转发到MCU控制对应 DP 执行
0x07 DP状态下发 IoT模组同步DP信息给到语音模组
0x08 查询DP信息 语音模组发送命令主动查询MCU所有的DP信息并同步
0x63 音频产测 设置离线语音模组的语音内部环路测试模式
0x64 唤醒产测 设置离线语音模组的唤醒测试模式
0x65 语音设置与上报 设置离线语音模组参数,以及语音模组参数主动上报
0x66 语音识别文本上发 语音模组提供Unicode格式的语音识别文本给IoT模组
0x67 文本验证结果下发 IoT模组将平台验证的语音文本的结果,以Unicode格式告知语音模组

语音状态查询

  • Wi-Fi模组上电后,以5s的间隔定期发送命令字(0x88)查询语音模组的状态,如果语音模组状态有改变就会回复最新的状态信息给到Wi-Fi模组,如果没有状态改变则回复心跳信息(0x00)。若Wi-Fi模组已接收过第一条心跳信息,且在超时时间(90s)内,未收到语音模组的任何回应,则认为与语音模组通信异常模组自动内部软件重启复位。
  • 上述为了减少交互的数据量设置查询间隔为5秒,可能会导致Wi-Fi模组接收语音命令的时延,为了解决这个问题,采用中断的方式,增加一个数据触发IO,当语音模组有新的状态改变时会触发这个IO为低电平,此时Wi-Fi模组检测到低电平之后立刻发送0x88查询命令去查询语音状态的信息,语音模组会根据状态字类型上传对应改变的信息到Wi-Fi模组。

Wi-Fi模组发送:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x88
数据长度 2 0x0000
数据 0
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55 aa 00 88 00 00 87

语音模组返回:

语音模组会根据当前是否有状态改变来决定发送什么数据。譬如当前有用户语音要求重置配网,那么语音模组就会发送0x05命令字,如果是上报DP,那么就会发送0x06命令字 。如果当前语音模组状态没有改变,那么就发送0x00心跳命令字作为心跳给到Wi-Fi模组作为回复。

心跳

语音模组如果没有状态改变则回复心跳信息

语音模组返回:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x00
数据长度 2 0x0001
数据 1 0x00:语音模组重启后第一次心跳返回值,仅发送一次,用于模组判断工作过程中MCU是否重启 0x01:除语音模组重启后第一次返回0外,其余均返回此值
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:
0x55aa 03 00 0001 00 03 (语音模组第一次返回)
0x55aa 03 00 0001 01 04 (除第一次外,正常返回)

重置Wi-Fi

重置Wi-Fi状态转化如下图所示:

离线语音 I2C 协议(Wi-Fi)

语音模组发送 :

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x04
数据长度 2 0x0000
数据 0
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55aa 03 04 0000 06

回复语音模组接收到了重置Wi-Fi命令。

Wi-Fi模组返回 :

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x04
数据长度 2 0x0000
数据 0
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55aa 00 04 0000 03

重置Wi-Fi-选择配置模式

此帧提供语音模组 根据自身需求选择性选择重置Wi-Fi后的配置方式。

语音模组发送 :

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x05
数据长度 2 0x0001
数据 1 0x00:进入smartconifg配置模式 0x01:进入AP配置模式
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55aa 03 05 0001 00 08,进入smartconfig配置模式

回复语音模组接收到了重置Wi-Fi-选择配置模式命令。
Wi-Fi模组返回 :

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x05
数据长度 2 0x0000
数据 0
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55aa 00 05 0000 03

DP控制上报

datapoint命令/状态数据单元如下所示:

数据段 字节数 说明
dpid 1 datapoint序号
type 1 对应开放平台上某datapoint具体的数据类型,通过如下“表示值”标识
类型 表示值 长度(字节) 说明
raw 0x00 N 对应于raw型datapoint(模组透传)
bool 0x01 1 value范围:0x00/0x01
value 0x02 4 对应int类型,大端表示
string 0x03 N 对应于具体字符串
enum 0x04 1 枚举类型,范围0-255
bitmap 0x05 1/2/4 长度大于1字节时,大端表示
len 2 长度对应value的字节数
value 1/2/4/N hex表示,大于1字节采用大端传输
  • datapoint命令/状态数据单元除”raw”类型外,其他类型均属于“obj”型datapoint
  • “DP命令上报”可含多个datapoint“命令数据单元”
  • “DP命令上报”为异步处理协议,对应于Wi-Fi模组的datapoint“状态更新下发”

说明

  • “状态上报”可含多个datapoint“命令数据单元”。
  • 语音模组根据用户输入的语音转化为相应的DP功能点传给Wi-Fi模组,譬如用户语音输入设置湿度30℃,湿度的对应的DP是5,湿度是指的值为30(0x1e)。

语音模组发送:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x06
数据长度 2 取决于“状态数据单元”类型以及个数
数据 N “dp状态数据单元”组
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:湿度对应5号DP,使用valve型变量,湿度为30℃

0x55aa 03 06 0008 05 02 0004 0000001e 39

回复语音模组接收到了DP控制上报命令。

Wi-Fi模组返回:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x06
数据长度 2 0x0000
数据 0
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55aa 00 06 0000 05

语音模组查询网络状态

语音模组通过命令字(0x2B)主动查询Wi-Fi模组的网络状态,Wi-Fi模组通过0x2B命令字告知语音模组网络状态。

语音模组发送:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x2B
数据长度 2 0x0000
数据 0
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55aa 03 2B 0000 2D

Wi-Fi模组回复设备网络状态。

设备联网状态 描述 状态值
状态1 smartconfig配置状态 0x00
状态2 AP配置状态 0x01
状态3 Wi-Fi已配置但未连上路由器 0x02
状态4 Wi-Fi已配置且连上路由器 0x03
状态5 已连上路由器且连接到云端 0x04
状态6 Wi-Fi设备处于低功耗模式 0x05

Wi-Fi模组返回:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x2B
数据长度 2 0x0001
数据 1 0x00 :smartconfig配置状态 0x01 :AP配置状态 0x02 :Wi-Fi已配置但未连上路由器 0x03 :Wi-Fi已配置且连上路由器 0x04 :已连上路由器且连接到云端 0x05 :Wi-Fi设备处于低功耗模式
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55aa 00 2B 0001 04 2F ,IoT模组以连接到云端

语音模组查询Wi-Fi强度

语音模组通过命令字(0x24)主动查询Wi-Fi信号强度,Wi-Fi模组通过0x24命令字告知语音模组信号强度。

语音模组发送:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x24
数据长度 2 0x0000
数据 0
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55aa 03 24 0000 26

Wi-Fi模组回复信号强度给到语音模组。

Wi-Fi模组返回:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x24
数据长度 2 0x0001
数据 1 0x00:表示失败 小于0:表示信号强度,如(-60db)
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55aa 00 24 0001 80 A4

语音文本上报

  • 文本采用字符的格式,例如:我回家了,文本信息即为“我回家了”,语音模组直接将这些数据传过来。
  • 语音文本信息通过0x66命令字发送给Wi-Fi模组,Wi-Fi模组收到后先直接回复0x66命令告知语音模组已经收到该指令。之后立即将文本信息通过501协议上传到平台验证文本的有效性,接收到平台的回复之后Wi-Fi模组通过0x67命令字告知语音模组文本信息验证的结果。

语音模组发送:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x66
数据长度 2 0x0012
数据 2 语音文本ID,语音模组可通过ID对应唯一的场景命令,例如:“回家模式”对应的ID为00 01
2 国家码,用来标识下面字符是哪个国家的语言,例如中国“CN”,美国“US”
N 总数据长度不超过256bytes 例如: 中文:“回家场景” 英文:“good night mode”
校验和 1 从帧头开始按字节求和得出的结果对256求余

国家码标准,请参考 OEM App 账号所在数据分区参考 中的信息。

例:回家场景,ID为00 01

55 aa 03 66 00 10 00 01 43 4e e5 9b 9e e5 ae b6 e5 9c ba e6 99 af da

Wi-Fi接受到语音模组的文本信息之后,上发到平台进行场景认证是否有效。

Wi-Fi模组返回:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x66
数据长度 2 0x0000
数据 N
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:55 aa 00 66 00 00 65

语音模组查询DP信息

语音模组通过命令字(0x08)主动查询MCU的DP信息,Wi-Fi模组去查询MCU的DP信息,并透传给语音模组。

语音模组发送:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x08
数据长度 2 0x0000
数据 0
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55aa 03 08 0000 0A

Wi-Fi模组答复语音模组。

Wi-Fi模组返回 :

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x08
数据长度 2 0x0000
数据 0
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55aa 00 08 0000 07

IoT模组更新设备联网状态到语音模组

设备联网状态 描述 状态值
状态1 smartconfig配置状态 0x00
状态2 AP配置状态 0x01
状态3 Wi-Fi已配置但未连上路由器 0x02
状态4 Wi-Fi已配置且连上路由器 0x03
状态5 已连上路由器且连接到云端 0x04
状态6 Wi-Fi设备处于低功耗模式 0x05
  • 设备联网状态:
    • 1 smartconfig配置状态
    • 2 AP配置状态
    • 3 Wi-Fi配置成功但未连上路由器
    • 4 Wi-Fi配置成功且连上路由器
    • 5 设备连接到路由器且连接到云端。 “模组自处理”工作模式相应的LED显示分别为:
      • 1 间隔闪烁250ms;
      • 2 间隔闪烁1500ms;
      • 3 长暗状态;
      • 4或5 长亮状态
  • 当模组检测到语音模组重启或语音模组断线再上线的过程,则主动下发Wi-Fi状态至语音模组
  • 当模组的Wi-Fi状态发生变化,则主动下发Wi-Fi状态至语音模组
  • 如设置模组工作模式为“模组自处理”,则语音模组无需实现该协议

Wi-Fi 模组发送:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x03
数据长度 2 0x0001
数据 1 指示Wi-Fi工作状态: 0x00:状态1 0x01:状态2 0x02:状态3 0x03:状态4 0x04:状态5 0x05:状态6
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55aa 00 03 0001 00 03

语音模组返回:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x03
数据长度 2 0x0000
数据 0
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55aa 03 03 0000 05,回复联网状态命令

语音参数设置、查询与上报

  • 扩展语音模组的相关系统功能:增加“播放/暂停、蓝牙开/关、本地闹钟、语音控制组合”功能的状态通知和设置
  • “播放/暂停”功能:音乐、古诗、笑话等功能的播放与暂停功能;
  • “蓝牙开/关”功能:蓝牙音箱的蓝牙开关;
  • “本地闹钟”功能:语音和APP设置的闹钟数据同步通知;
  • “语音控制组合”功能:“上一首”“下一首”等语音控制指令的通知;
  • “mic开/关”功能:打开和关闭麦克风开关、mic状态改变主动上报
  • “音量设置”功能:设置语音模组音量、以及音量改变主动上报

Wi-Fi模组发送:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x65
数据长度 2 xx
数据 1 子命令:0x00
数据 Data: { “mic”:true, “volume”:8, “play”:true, “bt_play”:true, “alarm”:”xxxx”, “ctrl_group”:”xxxx” } mic:麦克风打开/关闭功能 true(打开)/false(关闭) volume:音量大小 范围:0~100 play:播放/暂停功能 true(播放)/false(暂停) bt_play:蓝牙开关功能true(开)/false(关) alarm:本地闹钟功能 “xxx”为字符串 ctrl_group:语音控制组合功能 “xxx”为字符串
校验和 1 从帧头开始按字节求和得出的结果对256求余

语音模组返回:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x65
数据长度 2 0x02
数据 1 子命令:0x00
数据 1 操作结果: 0x00: 成功 0x01: 失败
校验和 1 从帧头开始按字节求和得出的结果对256求余

状态通知,语音模组主动上报参数状态:

语音模组发送:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x65
数据长度 2 1+N
数据 1 子命令:0x01
数据 Data: { “mic”:true, “volume”:8, “play”:true, “bt_play”:true, “alarm”:”xxxx”, “ctrl_group”:”xxxx” } mic:麦克风打开/关闭功能 true(打开)/false(关闭) volume:音量大小 范围:0-10 play:播放/暂停功能 true(播放)/false(暂停) bt_play:蓝牙开关功能true(开)/false(关) alarm:本地闹钟功能 “xxx”为字符串 ctrl_group:语音控制组合功能 “xxx”为字符串
校验和 1 从帧头开始按字节求和得出的结果对256求余

Wi-Fi模组返回:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x65
数据长度 2 2
数据 1 子命令:0x01
数据 1 操作结果: 0x00: 成功 0x01: 失败
校验和 1 从帧头开始按字节求和得出的结果对256求余

状态查询,IoT模组主动查询参数状态:

Wi-Fi发送:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x65
数据长度 2 0x0001
数据 1 子命令:0x02
校验和 1 从帧头开始按字节求和得出的结果对256求余

语音模组返回:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x65
数据长度 2 1+N
数据 1 子命令:0x02
数据 Data: { “mic”:true, “volume”:8, “play”:true, “bt_play”:true, “alarm”:”xxxx”, “ctrl_group”:”xxxx” } mic:麦克风打开/关闭功能 true(打开)/false(关闭) volume:音量大小 范围:0-10 play:播放/暂停功能 true(播放)/false(暂停) bt_play:蓝牙开关功能true(开)/false(关) alarm:本地闹钟功能 “xxx”为字符串 ctrl_group:语音控制组合功能 “xxx”为字符串
校验和 1 从帧头开始按字节求和得出的结果对256求余

查询产品信息

  • 产品信息由硬件版本号、软件版本号构成
  • MCU软件版本号格式定义:采用点分十进制形式,”x.x.x”(0<=x<=99),x为十进制数

Wi-Fi模组发送:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x01
数据长度 2 0x0000
数据 0
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55aa 00 01 0000 00

语音模组返回:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x01
数据长度 2 N
数据 N {“h”:”1.0.0”,“s”:”1.0.0”,“w”:”小智管家”}
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:{“h”:”1.0.0”,“s”:”1.0.0”,“w”:”小智管家”}

产品信息字段说明:

  • 软硬件版本号格式:主版本号 .子版本号.阶段版本号

  • 主版本号 定义: 当模组功能有较大的变动,比如增加多个模组或者整体架构发生变化。此版本号由项目决定是否修改。

  • 子版本号 定义: 当功能有一定的增加或变化,比如增加了对权限控制、增加自定义视图等功能。此版本号由项目决定是否修改。

  • 阶段版本号 定义: 一般是Bug修复或是一些小的变动,要经常发布修订版,时间间隔不限,修复一个严重的Bug即可发布一个修订版。此版本号有项目经理决定是否修改

  • 硬件型号:

    • VCT1模组 :1.0.0 即主版本号为1
    • VCT2模组: 2.0.0 即主版本号为2
  • h表示VCT1模组硬件版本号为1.0.0

  • s表示软件版本号为1.0.0

  • w表示唤醒词为小智管家

DP数据同步到语音模组

  • “状态上报”可含多个datapoint“命令数据单元”
  • Wi-Fi模组更新mcu状态信息到语音模组,譬如mcu湿度为30℃,湿度的对应的DP是5,湿度是指的值为30(0x1e)。
  • 传输数据序列号在重发的数据帧中一致,语音模组可通过序列号判断TTS的播报,避免因ACK未回复造成TTS重复播报。
  • DP数据控制来源:

Wi-Fi模组发送:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x07
数据长度 2 取决于“状态数据单元”类型以及个数“N+3”
数据 2 传输数据序列号 范围 1-0xfff0,到达 0xfff0 之后重新回到 1,确保每个独立帧的 seq 值唯一,应答帧的序列号需要和控制帧保持一致
数据 1 DP数据控制来源 0x00:MCU主动更新 0x01:局域网 0x02:广域网 0x03:本地定时 0x04:广域网场景联动 0x05:可靠的通道 0x06:蓝牙 0x07:本地场景联动 0xF0:离线语音模组 0xF1:其他控制来源
数据 N “dp状态数据单元”组
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:离线语音模组控制的湿度对应5号DP,使用valve型变量,湿度为30℃

0x55aa 03 07 000b 0001 f0 05 02 0004 0000001e 2e

语音模组返回:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x07
数据长度 2 0x0000
数据 0
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:返回静音状态值:55 aa 00 07 00 00 06

音频产测

设置离线语音模组的语音内部环路测试模式。

Wi-Fi模组发送:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x63
数据长度 2 0x0001
数据 1 音频产测值: 0x00: 关闭音频产测; 0x01: mic1音频环路测试; 0x02: mic2音频环路测试; 0xA0: 查询当前产测状态;
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55aa 00 63 0001 01 64

语音模组返回:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x63
数据长度 2 0x0001
数据 1 音频产测状态: 0x00: 关闭音频产测; 0x01: mic1音频环路测试; 0x02: mic2音频环路测试;
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55aa 03 63 0001 01 08,启动mic1音频环路测试

唤醒产测

设置离线语音模组的唤醒测试模式。

Wi-Fi模组发送唤醒产测命令:

Wi-Fi模组发送:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x64
数据长度 2 0x0001
数据 1 子命令:0x00
数据 0
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55aa 00 64 0001 00 03

语音模组返回:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x64
数据长度 2 0x0002
数据 1 子命令:0x00
数据 1 返回: 0x00:启动唤醒产测失败 0x01:启动唤醒产测成功
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55aa 03 64 0001 01 08,启动唤醒产测成功

语音模组唤醒产测结果上报:

语音模组发送:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x64
数据长度 2 0x0002
数据 1 子命令:0x01
数据 1 唤醒返回值: 0x00: 唤醒成功; 0x01: 唤醒失败(10s超时失败);
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55aa 00 64 0001 00 03

Wi-Fi模组返回

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x64
数据长度 2 0x0001
数据 1 子命令:0x01
数据 0
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:0x55aa 03 64 0002 01 00 08,启动唤醒产测成功

平台语音文本(场景)验证结果下发

Wi-Fi模组发送:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x03
命令字 1 0x67
数据长度 2 0x0015
2 传输数据序列号 范围 1-0xfff0,到达 0xfff0 之后重新回到 1,确保每个独立帧的 seq 值唯一,应答帧的序列号需要和控制帧保持一致[H1]
1 场景平台验证的结果: 01:验证成功 00:验证失败
2 语音场景ID,对应唯一的场景,例如“回家场景”对应ID为00 01
数据 N 数据限制总数据长度不超过256bytes: 例如: 中文:“回家场景” 英文:“good night mode”
校验和 1 从帧头开始按字节求和得出的结果对256求余

例:返回“回家场景”验证结果:

55 aa 00 67 00 11 00 01 01 00 01 e5 9b 9e e5 ae b6 e5 9c ba e6 99 af 4a

这个就代表“回家场景”平台验证成功。

语音模组返回:

字段 字节数 说明
帧头 2 0x55aa
版本 1 0x00
命令字 1 0x67
数据长度 2 0x0000
数据 N
校验和 1 从帧头开始按字节求和得出的结果对256求余