配网协议说明
示例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为包尾 |