Modbus物联网平台设备添加教程
1 系統(tǒng)概念
1.1 協(xié)議概念
- 日常使用中,我們所談?wù)摰膮f(xié)議主要分為兩種,一為通訊協(xié)議,這個(gè)是網(wǎng)絡(luò)傳輸層的概念,目前市面上用的到普遍有TCP、MQTT、DUP和HTTP等,
- 另一種為設(shè)備協(xié)議,設(shè)備協(xié)議所指設(shè)備發(fā)送數(shù)據(jù)格式的規(guī)約(如ModbusRTU),目前通訊協(xié)議是統(tǒng)一一致的,設(shè)備協(xié)議存在多樣性,目前市面存在各種各樣的設(shè)備協(xié)議,modbus算當(dāng)中用的比較多一些的。
1.2設(shè)備號(hào)
- 設(shè)備號(hào)[device_code]它是指的負(fù)責(zé)連接網(wǎng)絡(luò)的設(shè)備唯一SN號(hào),區(qū)分不同設(shè)備連接上來(lái)。
- 如下圖:它可以自動(dòng)生成,也可以手動(dòng)填入,格式可以為數(shù)字也可以為字符串;
圖a系統(tǒng)中設(shè)備號(hào)位置
1.3地址號(hào)和寄存器號(hào)
- 地址號(hào)[sensor_device_id]和寄存器號(hào)[port_id],它的作用主要是用來(lái)區(qū)分設(shè)備傳輸?shù)臄?shù)據(jù)。它支持一臺(tái)網(wǎng)關(guān)設(shè)備下傳輸多個(gè)不同地址傳感器,也可以為一臺(tái)網(wǎng)關(guān)設(shè)備下傳輸多種傳感器數(shù)據(jù)。地址號(hào)主要用來(lái)區(qū)分不同傳感器設(shè)備的,寄存器號(hào)是用來(lái)標(biāo)注同一臺(tái)傳感器設(shè)備不同的數(shù)據(jù)類型的。
圖b添加傳感點(diǎn)中地址號(hào)和寄存器號(hào)
2 TCP連接協(xié)議
2.1MLINK協(xié)議
- MLINK 協(xié)議(小名協(xié)議)是使用字符流格式的數(shù)據(jù)協(xié)議,目前數(shù)據(jù)協(xié)議包含登錄包、心跳包、數(shù)據(jù)上傳、控制下發(fā)、控制返回,配置下發(fā)、配置返回等數(shù)據(jù)指令。
●登錄包(設(shè)備 - > 服務(wù)器)【首次建立 TCP 連接發(fā)送】
[device_code]
例子:1u76yshydtdhh?,其中?1u76yshydtdhh?為設(shè)備 SN 號(hào);
設(shè)備返回:
loginok
登錄成功
●心跳包(設(shè)備 - > 服務(wù)器)維持 TCP 連接,設(shè)備偏好發(fā)送
Q
固定格式
●上傳傳感點(diǎn)數(shù)據(jù)(設(shè)備 - > 服務(wù)器)
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 地址號(hào)
port_id 寄存器號(hào)
value 數(shù)值
單經(jīng)緯度上傳: S1:3*119.5107+31.64459E
備注:其中 GPS 經(jīng)緯度數(shù)值,用+連接在一起;
服務(wù)器收到數(shù)據(jù)成功后,返回?rok?。
●服務(wù)器下發(fā) 控制/配置 命令(服務(wù)器 - > 設(shè)備)
S[sensor_device_id]:[port_id]*[value]E
例子:S1:0*0E
備注:按鈕開關(guān)命令,0 為關(guān),1 為開;
●設(shè)備接收命令返回(設(shè)備 -> 服務(wù)器)
S[sensor_device_id]:[port_id]*[value]E
例子:S1:0*0E
2.2 Modbus RTU 協(xié)議(標(biāo)準(zhǔn))
- 系統(tǒng)兼容標(biāo)準(zhǔn)的 modbus RTU 協(xié)議。
- DTU 配置時(shí),需要配置成透?jìng)髂J?#xff0c;并且設(shè)置自定義注冊(cè)包,注冊(cè)包為設(shè)備的 SN 即可;
- 連接地址: cloud.modbus.cn(或者對(duì)應(yīng) IP)
- 端口:50001
2.3 Modbus TCP 協(xié)議(標(biāo)準(zhǔn))
- 系統(tǒng)兼容標(biāo)準(zhǔn)的 modbus TCP 協(xié)議。
- DTU 配置時(shí),需要配置成透?jìng)髂J?#xff0c;并且設(shè)置自定義注冊(cè)包,注冊(cè)包為設(shè)備的 SN 即可;
- DTU 需設(shè)置 modbus 模式
- 連接地址: cloud.modbus.cn(或者對(duì)應(yīng) IP)
- 端口:50001
2.4 環(huán)境 212 標(biāo)準(zhǔn)
- 系統(tǒng)支持 GB-HJ212 協(xié)議。
- 連接地址: cloud.modbus.cn(或者對(duì)應(yīng) IP)
- 端口:50001
- 數(shù)據(jù)配置格式如下,地址號(hào)填寫類型,寄存器號(hào)默認(rèn)為 0
3 MQTT 連接協(xié)議
3.1 MLINK MQTT
Broker Address:cloud.modbus.cn
Broker Port:1883
Client ID:[device_code] [設(shè)備號(hào)]
User Name:modbus
Password:modbus
●客戶端 -> 服務(wù)器
客戶端發(fā)布到下方主題數(shù)據(jù)
Topic:/dev/coo/[device_code]
數(shù)據(jù)格式:
[{"sensor_device_id":0,"port_id":0,"sdata":1.0},
{"sensor_device_id":1,"port_id":1,"sdata":18.3}]
sensor_device_id 地址號(hào)
port_id 寄存器號(hào)
Sdata 數(shù)據(jù)數(shù)值
●服務(wù)器 -> 客戶端
客戶端關(guān)注下方主題,服務(wù)器推送數(shù)據(jù)
Topic:/server/coo/[device_code]
數(shù)據(jù)格式:
{"sensor_device_id":0,"port_id":0,"sdata":0.0}
sensor_device_id 地址號(hào)
port_id 寄存器號(hào)
Sdata 傳感器數(shù)值
備注:如果是繼電器開關(guān)的話,則 0 關(guān)閉,1 打開;
3.2 ZLAN MQTT
Broker Address:cloud.modbus.cn
Broker Port:1883
Client ID:[device_code] [設(shè)備號(hào)]
User Name:modbus
Password:modbus
●客戶端 -> 服務(wù)器
客戶端發(fā)布到下方主題數(shù)據(jù)
Topic:/dev/coo/[device_code]
數(shù)據(jù)格式:
{
"[sensor_device_id]-[port_id]": sdata,
"[sensor_device_id]-[port_id]": sdata
}
如: { “1-0”: 1 , “1-1”:34.6 }
sensor_device_id 地址號(hào)
port_id 寄存器號(hào)
Sdata 數(shù)據(jù)數(shù)值
?
服務(wù)器 -> 客戶端
客戶端關(guān)注下方主題,服務(wù)器推送數(shù)據(jù)
Topic:/server/coo/[device_code]
數(shù)據(jù)格式:
{ "[sensor_device_id]-[port_id]": sdata }
如:
{ “1-0”: 1 }
sensor_device_id 地址號(hào)
port_id 寄存器號(hào)
Sdata 傳感器數(shù)值
備注:如果是繼電器開關(guān)的話,則 0 關(guān)閉,1 打開;
總結(jié)
以上是生活随笔為你收集整理的Modbus物联网平台设备添加教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: grub4dos引导启动linux,gr
- 下一篇: eclipse打开中文文件乱码问题