实操!用Zabbix+500元硬件如何平替5万元动环检测系统,实现UPS温湿度烟雾等数据采集存储、告警、大屏展示?

news2024/11/7 15:33:22

感谢本文作者 王志杰 。诚邀社区伙伴积极投稿!

前提

►架构展示:
在这里插入图片描述

►大屏展示:

在这里插入图片描述

►所需软件:
Zabbix
Grafana
安装Zabbix-agent2的采集服务器
MThings串口调试软件
厂家自带UPS监控软件
USR-VCOM有人虚拟串口软件

►所需硬件:
有人串口服务器(USR-N510)
自制RS485连接线
万图思睿 SD123-ST01 RS485温湿度变送器
万图思睿 SD123-SA01-R4 RS485烟感报警器

►所需资料:
科士达YDC3330 modbus开发文档
YDC3330说明书

一、安装、配置串口服务器

1、硬件安装

►制作UPS所需要的RS485通讯线,我使用了1、2、8,分别是485+、485-、GND地线,而12V是不需要连接的,因为我们连接的对象是UPS,它并不需要我们通过12V为其供电。
如果我们连接的是温湿度计,则需要通过12V为其供电。
在这里插入图片描述

►YDC3330自带两个RS485接口,其支持菊花链连接,所以我使用RS485线一根接一根串起来,这样外观美观。

►注意,UPS接线非常危险,注意安全!
在这里插入图片描述

►串口服务器只需要将串口模式拨到RS485,并且连接电源、网线、串口线即可
在这里插入图片描述

2、网络更改

►按串口服务器背面IP地址,登录,修改IP地址和串口参数、协议参数。

►右上角更改语言,左侧更改IP地址、按UPS说明书要求调整串口内容,我这里使用的9600:8n1,下方我这里需要使用厂家的UPS软件测试,所以使用的TcpServer None,后面使用Zabbix modbus-get的时候,就需要改成ModbusTCP了
在这里插入图片描述

二、解析文档

1、使用厂家软件测试

►安装USR-VCOM有人虚拟串口软件,这个软件的作用可以理解为通过网络将串口无限延长。

►串口 - 有人串口服务器 - 虚拟串口
在这里插入图片描述

►此时我们使用厂家的UPS软件,软件正常运行
在这里插入图片描述

►通过菊花链串联的方式,4台UPS都上线了,可以搜索到站号分别为1、5、6、7,这个后面要用到

在这里插入图片描述

2、解析参数

►如何获取我们需要的参数呢

►假设,我们要获取A相输入电压,查看说明书

►采用的modbus-RTU报文格式如图
在这里插入图片描述

►功能码对照表
在这里插入图片描述

►A相输入电压地址,大小2Byte
在这里插入图片描述

►按modbus-RTU组合参数,此时的报文为 01 04 75 30 00 01 XX XX

01为站号1
04为功能码,我们要取的30001在功能码中为04H读
75 30为30000的十六进制
00 01为读取一个寄存器地址,即30001的数据,同理我们要读取ABC三相输入,此处就为00 03三个寄存器地址
XX XX为校验码,modbus调试软件可以自动生成
在这里插入图片描述

►使用MThings调试,确认我们要获取的数据没问题
在这里插入图片描述

►此处发现厂家说明书印刷错误,印刷运行状态为30070,实际测试为30080
在这里插入图片描述

三、配置Zabbix

1、修改串口服务器为modbus-tcp模式
在这里插入图片描述

2、通过zabbix-agent2获取数据

►安装一台主机,并安装zabbix-agent2,接入zabbix

►在zabbix服务器上通过命令请求数据,可以看到数据返回正常

zabbix_get -s 172.16.21.5 -k modbus.get[tcp://172.16.10.201:9000,1,4,30000,81]
zabbix_get -s 172.16.21.5 指定请求的客户端
-k modbus.get 以modbus.get方式请求
tcp://172.16.10.201:9000,1,4,30000,81 串口服务器IP端口,站号1,功能码4,从30000开始请求,请求81个寄存器数据

在这里插入图片描述

3、制作zabbix监控项

►我们采用的方式是一次请求,分段解析
在这里插入图片描述

►添加监控项

►制作modbus-get监控项,按图片填写即可

键值:modbus.get[tcp://172.16.10.201:9000,1,4,30000,81]
信息类型:文本
在这里插入图片描述

►添加监控项

►制作数据分类监控项,从modbus-get监控项获取数据

注意类型为:相关项目
主要项是modbus-get监控项
在这里插入图片描述

►还没完,点击到进程中,此处是配置获取第几位的数值,有没有倍率关系,倍率关系看说明书

JSONPath = $[17]
自定义倍数 = 0.1

在这里插入图片描述

4、制作zabbix报警项

►添加触发器

last(/donghuan/ups1yunxingzhuangtai)=5
►当ups1yunxingzhuangtai值为5时报警,5的值在说明书中为市电中断
在这里插入图片描述

►拉闸测试,5s内收到微信告警
在这里插入图片描述

►添加监控数据获取失败报警

表达式:nodata(/donghuan/modbus.get[tcp://172.16.10.201:9000,7,4,30000,81],30)=1
30秒后无数据进行报警
在这里插入图片描述

四、配置大屏

►Grafana正常接入Zabbix

►添加一项,一看就懂
在这里插入图片描述
在这里插入图片描述

►按自己的喜好风格制作大屏即可
在这里插入图片描述

五、温湿度、烟雾传感器协议解析

►新增内容:
在这里插入图片描述

►温湿度采集
在这里插入图片描述

►修改设备地址
在这里插入图片描述

►烟雾采集
在这里插入图片描述

►手动触发烟雾告警
在这里插入图片描述

►读取烟雾信号
在这里插入图片描述

►万图思睿的产品修改设备地址方式相同

六、小结

►文章很流畅,但现实并不会如此顺利。
►第一次,使用的串口线有问题,导致无法连接UPS
►第二次,厂家给我发错了文档,连续一星期无法测试成功
►第三次,厂家发对了文档,但是文档的内容错误,导致获取的数据不正确
►半个月时间分析协议,最后接入Zabbix制作大屏仅用了半天而已
►最后,Zabbix无比强大,值得深入学习!

2023Zabbix认证培训行程,凡事预则立!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/142307.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

maven第二篇:IDE创建maven项目

前面将maven安装好了,当然起不会直接用,而是结合着一起用,那么现在就用IDE创建一个maven,来进行演示。 前提 IDE默认是带有maven软件,但是一般不习惯用起自带的,所以前提就是安装一个maven软件&#xff0…

HUAWEI CLOUD Stack 私有云解决方案(HCS)

HUAWEI CLOUD Stack 私有云解决(HCS) 注明: 本文介绍的版本为HUAWEI CLOUD Stack 6.5(也叫华为云Stack或HCS), 在华为6.5版本以前的名字是FusionCloud 6.3, 最近更新的8.0版本不会差别太大&…

Java开发学习(三十九)----SpringBoot整合mybatis

一、回顾Spring整合Mybatis Spring 整合 Mybatis 需要定义很多配置类 SpringConfig 配置类 导入 JdbcConfig 配置类 导入 MybatisConfig 配置类 Configuration ComponentScan("com.itheima") PropertySource("classpath:jdbc.properties") Import({JdbcC…

Trie 字典树

Trie Trie,又称字典树或前缀树。是一棵有根的多叉树。用于高效存储和查找字符串集合。 字典树从根到树上某一结点的路径就是一个字符串。 一棵字典树的构造过程图解: 字典树的度和字符集有关,英文字符集是26个字母,那么字典树的…

通用vue组件化登录页面

一、首页设置大体的样式布局 1.首先建立一个login文件夹,在里面建立对应的login.vue文件 2.设置登录页面的背景图,在App.vue文件中使用router-view进行展示登录组件 3.先给App.vue的div元素设置高度100%,之后在login.vue里面去设置背景图 …

财务管理系统|基于Springboot开发实现公司财务管理系统

作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路 关注作者有好处 文末获取源…

知识库软件应该具备的7个基本功能

SaaS公司最大的业务挑战是:如何留住客户,客户与你达成合作关系后,如何让其与你继续合作,达成长期合作关系。对于SaaS产品,丢失客户的成本是很昂贵的,赢得一个新客户的成本是留住现有客户的5到25倍&#xff…

Vue脚手架的使用

一、通过命令行使用vue-cli的指令创建 1. 安装:npm i -g vue/cli-init 2. 创建Vue项目(Vue2.0项目): ​ (1)创建文件夹:vue2-demo ​ (2)进入文件夹:cd v…

[Leetcode] 相交链表

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据保证整个链式结构中不存在环。注意,函数返回结果后&#xf…

【 java 集合】Set 接口及常用实现类总结

📋 个人简介 💖 作者简介:大家好,我是阿牛,全栈领域优质创作者。😜📝 个人主页:馆主阿牛🔥🎉 支持我:点赞👍收藏⭐️留言&#x1f4d…

JavaEE【Spring】:Spring事务和事务传播机制

文章目录前言一、Spring 中事务的实现1、MySQL 中的事务使用2、Spring 编程式事务(了解)3、Spring 声明式事务(自动)① Transactional 作用范围② Transactional 参数说明③ 注意事项Ⅰ. 抛出异常Ⅱ. 手动回滚④ Transactional ⼯…

2022年亚太地区大学生数学建模竞赛/2022年亚太杯1月加赛E题思路

问题1. 基本数据分析数据集中的OWID_WRL是什么?一般是指世界world。a) 哪些国家曾经拥有过核武器?现拥有核武器的国家有9个,分别为:美国、俄罗斯、英国、法国、中国、印度、巴基斯坦、以色列,朝鲜。曾经拥有核武的国家…

【python】导入同级、下级、上级目录中的模块

不想把代码都堆到一个文件里面,希望写的分层次,但又不是web框架,有入口文件和目录规则, 这个时候就要自己分包了,会遇到这个问题,明明ide智能追踪可以定位到包引用,但是却报错module undefine&a…

5G NR标准 第15章 上行功率和定时控制

第15章 上行功率和定时控制 上行链路功率控制和上行链路时序控制是本章的主题。 功率控制用于控制干扰,主要是针对其他小区的干扰,因为同一小区内的传输通常是正交的。 时序控制确保不同的设备以相同的时序接收,这是保持不同传输之间正交性…

Nacos设置为windows自启动服务

序言 众所周知,在 Windows 环境下想要启动 nacos 需要运行 bin 目录下的 startup.cmd。这样的启动方式需要保证 cmd 窗口一直开着,只要把这个窗口关掉,nacos 服务就停了。 所以为了避免人为的误关窗口,把 nacos 注册成一个 wins…

【可视化】无法理解PCA,条件概率,最小二乘回归?可视化帮你!

主成分分析PCA2D示例首先,只考虑两个维度的数据集,比如高度和重量。这个数据集可以绘制成平面上的点。但如果想要整理出变量,PCA会找到一个新的坐标系,其中每个点都有一个新的(x,y)值。坐标轴实际上没有任何物理意义。它们是高度和…

【JavaScript】如何转换blob数据与file文件还有url

大家好,关于blob对象和file对象有了解多少呢,它们都是一种文件的表示形式,文件之间是可以互相转换的,顺带一提,还有经常用到的临时文件路径tempFileURL。 文章目录文件类型Blob对象File对象URL临时路径文件类型 首先&…

c++ -- STL容器--vector

STL中最常用的容器为Vector&#xff0c;可以理解为数组#include <iostream> #include <vector> #include <algorithm> using namespace std;void myPrint(int val) {cout <<val<<endl; }//vector容器存放内置数据类型void test01() {//创建了一个…

数据库(tidb、clickhouse、hive)概念笔记

目录 1、有哪些分布式数据库 2、OLAP、OLTP、HTAP 3、TIDB、clickhouse、hive 一、TIDB 1. TiDb 核心特性&#xff1a; 2. TiDb 整体架构&#xff1a; 3.TiDB 存储&#xff1a; 二、clickhouse 三、hive 1.什么是 Hive&#xff1f; 2.Hive 架构和如何运作&#xff1…

KMP -- 代码求解next数组

代码求解next数组 1. KMP相关概念 前缀&#xff1a;包含首位字符但不包含末位字符后缀&#xff1a;包含末位字符但不包含首位字符next数字&#xff1a;主串与模式串不匹配时&#xff0c;模式串需要回退的位置next[j]&#xff1a;第 j 位字符前面的j-1位字符组成的字串的前后缀…