- 1. 1 system概念
- 2. 1.1 协议概念
- 3. 1.2设备号
- 4. 1.3address号和Register number
- 5. 2 TCPconnect协议
- 6. 2.1MLINK协议
- 7. 2.2 Modbus RTU 协议(标准)
- 8. 2.3 Modbus TCP 协议(标准)
- 9. 2.4 环境 212 标准
- 10. 3 MQTT connect协议
- 11. 3.1 MLINK MQTT
- 12. 3.2 ZLAN MQTT
1 system概念
1.1 协议概念
- 日常使用中,我们所谈论的协议主要分为两种,一为通讯协议,这个是网络传输层的概念,目前市面上用的到普遍有TCP、MQTT、DUP和HTTP等,
- 另一种为设备协议,设备协议所指设备senddata format的规约(如ModbusRTU),目前通讯协议是统一一致的,设备协议existence多样性,目前市面existence各种各样equipment协议,modbus算当中用的比较多一些的。
1.2设备号
- 设备号[device_code]它是指的负责connect网络equipment唯一SN号,区分不同设备connect上来。
- 如下图:它可以自动生成,也可以手动填入,format可以为数字也可以为字符串;

1.3address号和Register number
- address号[sensor_device_id]和Register number[port_id],它的作用主要是用来区分设备传输的data。它支持一台网关设备下传输多个不同address传感器,也可以为一台网关设备下传输多种传感器data。address号主要用来区分不同传感器设备的,Register number是用来标注同一台传感器设备不同的data type的。

2 TCPconnect协议
2.1MLINK协议
- MLINK 协议(小名协议)是使用字符流format的data协议,目前data协议包含Login包、心跳包、data上传、控制下发、控制返回,配置下发、配置返回等data指令。
●Login包(设备 – > 服务器)【首次建立 TCP connectsend】
[device_code]
例子:1u76yshydtdhh ,其中 1u76yshydtdhh 为设备 SN 号;
设备返回:
loginok
Login成功
●心跳包(设备 – > 服务器)维持 TCP connect,设备偏好send
Q
固定format
●上传传感点data(设备 – > 服务器)
S[sensor_device_id]:[port_id]*[value],[sensor_device_id]:[port_id]*[value]E
例子:S1:0*12.5,1:1*-0.05,1:2*1,1:3*119.5107+31.64459E
sensor_device_id address号
port_id Register number
value numerical value
单经纬度上传: S1:3*119.5107+31.64459E
备注:其中 GPS 经纬度numerical value,用+connect在一起;
服务器收到data成功后,返回 rok 。
●服务器下发 控制/配置 命令(服务器 – > 设备)
S[sensor_device_id]:[port_id]*[value]E
例子:S1:0*0E
备注:buttonswitch命令,0 为关,1 为开;
●设备receive命令返回(设备 -> 服务器)
S[sensor_device_id]:[port_id]*[value]E
例子:S1:0*0E
2.2 Modbus RTU 协议(标准)
- system兼容标准的 modbus RTU 协议。
- DTU 配置时,需要配置成透传模式,并且设置CustomizationRegister包,Register包为设备的 SN 即可;
- connectaddress: cloud.modbus.cn(或者对应 IP)
- 端口:50001
2.3 Modbus TCP 协议(标准)
- system兼容标准的 modbus TCP 协议。
- DTU 配置时,需要配置成透传模式,并且设置CustomizationRegister包,Register包为设备的 SN 即可;
- DTU 需设置 modbus 模式
- connectaddress: cloud.modbus.cn(或者对应 IP)
- 端口:50001
2.4 环境 212 标准
- system支持 GB-HJ212 协议。
- connectaddress: cloud.modbus.cn(或者对应 IP)
- 端口:50001
- data配置format如下,address号填写Type,Register number默认为 0

3 MQTT connect协议
3.1 MLINK MQTT
Broker Address:cloud.modbus.cn
Broker Port:1883
Client ID:[device_code] [设备号]
User Name:modbus
Password:modbus
●客户端 -> 服务器
客户端发布到下方主题data
Topic:/dev/coo/[device_code]
Data format:
[{“sensor_device_id”:0,”port_id”:0,”sdata”:1.0},
{“sensor_device_id”:1,”port_id”:1,”sdata”:18.3}]
sensor_device_id address号
port_id Register number
Sdata datanumerical value
●服务器 -> 客户端
客户端关注下方主题,服务器推送data
Topic:/server/coo/[device_code]
Data format:
{“sensor_device_id”:0,”port_id”:0,”sdata”:0.0}
sensor_device_id address号
port_id Register number
Sdata 传感器numerical value
备注:如果是继电器switch的话,则 0 Close,1 打开;
3.2 ZLAN MQTT
Broker Address:cloud.modbus.cn
Broker Port:1883
Client ID:[device_code] [设备号]
User Name:modbus
Password:modbus
●客户端 -> 服务器
客户端发布到下方主题data
Topic:/dev/coo/[device_code]
Data format:
{
“[sensor_device_id]-[port_id]”: sdata,
“[sensor_device_id]-[port_id]”: sdata
}
如: { “1-0”: 1 , “1-1”:34.6 }
sensor_device_id address号
port_id Register number
Sdata datanumerical value
服务器 -> 客户端
客户端关注下方主题,服务器推送data
Topic:/server/coo/[device_code]
Data format:
{ “[sensor_device_id]-[port_id]”: sdata }
如:
{ “1-0”: 1 }
sensor_device_id address号
port_id Register number
Sdata 传感器numerical value
备注:如果是继电器switch的话,则 0 Close,1 打开;
发表回复