首页| 论坛| 消息

标题:纯Qt实现的物联网平台/多线程采集/modbus和mqtt协议/报警记录/云端存储/数据转发/支持网页运行
作者:liudianwu
日期:2025-08-25 08:12
内容:

## 一、前言说明
一个产品要做到好用易用,需要打磨很长时间,和视频监控系统一样,这套物联网平台软件,也是打磨了至少8年的时间,再次回看当初的第一个版本,功能是多么的简陋,就写了个串口收发数据,写死的字节解析对应的数据位,然后搞了个表格显示采集到的数据,就没了,尽管功能简单,但是运行还是非常稳定的,到现在某些现场一直运行到现在,居然还能用,可能功能太少,不易出现bug。后面使用场景和客户增加,发现写死肯定不行的,必须能够对每个数据位字节都能定义一个含义,或者叫采集点,可以自定义名称和报警阈值等,然后又搞了个地图,可以在图片地图上摆放对应点位控件,可以拖动位置,双击能够查看详情。后面有场景需要联动报警等处理,又在现有链路中增加了报警联动的功能,如果对应端口已经存在,则使用现有的端口发送数据,端口不存在,则先打开对应的端口,这里还涉及到优先级的情况,报警联动应该是优先级最高的,毕竟modbus在串口中一般是半双工,走的485,所以发送的数据必须排队,需要将报警联动的数据,存放到队列中,在取出数据发送那边,先判断是否有报警联动的数据,有就先发送报警联动数据,发完以后再去采集。
后面又陆陆续续增加了几十个小细节处理,比如现场实际情况是,有些采集节点的设备坏了,如果每次都去轮询,那没有必要,完全浪费一次间隔时间,所以连续采集多次没有应答则判定离线了,下次直接跳过,这样可以加快整条链路的采集速度。那设备又维修好了呢,这个时候就有个参数叫重连时间,也就是过个几分钟还是多少,再主动探测一次,看下是否好了,如果好了,则重新加入到采集队列,没好就等下次再主动探测一次,这样就完美解决这个问题。
## 二、效果图


## 三、功能特点
### 1 软件模块
1. 设备监控模块,包括数据监控(表格形式展示)、设备面板(面板形式展示)、地图监控(地图形式展示)、曲线监控(曲线形式展示)。
2. 数据查询模块,包括报警记录、运行记录、操作记录。
3. 系统设置模块,包括基本设置、端口管理、控制器管理、探测器管理、报警联动、类型设置等。
4. 其他设置模块,包括用户管理、地图管理、位置调整、组态设计、设备调试等。
### 2 基础功能
1. 设备数据采集,支持串口、网络,串口可设置串口号、波特率,网络可设置IP地址、通讯端口。
2. 每个端口支持采集周期时间,默认1秒钟一个设备。
3. 支 ..

回复 发表
主题 版块