随笔分类 - Qt/C++物联网
摘要:一、前言 用表格来展示采集到的数据,是很多组态系统中最常见的方法,一个表格能够展示的数据特别多,在本系统中,默认做的也是通过表格的形式来展示数据,目前是将所有的设备放在一个表格中,后期可能按照不同控制器对应一个表格,一般来说一个场所对应一个控制器,一个控制器下面会有很多个探测器,相当于终端传感器,最
阅读全文
摘要:一、前言 随着需求的不断变化,功能的增多,在用户信息这块,除了需要用户登录退出验证以外,还需要有个简单的用户权限逻辑处理,比如限定某些用户只有查看权限,没有删除记录、清空记录、系统设置的权限,与之相对应的就是用户信息表中,存储有该用户具备哪些权限,当该用户登录成功以后,对应的权限应用到各个界面逻辑中
阅读全文
摘要:一、前言 一个用户登录界面,是一个完整的应用系统,尤其是客户端系统必备的一个功能模块,传统的登录处理一般都是和本地的用户信息进行比对,而现代的登录系统一般是发送请求到服务器进行验证,无论何种方式,都是需要去用户信息表找到对应的用户信息,取出密码进行验证,再多一点的话就是顺带把对应的用户权限也拉过去。
阅读全文
摘要:一、前言 Qt的跨平台特性是非常厉害的,本来作为C++来说,跨平台的特性比JAVA还要好,只不过学习难度更大,所以大家更理解的跨平台是JAVA,Qt的跨平台特性是我见过的所有开发环境和语言中最厉害的,据说现在还能跑在部分MCU单片机上,本来Qt的发家起步就是在linux系统上,嵌入式linux上应用
阅读全文
摘要:一、前言 模拟工具在一些涉及到硬件通信的程序中特别有用,也特别需要,回顾这十年来做过的项目,95%的项目都是软硬件交互的,貌似软硬件结合的项目更有生命力一些,纯软件的或者纯硬件的,并没有那么好控制,如果是软硬件结合的,就算硬件不挣钱,还可以通过控制软件部分和服务来挣钱,而如果软件免费的话,那就必须买
阅读全文
摘要:一、前言 设备调试核心就是将整个系统中的所有打印数据统一显示到一个模块上,一般都会将硬件通信的收发数据和对应的解析信号发出来或者qdebug出来,这个在调试阶段非常有用,可以具体追踪问题出在哪,哪个数据解析不对直接定位过去,这个模块直接留出界面进行打印查看等,可以在各种现场捕捉异常情况,让现场工程师
阅读全文
摘要:一、前言 组态设计是应一个客户要求新增加进去的,设计理念就是在提供一个组态设计的初级功能,比如读取自定义控件动态库,加载所有的控件放到控件栏(有点类似qtcreator的控件栏)用户拖曳对应的控件到画布上,自动生成控件,控件可以直接在画布上拉伸大小和拖动调整位置,设置一些控件本身的属性,比如各种颜色
阅读全文
摘要:一、前言 位置调整功能,以前是直接写在设备按钮这个自定义控件类中,核心就是安装事件过滤器,识别鼠标按下、鼠标移动、鼠标松开,这三个event,做出相应的处理即可,后面发现这个功能其实很多自定义控件或者widget都会使用到,需要在一个容器中拖动指定的控件,索性单独提取出来一个类专门干这个事情,后面发
阅读全文
摘要:一、前言 地图管理的主要功能是将系统中的地图文件做添加和删除,支持常见的jpg、png、bmp等格式图片,图片分辨率建议小于1080P,最好是和目标客户端电脑分辨率一致,这样在拉伸缩放的时候会比较清晰。图片建议使用鸟瞰图,有3D立体感,类似于那些卖房子售楼部的3D模型,不懂的人还以为是什么高级的技术
阅读全文
摘要:一、前言 类型设置这个功能模块大大拓展了整个系统的灵活性,将整个系统中所有用到的控制器型号、探测器数量、探测器型号、气体种类、气体符号都存储到数据库表中,用户在类型设置中可以自由添加删除和修改,这样后期如果增加了某个控制器、探测器等,自己添加进去即可,在控制器管理、探测器管理中对应字段的下拉框选择即
阅读全文
摘要:一、前言 报警联动功能不是一个常规的功能,一般是给客户定制的功能,比如探测器采集到的数据报警了,不仅本地要播放报警声音,存储报警记录,发送报警短信和邮件,还需要触发警号面板灯进行报警,而警号面板指示灯也是modbus协议485通信的,需要软件这边在指定的通信端口上发送数据点亮警号灯,而这个通信端口既
阅读全文
摘要:一、前言 探测器在整个系统中是最核心的关键的硬件,终端节点硬件,安装有探测芯片装置,负责探测前端对应气体浓度,并记录值,等待控制器轮训数据回复,控制器信息表也是字段最多的,要存储位号、控制器名称、探测器名称、寄存器地址、型号、气体种类、气体符号、上限值、下限值、最大值、消零、量程、状态、声音、地图、
阅读全文
摘要:一、前言 控制器管理,主要就是对控制器进行添加删除和修改,其中包括编号、端口名称、控制器名称、控制器地址、控制器型号、探测器数量这几个字段,端口名称表示当前控制器所属哪个端口,一个系统中可以有好多个端口,一个端口可以对应多个控制器,一个控制器可以接多个探测器。探测器数量这个参数主要是方便下发数据的时
阅读全文
摘要:一、前言 所有设备的信息配置,主要就三大点:端口管理、控制器管理、探测器管理,整个硬件系统的架构是有多个不同的通信端口(主要是串口和网络),每个通信端口下面挂着多个控制器(每个控制器都有唯一的地址,从1 255),每个控制器下面挂着多个探测器(每个探测器都有唯一的地址,从1 255),这样整个系统最
阅读全文
摘要:一、前言 作为一个管理系统,数据库肯定是不可或缺的,Qt内置的sqlite数据库已经是够用的,而且本人亲测数据量能支持亿级别,而不是像网上很多人说的千万级别,我模拟过一亿多条数据,依然能够很好的查询,而且还是在一张表哦,不过单文件好大,2G多,性能上相对于几百万条,肯定要差,但是这种亿级别的情况还是
阅读全文
摘要:一、前言 记录清理功能,在数据量很小的情况下,用不上,如果数据量大了的话,长年累月存储的,那就显得极其重要了,好比视频监控中的NVR存储的视频一样,一般来说存储个60天,那超过60天怎办呢,擦除早期的数据用来存储最近的数据即可。在这个气体安全管理系统中,数据量长年累月也是很大的,一般来说一个节点默认
阅读全文
摘要:一、前言 云端同步功能是为了后期的拓展做准备的,他的目的就是将本地的数据库中的记录,比如实时采集到的数据以及存储的运行记录等,同步到云端数据库上,默认采用阿里云的mysql数据库,阿里云速度还是挺快的,本人买过低配和高配的阿里云服务器,高配的真是碉堡了,上面的处理速度比我本地电脑都快很多,在远程连接
阅读全文
摘要:一、前言 在本系统中网络转发是个什么功能含义呢,其实就是将本地采集设备的所有数据打包发送到指定的网络地址,默认采用UDP的形式,无连接开销小,我也是看到很多的组态软件有这个功能,其实现有的很多的气体探测公司、环境监测公司等,都在大量的使用组态软件来做一个简单的系统提供给客户使用。这个网络转发用处很大
阅读全文
摘要:一、前言 邮件转发功能和短信告警功能基本一致,都是在判断报警后触发,可能稍微不同的是,邮件转发需要依赖互联网,而且能够发送的数据量很大,没有短信60个汉字的局限(当然短信也可以拆分多条发送,但是费钱,尽量信息控制在一条内尽可能还该最多的信息内容,在用户可以理解短信内容的情况下),邮件转发也是封装了一
阅读全文
摘要:一、前言 短信告警这个模块在很多项目中都用上了,比如之前做过的安防系统,温湿度报警系统等,主要的流程就是收到数据判断属于某种报警后,组织短信字符串内容,发送到指定的多个手机号码上面,使用的是短信猫硬件设备,其实就是个短信模块,没有使用网络的发送短信的api,毕竟大部分的软件应用场景都不能要求连通外网
阅读全文