一文了解,从RS485传感器到物联网关到云平台过程

一、概述

工业现场有需要设备支持RS485通信,可以采集各种PLC、流量计、温湿度、液位等。应用特别广泛,这里尽量以更简单的方式,让大家了解整个数据采集过程,更详细可以阅读相关说明书。

钡铼技术:专注工业物联网关,可以采集世面上绝大数据标准仪表、PLC、楼宇设备等,其这里选型是其BL110多功能协议物联网关。

ThingsPanel:开源物联网平台,免费、快速部署

二、实现功能

A、采集

数值类型:温度、湿度

开关量类型:停电报警器状态、烟感状态

B、控制

开关类型:水泵开关、风机启停

控制数值类型:变频器频率、大棚卷帘开合度

三、方案概述

用Modbus slave模拟各种传感器,钡铼工业网关BL110通过Modbus RTU采集、控制各种仪表/设备,并通过4G、以太网方式上网,MQTT协议对接开源物联网云平台ThingsPanel。如下图:

 

传感器数据点参数

序号

变量名称

设备地址

功能码

寄存器地址

数据类型

变量标签(MQTT标识符名称,自定义)

1

温度

1

04 Input Registers(3x)

0

uint16

temperature

2

湿度

1

04 Input Registers(3x)

1

uint16

humidity

3

停电报警

1

02 Input Status(1x)

0

bool

powerfailure

4

烟感报警

1

02 Input Status(1x)

1

bool

smoke

5

水泵开关

1

01 Coil Status(0x)

0

bool

waterpump

6

风机启停

1

01 Coil Status(0x)

1

bool

fan

7

变频器频率

1

03 Holding Register(4x)

0

uint16

frequency

8

大棚卷帘

1

03 Holding Register(4x)

1

uint16

rollershutter

四、设置Modbus slave(模拟传感器)

电脑安装Modbus slave,并根据前面“传感器数据点参数”,设置Modbus slave,模拟各种类型传感器。如下图:

Connection:选择"SerialPort"

Serial Settings:根据实际选择

Mode:选择“RTU”(这里采集的RS485设备,是标准Modbus RTU协议)

串口参数

注意:Modbus slave(模拟传感器)串口参数 需要和工业智能网关BL110串口参数一致

这里设置如下:

项目

参数

波特率

9600

数据位

8

停止位

1

校验码

None

 

 

五、工业网关BL110配置参数

1、接线

①接电源(支持宽电压:9-36v)

②WAN口网线接入局域网(可自动分配ip,其他网络环境参考说明书)

③RS485接COM2,A接A,B接B

 

2、登录配置软件

打开配置软件→点击“设备搜索”→双击“IP地址”→输入密码,默认123456

注意:设备开机约30s左右可搜索到ip

3、设置串口参数

双击COM2,设置串口参数

注意:这里串口参数和前面设置Modbus slave(模拟传感器)参数一致

模式选择:采集

设备品牌:Modbus设备型号:Modbus_RTU

串口参数

项目

参数

波特率

9600

数据位

8

停止位

1

校验码

None

 

4、设置传感器地址

项目

内容

设备名称

自定义

从站ID

即Modbus中数据点的“设备地址”,这里是:1

其他

根据实际情况填写

 

5、添加设备数据点参数

序号

变量名称

设备地址

功能码

寄存器地址

数据类型

变量标签(MQTT标识符名称,自定义)

1

温度

1

04 Input Registers(3x)

0

uint16

temperature

添加“温度”数据点为例:

项目

内容

变量名称

有自动生成,也可自定义。这里演示设置“温度”

变量标签

MQTT标识符名称,有自动生成,也可自定义。这里演示设置“temperature”

地址类型

Modbus数据点对应功能码。温度功能码是“04 Input Registers(3x)”

数据类型

根据实际选择。温度是“uint16”

读写类型

根据实际选择。温度是“只读”

地址

即寄存器地址。根据“传感器数据点参数”规定,温度寄存器地址是:0

添加数量

这里是1,其他类型根据实际情况选择

 

添加其他数据,并保存

其他数据点以此类推,然后点“写入配置”,然后重新进入

 

保存后,设备会自动重启,重新登录配置软件

注意:设备开机约30s左右可搜索到ip

 

6、查看网关和传感器通信

点击型号,查看基本信息。如下图查看右侧“COM2”,钡铼网关是和Modbus slave(模拟传感器)通信上,“绿色”代表通讯上。

 

7、工业网关查看传感器数据

点击“监视”,即可查看到,工业网关BL110采集到传感器当前数值。如下图,已经采集到了。跟Modbus slave的一致。

如果没有采集到数据,请检查一下相关参数是否设置有误和当前网络环境是否正常。

 

 

 8、对接开源物联网云平台ThingsPanel

对接ThingsPanel平台是通过MQTT协议,设置如下:

项目

内容

IP/域名

根据实际填写。这里演示填:39.98.176.26

端口

根据实际填写。这里演示填:1000

Client ID

根据实际填写。

用户名

根据实际填写。

密码

根据实际填写。

数据模板

选择”KingPigeon“

订阅主题

①“云平台ThingsPanel”控制传感器(开关类型:水泵开关、风机启停;数值类型:变频器频率、大棚卷帘开合度);

②那么物联网关BL110则填写订阅主题为:“bl110/001down”,用于接收“云平台ThingsPanel”控制指令。类似你关注某明星微博,他发布消息,就会给您推送。

发布主题

①“云平台ThingsPanel”需要接收钡铼工业网关BL110采集到传感器的数据,设置订阅主题“bl110/001”;

②那么工业网关BL110则填写发布主题为:“bl110/001”

上传周期

根据实际填写。最快1s。

 

前面“写入配置”后,点击型号,可以看到“MQTT Client”和“COM2”在线状态都变成了绿色,即BL110网关对接云平台和传感器都是通信上了。

 

9、BL110智能网关订阅、发布信息格式---KingPigeon模板

发布

{
  "sensorDatas": [
    {
      "flag": "GPS",
      "lat": "0.000000",
      "lng": "0.000000"
    },
    {
      "flag": "signal_strength",
      "value": 0
    },
    {
      "flag": "temperature",
      "value": 30
    },
    {
      "flag": "humidity",
      "value": 68
    },
    {
      "flag": "powerfailure",
      "switcher": 1
    },
    {
      "flag": "smoke",
      "switcher": 0
    },
    {
      "flag": "waterpump",
      "switcher": 1
    },
    {
      "flag": "fan",
      "switcher": 0
    },
    {
      "flag": "frequency",
      "value": 33
    },
    {
      "flag": "rollershutter",
      "value": 55
    }
  ],
  "gateway_indentify": "BeiLai",
  "time": "1658216760",
  "addTime": "2022-07-19 07:46:00",
  "seq": "0.4405.0.0"
}

订阅

A、开关类型。用“switcher”,值

1表示开,true

0表示关。false

{
  "sensorDatas": [
    {
      "switcher": 0,
      "flag": "waterpump"
    }
  ],
  "down": "down"
}

B数值类型类型。用“value”,值

注意:这个数值,需要加双引号

{
  "sensorDatas": [
    {
      "value": "998",
      "flag": "frequency"
    }
  ],
  "down": "down"
}

六、用EMQX的客户端订阅、发布消息

1、设置对接开源云平台ThingsPanel的MQTT参数

前面已经设置:工业智能网关BL110设置对接的开源云平台ThingsPanel(ip、端口、订阅主题、发布主题)

则EMQX的客户端也设置如下:

 

2、订阅主题:

订阅物联网关BL110采集到传感器的数据

3、发布主题:

控制水泵开

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\]和引用\[2\]的内容,当拿到接口文档时,设计接口测试用例时可以考虑以下几个方面: 1. 根据接口文档中的前提条件和输入参数,设计测试用例来验证接口在正常输入情况下是否能得出正确的输出结果。可以使用等价类划分和边界值等方法来设计用例。 2. 关注核心业务和复杂业务的接口,优先测试覆盖这些接口。根据项目特点和接口的重要性与优先级,筛选接口测试范围。 3. 考虑逻辑测试、异常测试和路径测试这三类接口测试用例。逻辑测试主要根据接口文档中的业务逻辑设计用例,验证在正常输入情况下是否能得出正确的输出结果。异常测试则是针对接口的异常情况设计用例,验证接口在异常情况下的处理能力。路径测试则是测试接口在不同路径下的表现。 综上所述,设计接口测试用例时需要考虑接口文档中的前提条件、输入参数、业务逻辑、返回输出描述等要素,根据等价类划分、边界值等方法设计用例,关注核心业务和复杂业务的接口,并考虑逻辑测试、异常测试和路径测试这三类用例。 #### 引用[.reference_title] - *1* *2* [接口测试用例怎么写?一文1600字教你写一个优秀的接口测试的测试用例](https://blog.csdn.net/IT_LanTian/article/details/124387617)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [【软件测试】需求不明确时,怎么设计测试用例?](https://blog.csdn.net/u010949766/article/details/127508735)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值