继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

DGIOT实战教程——风量传感器接入

DGIOT
关注TA
已关注
手记 8
粉丝 0
获赞 0

[小 迪 导读]
本教程在掌握基础modbusRTU标准协议概念和业务流程之后,通过真实的支持ModbusRTU标准协议的设备和DTU来进行实战演练。

系统需要使用两个设备以及若干导线:

  • 风量传感器:采用的是管道式风速变送器 (485型)
  • DTU:采用的是有人的口红CAT-1 DTU DR154

系统架构逻辑图如下,包括设备模拟,通道通信,模型设置,应用显示部分
2022081911243955.png

操作步骤:

1.设备接线

电表信息

模块 管道式风速变送器 (485型)
型号 PR-3009TH-FS-NO1
类型 Modbus 风速变送器
  • 风速变送器
2022090902045428.png

DTU信息

品牌 有人
型号 DR154(RS485)
密码(Pwd) usr_cn
  • dtu图片
2022081704220796.png

接线连接

风速变送器连接电源

风速变送器根据端口图正负连接电源正负,电源可以选用电源适配器。

DTU连接电源

根据DTU上的端口图,红色线(电源线)连接DC+,黑色线(地线)连接DC-

连接DTU和风速变送器

根据端口图,风速变送器的A端口连接DTU端口的RX(A),风速变送器的B端口连接DTU端口的TX(B)

说明 RX为接收,TX为发送

2022090902053213.png

连接详情请可点击参考真实Mobuds接入

2.dtu配置

1.DTU正面二维码下方标识正负极连接电源,A,B端连接电表,到开手机微信扫码,扫描DTU二维码进入小程序,打开蓝牙连接与DTU背部IMEI相同编号的蓝牙,进入连接,密码为usr_cn
202208191113416.png

2022081704220737.png

2.打开参数设置,设置工作模式:地址设为部署的平台地址;端口号设为20651。

说明 地址为服务器地址,端口号为服务器端口号,若无自己的物联网服务器,可选择地址:prod.dgiotcloud.cn,端口号设为20651
警告 设置dtu时,工作模式设置完后需保存再设置串口,不能一次性设置,一次性设置会导致设置不完全

2022090707345193.png

勾选注册包功能,注册包数据类型选择IMEI码,将会自动生成一个IMEI码。

2022081704220610.png

3.打开参数设置,设置串口设置:波特率设为4800,校验位选择NONE。

说明 支持ModbusRTU的设备:参数可以询问商家或者商品介绍获取设备的参数

2022090707221582.png

file
file

3.创建采集通道

1.创建ModbusRTU采集通道。位置在通道管理-创建通道
2022081812155529.png
2.选择Modbus采集通道并配置
2022081901583136.png

2022081911184451.png

3.产品添加通道后需对通道进行重启

4.通道日志查看

8.png2022081911190426.png

5.创建产品

1.要连接风速变送器,创建一种产品即可
2.创建产品
2022081902061520.png
风速变送器

2022090902091962.png

3.产品物模型配置
将以下物模型代码直接复制即可
风速变送器

{
    "properties": [
        {
            "accessMode": "r",
            "dataForm": {
                "address": "0X10",
                "collection": "%%wind_float",
                "control": "%d",
                "countcollection": "%s",
                "countround": "all",
                "countstrategy": 20,
                "data": "null",
                "iscount": "0",
                "offset": 0,
                "operatetype": "readCoils",
                "order": 0,
                "originaltype": "short16_AB",
                "protocol": "MODBUSRTU",
                "rate": 1,
                "round": "all",
                "slaveid": "0X10",
                "strategy": "计算值"
            },
            "dataSource": {
                "": [],
                "_dlinkindex": "",
                "address": "2",
                "operatetype": "readHregs",
                "originaltype": "short16_AB",
                "registersnumber": "1",
                "slaveid": "velocity"
            },
            "dataType": {
                "das": [],
                "specs": {
                    "max": 9999,
                    "min": 0,
                    "precision": 1,
                    "step": 0,
                    "unit": ""
                },
                "type": "float"
            },
            "devicetype": "风量传感器",
            "identifier": "wind_float",
            "isaccumulate": false,
            "isshow": true,
            "isstorage": true,
            "moduleType": "properties",
            "name": "风量值浮点型",
            "required": true,
            "updateAt": "1662689964496",
            "index": 0
        },
        {
            "accessMode": "r",
            "dataForm": {
                "address": "0X10",
                "collection": "%%wind_int",
                "control": "%d",
                "countcollection": "%s",
                "countround": "all",
                "countstrategy": 20,
                "data": "null",
                "iscount": "0",
                "offset": 0,
                "operatetype": "readCoils",
                "order": 0,
                "originaltype": "short16_AB",
                "protocol": "MODBUSRTU",
                "rate": 1,
                "round": "all",
                "slaveid": "0X10",
                "strategy": "计算值"
            },
            "dataSource": {
                "": [],
                "_dlinkindex": "",
                "address": "1",
                "operatetype": "readHregs",
                "originaltype": "short16_AB",
                "registersnumber": "1",
                "slaveid": "velocity"
            },
            "dataType": {
                "das": [],
                "specs": {
                    "max": 65535,
                    "min": 0,
                    "precision": 3,
                    "step": 0,
                    "unit": "m³/h"
                },
                "type": "int"
            },
            "devicetype": "风量传感器",
            "identifier": "wind_int",
            "isaccumulate": false,
            "isshow": true,
            "isstorage": true,
            "moduleType": "properties",
            "name": "风量整数型",
            "required": true,
            "updateAt": "1662689893515",
            "index": 1
        },
        {
            "accessMode": "r",
            "dataForm": {
                "address": "0X10",
                "collection": "%%wind_velocity/10",
                "control": "%d",
                "countcollection": "%s",
                "countround": "all",
                "countstrategy": 20,
                "data": "null",
                "iscount": "0",
                "offset": 0,
                "operatetype": "readCoils",
                "order": 0,
                "originaltype": "short16_AB",
                "protocol": "MODBUSRTU",
                "rate": 1,
                "round": "all",
                "slaveid": "0X10",
                "strategy": "计算值"
            },
            "dataSource": {
                "": [],
                "_dlinkindex": "",
                "address": "0",
                "operatetype": "readHregs",
                "originaltype": "short16_AB",
                "registersnumber": "1",
                "slaveid": "velocity"
            },
            "dataType": {
                "das": [],
                "specs": {
                    "max": 999,
                    "min": 0,
                    "precision": 3,
                    "step": 0,
                    "unit": "m/s"
                },
                "type": "float"
            },
            "devicetype": "风量传感器",
            "identifier": "wind_velocity",
            "index": 2,
            "isaccumulate": false,
            "isshow": true,
            "isstorage": true,
            "moduleType": "properties",
            "name": "风速值",
            "required": true,
            "updateAt": "1662689799736"
        },
        {
            "accessMode": "r",
            "dataForm": {
                "address": "0X10",
                "collection": "%s",
                "control": "%d",
                "countcollection": "%s",
                "countround": "all",
                "countstrategy": 20,
                "data": "null",
                "iscount": "0",
                "offset": 0,
                "operatetype": "readCoils",
                "order": 0,
                "originaltype": "short16_AB",
                "protocol": "MODBUSRTU",
                "rate": 1,
                "round": "all",
                "slaveid": "0X10",
                "strategy": "3"
            },
            "dataSource": {
                "": [],
                "_dlinkindex": "",
                "address": "0X00",
                "operatetype": "readHregs",
                "originaltype": "bit",
                "registersnumber": "3",
                "slaveid": "0X01"
            },
            "dataType": {
                "das": [],
                "size": 1000000000,
                "specs": {},
                "type": "text"
            },
            "devicetype": "风量传感器",
            "identifier": "velocity",
            "index": 3,
            "isaccumulate": false,
            "isshow": false,
            "isstorage": false,
            "moduleType": "properties",
            "name": "风量",
            "required": true,
            "updateAt": "1662689688077"
        }
    ]
}

4.如何复制物模型

在产品管理-配置-物模型-查看物模型处

2022090902200152.png

将物模型代码复制粘贴即可

2022081911212924.png

更多配置细节参考真实Mobuds接入

6.风速变送器设备连接的DTU注册成功

1.风速变送器设备连接的DTU注册成功

202208191122335.png

2.风速变送器设备连接的DTU上线成功

2022090707313034.png

7.风速变送器数据采集成功

1.风速变送器实时数据

2022090902224951.png

[小 迪 提醒]
没有多个数据的modbusRTU设备的用户可以使用虚拟modbus软件自行模拟。
虚拟modbus连接点击了解详情

[小 迪 点评]

  • dgiot支持ModbusRTU协议的设备接入,有真实设备的用户尝试进行设备接入演练。
  • 风速变送器也是modbus设备,为大家提供多一点的熟悉对象。

想了解更多 dgiot 的具体细节,欢迎大家在GitHub上查看相关源代码。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP