一、概述
工业现场有需要设备支持RS485通信,可以采集各种PLC、流量计、温湿度、液位等。应用特别广泛,这里尽量以更简单的方式,让大家了解整个数据采集过程,更详细可以阅读相关说明书。
钡铼技术:专注工业物联网关,可以采集世面上绝大数据标准仪表、PLC、楼宇设备等,其这里选型是其BL110多功能协议物联网关。
ThingsPanel:开源物联网平台,免费、快速部署
二、实现功能
A、采集
数值类型:温度、湿度
开关量类型:停电报警器状态、烟感状态
B、控制
开关类型:水泵开关、风机启停
控制数值类型:变频器频率、大棚卷帘开合度
三、方案概述
用Modbus slave模拟各种传感器,钡铼工业网关BL110通过Modbus RTU采集、控制各种仪表/设备,并通过4G、以太网方式上网,MQTT协议对接开源物联网云平台ThingsPanel。如下图:
传感器数据点参数
四、设置Modbus slave(模拟传感器)
电脑安装Modbus slave,并根据前面“传感器数据点参数”,设置Modbus slave,模拟各种类型传感器。如下图:
Connection:选择"SerialPort"
Serial Settings:根据实际选择
Mode:选择“RTU”(这里采集的RS485设备,是标准Modbus RTU协议)
串口参数
注意:Modbus slave(模拟传感器)串口参数 需要和工业智能网关BL110串口参数一致
这里设置如下:
五、工业网关BL110配置参数
1、接线
①接电源(支持宽电压:9-36v)
②WAN口网线接入局域网(可自动分配ip,其他网络环境参考说明书)
③RS485接COM2,A接A,B接B
2、登录配置软件
打开配置软件→点击“设备搜索”→双击“IP地址”→输入密码,默认123456
注意:设备开机约30s左右可搜索到ip
3、设置串口参数
双击COM2,设置串口参数
注意:这里串口参数和前面设置Modbus slave(模拟传感器)参数一致
模式选择:采集
设备品牌:Modbus
设备型号:Modbus_RTU
串口参数
4、设置传感器地址
5、添加设备数据点参数
添加“温度”数据点为例:
添加其他数据,并保存
其他数据点以此类推,然后点“写入配置”,然后重新进入
保存后,设备会自动重启,重新登录配置软件
注意:设备开机约30s左右可搜索到ip
6、查看网关和传感器通信
点击型号,查看基本信息。如下图查看右侧“COM2”,钡铼网关是和Modbus slave(模拟传感器)通信上,“绿色”代表通讯上。
7、工业网关查看传感器数据
点击“监视”,即可查看到,工业网关BL110采集到传感器当前数值。如下图,已经采集到了。跟Modbus slave的一致。
如果没有采集到数据,请检查一下相关参数是否设置有误和当前网络环境是否正常。
8、对接开源物联网云平台ThingsPanel
对接ThingsPanel平台是通过MQTT协议,设置如下:
前面“写入配置”后,点击型号,可以看到“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、发布主题:
控制水泵开