ThingsKit设备接入案例-潍微牌水表-边缘网关-MQTT接入ThingsKit


潍微牌水表-边缘网关-MQTT接入ThingsKit

ThingsKit设备接入案例-潍微牌水表-边缘网关-MQTT接入ThingsKit

1、准备工作

本次测试所需硬件为纵横边缘网关(本次测试型号为EG8000),潍微牌水表DN40、RS485转USB串口工具以及各类线材:

ThingsKit设备接入案例-潍微牌水表-边缘网关-MQTT接入ThingsKit

潍微牌水表DN40,型号:DN40

ThingsKit设备接入案例-潍微牌水表-边缘网关-MQTT接入ThingsKit

纵横边缘网关(本次测试使用),型号:EG8000

购买咨询地址:

RS485转USB工具,需自行购买

ThingsKit设备接入案例-潍微牌水表-边缘网关-MQTT接入ThingsKit

准备好设备后按照相关说明书接线,水表需要接入一组12VDC电源供电以及AB数据线连接边缘网关RS485口,本次测试组网方式为以太网。

💡 补充

📎潍微科技MODBUS协议水表通讯协议v20.doc

📎远传水表设置步骤.docx

📎MODBUS倒流可测调试软件及协议 20.1.10.zip

2、水表设置

2-1、使用配置软件

ThingsKit设备接入案例-潍微牌水表-边缘网关-MQTT接入ThingsKit

💡 提示

打开配置软件时用管理员权限打开,进入配置软件后按照动图流程测试获取设备地址码,测试是否可以读出当前水表总流量。

💡 提示

本文档测试水表地址码为01H。

ThingsKit设备接入案例-潍微牌水表-边缘网关-MQTT接入ThingsKit

3、网关设置

3-1、配置串口

ThingsKit设备接入案例-潍微牌水表-边缘网关-MQTT接入ThingsKit

💡 注意

本文档测试水表通讯参数为波特率9600、停止位1、数据位8、无校验位以及接入RS485第一口,实际操作时配置内容需要按照测试设备以及接入口做调整。

3-2、请求数据

ThingsKit设备接入案例-潍微牌水表-边缘网关-MQTT接入ThingsKit

💡 提示

本测试水表的通讯协议是Modbus。2-1内容中我们确定了设备的地址码,并且可以确定设备寄存器基地址为200H,所以在配置Modbus请求节点时,起始地址写入了组态地址40513(200H=512,由于组态地址从1开始,故加1变成513)。而根据设备Modbus通讯文档确定了,取“净累计流量”需要读两个寄存器的值,所以在寄存器数量上填写了2。

ThingsKit设备接入案例-潍微牌水表-边缘网关-MQTT接入ThingsKit

❓ 在Modbus请求节点中填写的寄存器解析是由什么决定配置信息的?

答:根据数据点在寄存器中的表达形式确定。地址填写需要Modbus解析节点的起始寄存器地址,数量填写有几个解析数据点,类型根据数据点在寄存器中的表达形式选择。

如:本水表设备取其“净累计流量”需要读两个寄存器的值,且确定了起始寄存器地址以及数据点。

地址:40513

数量:1(取1个32位无符号整数ABCD的寄存器值作为一个数据点)

类型:32位无符号整数ABCD(选择数据点在寄存器中的数据格式)

💡 注意

文档中动图最后的输出是1,但这并不是真实的“净累计流量”,由于设备设置“脉冲当量”为0.1。数据点的值=解析值x脉冲当量,即净累计流量=1×0.1=0.1。

💡 注意

本文档只打印了最终解析的值,当按照本文档测试时应在其他节点多使用调试节点,能够够好理解边缘网关是怎么实现Modbus通讯。

3-3、缩放数据

根据3-2获得的数据进行缩放

ThingsKit设备接入案例-潍微牌水表-边缘网关-MQTT接入ThingsKit

3-4、上传平台

ThingsKit设备接入案例-潍微牌水表-边缘网关-MQTT接入ThingsKit
var temp = msg.payload;
var x = {
    "水表": [
        {
            "净累积流量": temp
        }
    ]
}
msg.payload = x;
return msg;

💡 注意

测试中使用服务器地址以及端口需要根据实际情况填写。

体验账号

服务器地址:101.133.234.90

端口号:1883

💡 提示

由于还没有进行平台配置,网关数据是无法上报至平台。

4、平台配置

4-1、创建产品

ThingsKit设备接入案例-潍微牌水表-边缘网关-MQTT接入ThingsKit

4-2、创建物模型

ThingsKit设备接入案例-潍微牌水表-边缘网关-MQTT接入ThingsKit

💡 提示

创建物模型时,物模型标识符需要与平台接受数据中的键名一致。

4-3、创建设备

ThingsKit设备接入案例-潍微牌水表-边缘网关-MQTT接入ThingsKit

💡 提示

网关上线后,平台会自动创建网关子设备。

4-4、修改子设备产品

ThingsKit设备接入案例-潍微牌水表-边缘网关-MQTT接入ThingsKit

💡 提示

由于流程中的注入节点没有开启定时注入以及立即注入,所以动图中需要手动注入一次。测试过程中可以开启这两项。

5、数据验证

ThingsKit设备接入案例-潍微牌水表-边缘网关-MQTT接入ThingsKit

💡 提示

由于本测试水表读数为0,数据不够直观,实际测试中可以让测试水表有累积流量后再取值。