设备采集网关通信范本(modbus+mqtt)

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 消息主题定义

主题格式定义:

 

方式1:以客户端划分,前缀编码/CLIENTID,多用于client间通信

 

CLIENTID可以有以下类型

用户商 ID:编码自行定义(如:1001)

设备的 ID:采用 IMEI 号(如:868739058068770)

 

PTZN/1001

PTZN/868739058068770

 

方式2: 以功能划分,前缀编码/up/**,前缀编码/down/**,多用于clien和server间通信

 

btioe/up/#{imei}

btioe/down/#{imei}

 

Server通过消息过滤通配符号#(btioe/up/#),监听所有上行数据

 

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

采集时间

 

报文2说明

jsonkey值

类型

说明

code

string

响应码

message

string

响应信息

data

string

响应数据

 

报文范例:

 

上行数据 Topic: btioe/up/865373043994156

{"c":21,"f":"865373043994156","t":"master","m":{"itemcode":"","itemvalue":"1","itemtime":"2024-03-13 00:00:00"},"mi":1}

 

下行数据 Topic: btioe/down/865373043994156

{"c":22,"f":"master","t":"865373043994156","m":{"code":1,"message":"ok","data":null},"mi":1}

 

 

mqtt数据持久化,接收离线数据

MQTT 持久会话与 Clean Session 详解 | EMQ (emqx.com)

 

posted @ 2024-03-13 14:07  CHHC  阅读(40)  评论(0编辑  收藏  举报