一、连接
连接id 和用户名为设备imei号
二、主题订阅
设备订阅主题为server/{imei} imei:设备号
设备发布主题为client/message
客户端所有action 开头为 client
服务端所有action 开头为 server
- 线上投放,下位机判断当前订单开箱是否正在使用,正在使用返回繁忙以及其他故障。一次操作只下发一次
消息主体:
服务端下发:{ “action”: “vending.garbage.put”,
“data”: {
“cardNo”:”1234567890”, // 10位卡号
“type”:1, // 垃圾箱 1:可回收垃圾 2:有害垃圾 3:厨余垃圾 4:其他垃圾
“time”: “20210821121210”, // 系统当前时间 2021-08-21 12:12:10
}
}
设备端反馈:{
“action”: “vending.garbage.put.back”,
“data”: {
“time”: “20210821121210”, // 系统当前时间 下发唯一标识
“status”: 1, 1:下发成功,开始开柜 2:设备繁忙 3:设备故障 4:分类不存在 5:其他
}
}
设备投放反馈
设备端反扫码、线上下发、ic卡读取卡号,投放后返回投放信息。服务端返回收到信息(1s内),设备未收到回复再次返回,最多重复返回2次,time唯一标识要保持一致。
消息主体:{
“action”: “vending.garbage.out”,
“data”: {
“cardNo”:”1234567890”, // 10位卡号
“type”:1, // 垃圾箱 1:可回收垃圾 2:有害垃圾 3:厨余垃圾 4:其他垃圾
“weight”:10, // 投放重量 单位 g
“time”: “20210821121210”, // 系统当前时间 下发的唯一标识或下位机随机生成拼接
}
}
- 服务端投放反馈
服务端收到投放订单后回复设备端
消息主体:{
“action”: “vending.garbage.out.back”,
“data”: {
“time”: “20210821121210”, // 设备端返回的唯一标识
}
}
二、设备信息上报
设备连接时、信息改变时上报(信号值改变、温度等)设备信息
消息主体:{
action: 'vending.connect.info', // vending.connect.info 设备信息上报
data:{
network: 1, // 网络类型 1:wifi 2:gprs 默认2
version: ‘1.0.0’, // 设备软件版本
connect: 1, // 串口通信状态 0:未连接 1:正常
signal: 30, // 设备信号值 0~32
cardNo: ‘’89860469101981164089”, // 流量卡号
hardware: 1, // 设备平台信息 1:单片机 2:android
model: 1, //设备类型 1:垃圾箱
}
}
三、垃圾箱信息上报
首次连接、垃圾箱容量改变时上报
设备信息主体:{
action: 'vending.garbage.status',
data: {
value:[0,0,0,0], // 垃圾箱容量, 百分比 数组下标表示第几个垃圾箱,0 表示第一个垃圾
classify:[1,2,3,4], // 垃圾箱分类, 数组下标表示第几个垃圾箱,0 表示第一个垃圾。值为垃圾箱的分类 1:可回收垃圾 2:有害垃圾 3:厨余垃圾 4:其他垃圾
}
}
四、垃圾箱烟感火灾报警
设备达到报警条件后上报服务器,有火灾时设备不能使用,有火灾时 每隔10s上报一次,上报次数累加,直到警报解除
设备信息主体:{
action: 'vending.garbage.fire',
times:1, // 上报次数 值为0时表示警报解除,
}