蓝牙MESH模块串口透传协议-偶忆科技(深圳).PDF
偶忆科技 ,蓝牙 MESH模块 串口透传协议
命令的发送和应答格式约定 下 :
|帧头|命令码|参数长度|参数|SUM|
4F-45-6F-651Byte1Byte变长 和校验
注1 :和校验范围是从命令码到整个参数 ,下面介绍中没有展示出来 ,一定要加上。
注2 :参数长度域为1个Byte ,约定本条命令的参数长度 ,由于蓝牙MESH的通信能力有限 ,单个数据包正常不要超过64个Byte ,超过
请进行分包通信。
注3 :与蓝牙MESH模块的串口通信波特率为115200。
注4 :支持的命令码 下 :
#define UART_MESH_COMMAND_CODE_HEART0x00 心跳命令
#define UART_MESH_COMMAND_CODE_HEART_REPLY 0x01 心跳命令应答
#define UART_MESH_COMMAND_CODE_SEND 0x02 数据发送
#define UART_MESH_COMMAND_CODE_SEND_REPLY 0x03 数据发送应答
#define UART_MESH_COMMAND_CODE_RECV 0x04 数据接收
#define UART_MESH_COMMAND_CODE_RECV_REPLY0x05 数据接收应答
#define UART_MESH_COMMAND_CODE_GET_INFO 0x06 获取信息
#define UART_MESH_COMMAND_CODE_GET_INFO_REPLY0x07 获取信息应答
#define UART_MESH_COMMAND_CODE_SET_WIFI 0x08 设置WIFI
#define UART_MESH_COMMAND_CODE_SET_WIFI_REPLY0x09 设置WIFI应答
#define UART_MESH_COMMAND_CODE_RESET0x0A 设备复位
#define UART_MESH_COMMAND_CODE_RESET_REPLY0x0B 设备复位应答
#define UART_MESH_COMMAND_CODE_ENTER_LP0x0C // 进入低功耗
#define UART_MESH_COMMAND_CODE_ENTER_LP_REPLY0x0D // 进入低功耗应答
#define UART_MESH_COMMAND_CODE_LEAVE_LP0x0E // 结束低功耗
#define UART_MESH_COMMAND_CODE_LEAVE_LP_REPLY0x0F // 结束低功耗应答
#define UART_MESH_COMMAND_CODE_ERROR0xFF// 错误
#define UART_MESH_ERROR_CODE_NO_ERROR0x00 // 无错误
#define UART_MESH_ERROR_CODE_PACKAGE_HEAD_ERR --0x01 // 错误码 :帧头错误
#define UART_MESH_ERROR_CODE_DATA_SENDING_ERR0x02 // 错误码 :设备忙碌
#define UART_MESH_ERROR_CODE_DATA_TOO_MANY0x03 // 错误码: 数据太多
#define UART_MESH_ERROR_CODE_CHECK_SUM_ERR0x04 // 错误码: 和校验错误
注5 :遇到问题 ,请特别注意以下几点
第1 ,确保UART的波特率是115200 ;
第2 ,确保和校验为正确 ,至少要保证心跳命令能够正常收发。
第3 , 果不想用和校验 ,直接将命令码的最高位置1 ,模块接收时将不进行和校验。例 ,心跳命令码是0x00 ,不进行和校验的
命令码是0x80 ;
第4 ,设备需要入网才能够实现互相组网和数据转发 ,请先用APP进行入网 ,可以通过
UART_MESH_COMMAND_CODE_GET_INFO命令获取数据。
1 ,UART_MESH_COMMAND_CODE_HEART :心跳通信
命令方向 :双向