1. 对接设备端:包括设备型号,对接方式,采集内容,使用数采网关或者编写程序,并接上设备进行测试
采集内容范例:
中堡泵站3路闸门点位表 IP:192.181.5.132 端口:502 | ||||
数据源 | 数据类型 | Modbus地址 | R/W | 备注 |
1#闸门状态(出水闸) | short | 400101 | R | 0=停止 1=开到位 2=关到位 3=开启中 4=关闭中 5=过载 |
液位计通讯状态 | short | 400171 | R | 0=正常 1=通讯断线 |
1#闸门开度 | float | 400201 | R | 0.000米 |
阀门检修井液位高度 | float | 400263 | R | 0.000米 |
1#供水泵瞬时流量 | short | 400363 | R | 实际值=采集值/100 |
2. 对接服务端:MQTT对接信息、MQTT消息主题定义、MQTT通信报文定义
MQTT对接信息
IP:192.168.0.235
端口:61613
账号:admin
密码:admin
MQTT Version:3.1
MQTT 消息主题定义
主题格式定义:前缀编码/TAG
方式1:区分主题,TAG标记为CLIENTID(可变),适用于设备与控制端交互,由控制端发起
CLIENTID可以有以下类型
用户商 ID:编码自行定义(如:1001)
设备的 ID:采用 IMEI 号(如:868739058068770)
方式2:公用主题,TAG标记为IOT(固定),适用于客户端和服务端交互,由客户端发起
MQTT通信报文定义
消息格式定义
名称 | 说明 | 类型 | 备注 |
c | 【code】简写 | int32 | 通讯指令 |
f | 【from】简写 | string | 发送方 ID |
t | 【to】简写 | string | 接收送方ID |
m | 【message】简写 | string | 消息内容 |
mi | 【message id】简写 | int32 | 标识每条消息自动+1 |
指令c说明
名称 | 说明 |
c=21 | c->s,采集端上报数采数据,报文1 |
c=22 | s->c,服务端下发控制指令,报文2 |
报文1说明
jsonkey值 | 类型 | 说明 |
itemcode | string | 采集项编码 |
itemvalue | string | 采集项采集值 |
time | string | 采集时间 |
报文范例:
{"c":21,"f":"CQAZ01","t":"865373043994156","m":{"itemcode":"","itemvalue":"1","time":"2024-03-13 00:00:00"},"mi":1}