# 配网协议说明
wifi名称:WT2, 密码:19991999为例, APP发送数据`0x7e001700000159de000d03575432083139393931393939fcef` 当前wifi模块只能用于2.4g, 不适用于5g; 具体以产品实际为准. **注意:手机作为热点进行测试时, 手机热点默认是5G, 需要手动修改为2.4G**
蓝牙通讯写数据的UUID为`0000c303-0000-1000-8000-00805f9b34fb` 蓝牙通讯接收数据的UUID`0000c305-0000-1000-8000-00805f9b34fb`
字节序号bit7bit6bit5bit4bit3bit2bit1bit0示例解析0x7e001700000159de000d03575432083139393931393939fcef
byte0包头:7E7E包头
byte10表示帧数据长度以实际数据长度为准; 1-65535范围:表示整包数据长度(7E到EF的总长度-2) 比如:0x0017=23字节, 加上包头和包尾两字节, 总长度25字节0x00
byte20x17
byte3流水号,每次一帧数据自动加1,避免接收重复的数据.相同流水号的数据为重复数据应做丢弃流水号0x00
byte4高4位表示总包数, 若该包数据不希望对应应答则填0x00低四位表示当前是第几包. 若该包数据不希望对应应答则填0x000x00; 目前没有作用.以固定为00
byte5标记数据来源,接收方将根据该标识做对应的回应. 0x01:手机端 0x02:蓝牙端 0x03:UART端 0x04:XXXX端 0x05:XXXX端 0x06:XXXX端0x01手机端
byte6指令唯一标志.0x59de表示蓝牙wifi配网0x59
byte70xDE
byte8数据长度;表示从此开始到检验和的字节长度; 大端0x000d=13;表示接下来的数据长度为13
byte9
byte10wifi名称的字节长度nn为wifi名称的字节长度; 0x03表示长度为3
byte10+1wifi名称, utf8编码,不定长0x575432的utf8编码为WT2, 即wifi名称为WT2
byte10+...
byte10+n
byte10+n+1wifi密码的字节长度:mm为密码的字节长度, 0x08表示密码长度为8
byte10+n+1+1wifi密码, utf8编码,不定长0x3139393931393939的utf8编码为19991999; 即wifi密码为19991999
byte10+n+1+...
byte10+n+1+m
byte10+n+1+m+1检验和; 从byte1开始到此的字节相加之和, 然后最低8位.0xfc由此计算而来:(0x00+0x17+0x........+0x39) & 0xff
byte10+n+1+m+2包尾:EF0XEF为包尾
下位机返回数据
字节序号bit7bit6bit5bit4bit3bit2bit1bit0示例解析0x7e000b00000259df00010046ef
byte0包头:7E7E包头
byte10表示帧数据长度以实际数据长度为准; 1-65535范围:表示整包数据长度(7E到EF的总长度-2) 比如:0x0017=23字节, 加上包头和包尾两字节, 总长度25字节0x00
byte20x0b=13
byte3流水号,每次一帧数据自动加1,避免接收重复的数据.相同流水号的数据为重复数据应做丢弃流水号0x00
byte4高4位表示总包数, 若该包数据不希望对应应答则填0x00低四位表示当前是第几包. 若该包数据不希望对应应答则填0x000x00; 目前没有作用.以固定为00
byte5标记数据来源,接收方将根据该标识做对应的回应. 0x01:手机端 0x02:蓝牙端 0x03:UART端 0x04:XXXX端 0x05:XXXX端 0x06:XXXX端0x02蓝牙端
byte6指令唯一标志.0x59df表示蓝牙wifi配网结果0x59
byte70xDF
byte8数据长度;表示从此开始到检验和的字节长度;0x0001=1;表示接下来的数据长度为1
byte9
byte100x00成功. 0x01失败00成功
byte11检验和; 从byte1开始到此的字节相加之和, 然后最低8位.0x46由此计算而来:(0x00+0x0b+0x........+0x59+0xdf+0x01+0x00) & 0xff
byte12包尾:EF0XEF为包尾