协议格式
1、服务器下发MQTT指令,一般是JSON格式
2、机柜回复执行结果,一般是Hex格式
3、设备鉴权、初始化配置、在线升级,整机上报、更新屏幕广告服务器需提供HTTP API接口
指令下发 ▼
订阅主题:/powerbank/{uuid}/user/get
数据格式:JSON字符串
名称 | 标识代码 | 数据类型 | 备注 |
---|---|---|---|
指令名称 | cmd | string | 命令名称 |
指令数据 | data | string | 命令数据 |
主控板串口 | io | string | 默认:0; 范围:0-1 |
示例,发送指令,弹出2号仓位
{ "cmd":"popup", "data":"2", "io":"0" }
设备回复 △
发布主题:/powerbank/{uuid}/user/update
数据格式:字节码数据,Hex,16进制解析
字节码 | 名称 | 标识代码 | 备注 |
---|---|---|---|
Byte[0] | 头码 | head | 默认:0xA8 |
Byte[1~2] | 包长度 | length | 例如:0x00 0x14,转10进制,包长度为20 |
Byte[3] | 指令名称 | cmd | 例如:0x21, 表示设备回复:仓位弹出结果 |
Byte[4~n] | 自定义数据 | data | 根据不同指令,上报不同数据 |
Byte[n+1] | 校验码 | verify | 数据包补码校验 |
示例:回复弹出2号仓结果
A8 00 14 21 10 01 01 02 00 00 00 00 00 00 00 00 00 00 00 00
json
A8 ------------------------------------------------------ Byte[0] 头码
00 14 --------------------------------------------------- Byte[1~2] 包长度:20
21 ------------------------------------------------------ Byte[3] 上报指令名称
10 01 01 02 00 00 00 00 00 00 00 00 00 00 00 ------------ Byte[4~n] 自定义数据
00 ------------------------------------------------------ Byte[n+1] 校验码