跳转到主要内容

配网协议说明

wifi名称:WT2, 密码:19991999为例, APP发送数据0x7e001700000159de0d0003575432083139393931393939fcef

字节序号 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 示例解析0x7e001700000159de0d0003575432083139393931393939fcef
byte0 包头:7E 7E包头
byte1 0表示帧数据长度以实际数据长度为准;
1-65535范围:表示整包数据长度(7E到EF的总长度-2)
比如:0x0017=23字节, 加上包头和包尾两字节, 总长度25字节
0x00
byte2 0x17
byte3 流水号,每次一帧数据自动加1,避免接收重复的数据.相同流水号的数据为重复数据应做丢弃 流水号0x00
byte4 高4位表示总包数,
若该包数据不希望对应应答则填0x00
低四位表示当前是第几包.
若该包数据不希望对应应答则填0x00
0x00; 目前没有作用.以固定为00
byte5 标记数据来源,接收方将根据该标识做对应的回应.
0x01:手机端
0x02:蓝牙端
0x03:UART端
0x04:XXXX端
0x05:XXXX端
0x06:XXXX端
0x01手机端
byte6 指令唯一标志.0x59de表示蓝牙wifi配网 0x59
byte7 0xDE
byte8 数据长度;表示从此开始到检验和的字节长度;  0x000d=13
byte9
byte10 wifi名称的字节长度n n为wifi名称的字节长度; 0x03表示长度为3
byte10+1 wifi名称, utf8编码,不定长 0x575421的utf8编码为WT2, 即wifi名称为WT2
byte10+...
byte10+n
byte10+n+1 wifi密码的字节长度:m m为密码的字节长度, 0x08表示密码长度为8
byte10+n+1+1 wifi密码, 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 包尾:EF 0XEF为包尾

下位机返回数据

字节序号 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 示例0x7e000b00000259df00010046ef
byte0 包头:7E 7E包头
byte1 0表示帧数据长度以实际数据长度为准;
1-65535范围:表示整包数据长度(7E到EF的总长度-2)
比如:0x0017=23字节, 加上包头和包尾两字节, 总长度25字节
0x00
byte2 0x0b=13
byte3 流水号,每次一帧数据自动加1,避免接收重复的数据.相同流水号的数据为重复数据应做丢弃 流水号0x00
byte4 高4位表示总包数,
若该包数据不希望对应应答则填0x00
低四位表示当前是第几包.
若该包数据不希望对应应答则填0x00
0x00; 目前没有作用.以固定为00
byte5 标记数据来源,接收方将根据该标识做对应的回应.
0x01:手机端
0x02:蓝牙端
0x03:UART端
0x04:XXXX端
0x05:XXXX端
0x06:XXXX端
0x02蓝牙端
byte6 指令唯一标志.0x59de表示蓝牙wifi配网 0x59
byte7 0xDF
byte8 数据长度;表示从此开始到检验和的字节长度; 0x0001=1
byte9
byte10 0x00成功. 0x01失败 00成功
byte11 检验和; 从byte1开始到此的字节相加之和, 然后最低8位. 0x46由此计算而来:(0x00+0x0b+0x........+0x59+0xdf+0x01+0x00) & 0xff
byte12 包尾:EF 0XEF为包尾