为了验证自研动环监控方案,搜了一些方案,目前已经获取了温湿度的数据,下面介绍一下实现方案
配件:
1.温湿度传感器:需要有RS485口的(其它接口的没有测试,使用的方式都一样的)

2.串口服务器:支持RS485接口的串口服务器一个,输出端我使用的是网口的

3.电源:12V无头电源,串口服务器和传感器通用,所以需要两个

4.双绞屏蔽线:0.5平方毫米的,用于连接串口服务器和传感器

连接方式
本图就是现在我实践的设备连接方式

测试过程
1.接线

串口服务器的RS485接口的A+与温湿度传感器的A+连接,同理B+连接B+;电源按照正负极接线,否则不通电,这里也是第一次接完发现设备电源不亮,换一下接线就正常了;串口服务器网口先和电脑网口连接,先调试,测试完了再接入交换机
配置串口服务器
串口服务器配套软件,各品牌都自己的配套的,商家会给你,当前配置如图,具体需要配置什么找技术人员咨询,一般会给你一个说明文档,简单指导一下就可以配置完成

测试收发数据
调试软件串口服务器商家有,传感器商家也有,只要协议匹配就可以,但是发送的数据格式需要传感器的商家提供说明书,必须按照格式发送正确请求才能收到数据

发送的数据查看传感器的说明书,这里就是发送:01 03 00 00 00 02 C4 0B

收到的数据就是两个十六进制数:比如FF9B 292,网上找个16进制转10进制计算器,输入FF9B得到-101,根据产品说明书介绍这个值需要乘以0.1的系数后得到的值就是当前温度,所以-10.1度,同理湿度也一样,注意做监控的时候单位一个是度,一个是百分比

测试没问题后,继续测试Zabbix创建监控项,最终可以取到数据就可以将设备放机房使用了
1.需要安装zabbix-agent2,监控项使用Zabbix客户端(主动式),键值使用modbus.get,参数根据参数的定义和说明书内容填写,我当前的配置如图:
tcp://8.8.9.76:10121:串口服务器地址
1:设备地址
3:功能码
0:寄存器初始地址
2:数据长度
翻译一下就是向tcp://8.8.9.76:10121发送问询数据,需要读取"设备地址xx"的中"xx功能位"中从第"寄存位的第xx位"开始,共"xx个字节的数据"。根据说明书介绍,第一个字节的数据是湿度,第二个字节是温度,所以如果只需要取湿度,那么起始位置就是0,获取1个字节的数据就可以了

测试获取数据
由于zabbix-agent2支持modbus协议的数据,所以看到的结果直接就是十进制的数据,根据截图显示当前湿度24.3%,温度31.9℃

这两个数据是一个数据,使用Zabbix的相关功能处理这两个字段的数据即可,方法如下
1.创建监控,类型选择相关项目
2.输入键值
3.主要项选择刚才创建的监控项
4.这里拿温度举例,那么单位就是℃

5.配置预处理

第一个步骤选择JSONPath,参数\[1\],监控项获取的数据是json格式的值,第一个湿度是0,第二个值是$1
第二个步骤选择自定义倍数,选择0.1,系统会把值乘以0.1后展示出来,这样通过湿度的监控拿到的数据就是真实的数据
配置完成后查看取值是否正常

没问题了配置Grafana就行了,这个文档太多了,就不在这里讲了

如果接入其它设备,方式类似,总之重要的就是选择正确的串口服务器,拿到协议说明就可以监控到动环设备了,希望本文对各位有帮助。