通信协议使用格式为json类型 。
id:分三段 (每段长度暂定,如果有问题可以更改)
- 8位:网关id
- 4位:cc2530id
- 4位:传感器id
type键值对分为:s,c,g,m
s:代表传感器上报的报文
c:代表控制报文
m:代表mqtt相关
上传报文
stype:长度四位 :
- temp :代表温度
- humi :代表湿度
- smok :代表烟雾浓度
- prox :代表人体接近开关
- rout :代表巡检
- upsd :代表ups电源
data :是数据内容,长度是三位,不足用0补满;
** 例如上报温度的报文如下:**
{
"id": "1234567812341234",
"type": "s",
"stype": "temp",
"data": "025"
}
控制报文
ctype:长度四位 :
- door :代表门禁
- airc : 代表空调
data :是控制信号,长度是三位,不足用0补满;开:100 关:000
time :时间,控制报文发送的时间
例如控制门禁开的报文为
{
"id": "1234567812341234",
"type": "c",
"ctype": "door",
"data": "100"
}
订阅设备报文
mtype 长度是四位 类型:
- madd 添加
- remo 删除
- repl 修改
pre aft 没有用0补满
例如修改订阅话题报文
{
"id": "1234567812341234",
"type": "m",
"mtype": "repl",
"pre": "12345678",
"aft": "87654321"
}
备注:
- c语言中string库中的 indexof 和 substr 的组合也可以方便用来解析。
网友评论