一、连接

连接id 和用户名为设备imei号

二、主题订阅

设备订阅主题为server/{imei} imei:设备号

设备发布主题为client/message

客户端所有action 开头为 client

服务端所有action 开头为 server

  1. 线上投放,下位机判断当前订单开箱是否正在使用,正在使用返回繁忙以及其他故障。一次操作只下发一次

消息主体:

服务端下发:{ “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:其他

}

}

  1. 设备投放反馈

    设备端反扫码、线上下发、ic卡读取卡号,投放后返回投放信息。服务端返回收到信息(1s内),设备未收到回复再次返回,最多重复返回2次,time唯一标识要保持一致。

    消息主体:{

“action”: “vending.garbage.out”,

“data”: {

“cardNo”:”1234567890”, // 10位卡号

“type”:1, // 垃圾箱 1:可回收垃圾 2:有害垃圾 3:厨余垃圾 4:其他垃圾

“weight”:10, // 投放重量 单位 g

“time”: “20210821121210”, // 系统当前时间 下发的唯一标识或下位机随机生成拼接

}

}

  1. 服务端投放反馈

服务端收到投放订单后回复设备端

消息主体:{

“action”: “vending.garbage.out.back”,

“data”: {

“time”: “20210821121210”, // 设备端返回的唯一标识

}

}

二、设备信息上报

设备连接时、信息改变时上报(信号值改变、温度等)设备信息

消息主体:{

  1. action: 'vending.connect.info', // vending.connect.info 设备信息上报

data:{

network: 1, // 网络类型 1:wifi 2:gprs 默认2

version: ‘1.0.0’, // 设备软件版本

  1. connect: 1, // 串口通信状态 0:未连接 1:正常
  2. signal: 30, // 设备信号值 0~32

cardNo: ‘’89860469101981164089”, // 流量卡号

hardware: 1, // 设备平台信息 1:单片机 2:android

model: 1, //设备类型 1:垃圾箱

}

  1. }

三、垃圾箱信息上报

首次连接、垃圾箱容量改变时上报

设备信息主体:{

  1. action: 'vending.garbage.status',
  2. data: {

value:[0,0,0,0], // 垃圾箱容量, 百分比 数组下标表示第几个垃圾箱,0 表示第一个垃圾

  1. classify:[1,2,3,4], // 垃圾箱分类, 数组下标表示第几个垃圾箱,0 表示第一个垃圾。值为垃圾箱的分类 1:可回收垃圾 2:有害垃圾 3:厨余垃圾 4:其他垃圾

}

}

四、垃圾箱烟感火灾报警

设备达到报警条件后上报服务器,有火灾时设备不能使用,有火灾时 每隔10s上报一次,上报次数累加,直到警报解除

设备信息主体:{

  1. action: 'vending.garbage.fire',
  2. times:1, // 上报次数 值为0时表示警报解除,
  3. }