Qt/C++物联网
文章平均质量分 95
Qt编写的物联网管理平台 公众号:Qt实战/Qt入门和进阶
feiyangqingyun
欢迎关注公众号:Qt实战/Qt入门和进阶(各种开源作品、经验整理、项目实战技巧,专注Qt/C++软件开发,视频监控、物联网、工业控制、嵌入式软件、国产化系统应用软件开发)
展开
-
Qt/C++编写物联网管理平台文章导航
文章链接1-项目框架https://qtchina.blog.csdn.net/article/details/1029985562-界面框架https://qtchina.blog.csdn.net/article/details/1030015873-用户模块https://qtchina.blog.csdn.net/article/details/1030107034-通信协议https://qtchina.blog.csdn.net/article/de....原创 2021-11-15 11:15:52 · 4518 阅读 · 0 评论 -
Qt/C++编写物联网管理平台(支持win/linux/mac/嵌入式linux/modbus/mqtt等)
这个物联网综合管理平台前后迭代了五年,一点一滴慢慢积累起来,从最开始的只有modbus串口协议解析以及简单的表格显示数据,慢慢的逐渐增加了tcp_rtu支持,用户管理模块,地图监控模块,而后为了拓展性又做了云端数据同步,网络数据转发等。原创 2022-11-28 09:00:51 · 13878 阅读 · 13 评论 -
Qt/C++编写物联网管理平台50-超强跨平台
跨平台的需求,除了是用户的需求外,也是为了适应日益增长的国产操作系统的发展的需要,当前国产操作系统发展的如火如荼,100%都是围绕linux系统展开,说的好听点就是站在巨人的肩膀上开发,不好听点就是换壳,当然也不乏有实力的厂商投入了大量的研发的人力物力来做这一块,也确确实实在此基础上做了很多人性化的东西,从底层做优化,提高安全性以及更适合国人使用习惯等。...原创 2022-08-09 09:21:14 · 2623 阅读 · 0 评论 -
Qt/C++编写物联网管理平台49-设备模拟工具
本系统专门配备了设备模拟工具,用来在没有外接真实设备的时候,模拟modbus协议数据,支持多个设备,支持串口和网络方式,可切换正常数据和报警数据,反应到主程序上。对应主程序中两种端口,一种是串口端口(这个可以用虚拟串口工具VirtualSerialPort虚拟一对串口用于测试),一种是网络端口(注意选择的监听主机地址和端口)。数据库模拟对应程序中的数据库采集运行模式,可以勾选自动模拟复选框。随机生成状态字段数据。https。...原创 2022-08-01 08:52:32 · 2164 阅读 · 2 评论 -
Qt/C++编写物联网管理平台48-特色功能设计
在物联网管理平台的实际现场应用过程中,遇到过大大小小几十个改进的需求点,这些需求点都是实际用户提出来的,一方面为了方便用户使用提高用户体验,一方面为了提升整体的整个系统的完整性,甚至有些需求说的不好听一点就是造假,比如硬件设备精度不够,会短暂的在某些值附近飘动,但是客户端采集到数据后,如果该值刚好在报警值附近飘动,不能说是报警,因为也有可能是干扰引起的飘动,这种严格意义上说又不算是报警,只有持续超过了报警值,才算是真正的报警,所以需要设计一个报警延时参数,超过了延时时间还处于报警则认为是报警。字段说明。..原创 2022-07-28 08:59:03 · 3670 阅读 · 1 评论 -
Qt/C++编写物联网管理平台47-通用数据库设置
探测数据库连接是否正常,一般是在不指定数据库名称的前提下探测,因为此时数据库并不存在,需要连接后再去新建。执行sql脚本初始化数据库,包括新建数据库、新建数据库表、初始化记录等。通用数据库连接和管理类,负责数据库的打开、关闭、执行sql语句、批量执行、自动重连、实时检测连接状态等。通用数据库记录清理类,负责清理指定数据库表的记录。通用数据库记录翻页类,不同数据库类型对应不同的查询翻页显示记录语句。绑定数据库表到数据模型QSqlTableModel。...原创 2022-07-25 09:09:53 · 1610 阅读 · 0 评论 -
Qt/C++编写物联网管理平台46-云端数据同步
在上一篇文章说的采集数据转发的基础上,针对方案一还做了云端数据同步功能,满足各式各样的用户需求。云端数据库同步,相当于把本地采集到的数据实时存储到云端,至于这些记录到了云端后什么用途,客户端软件这边不用管,比如一般会用来做web请求访问,或者app请求获取数据,具体应用看用户需求。云端数据库也会存储到NodeData表中,意味着任意地方的客户端,都可以选择数据库采集模式,直接连接云端的数据库作为数据源。这样相当于可以无限级联。...原创 2022-07-22 11:10:37 · 1541 阅读 · 0 评论 -
Qt/C++编写物联网管理平台45-采集数据转发
本系统严格意义上说是一个直连硬件的客户端软件,下面接的modbus协议的设备直接通过网络或者串口和软件通信,软件负责解析数据和存储记录。有时候客户想要领导办公室或者分管这一块的部门经理办公室,也安装一套这样的软件,能够查看到对应设备的数据,一种方式是将本地数据存储或者转发到云端,其他需要拉数据或者订阅数据的地方,往服务器订阅就行,客户端这边只负责上传数据就行。...原创 2022-07-20 08:43:50 · 1962 阅读 · 0 评论 -
Qt/C++编写物联网管理平台44-告警邮件转发
上一篇文章说的是告警短信发送,这种效率非常高,缺点也很明显,需要购买特定的短信硬件设备支持才行,而且每条短信都要收费,如果要求发送的短信数量特别多,这个费用常年累月下来也是不少的,客户就不愿意了,所以又衍生出了另外一种方式,那就是发送报警邮件,现在智能手机人人都有,对应系统的管理员或者保安当然都有,手机上安装一个邮箱软件,收到邮件后立即通知提醒,不错过每一个重要的警情信息,这样就完美的取代了告警短信转发的方案。...原创 2022-07-18 09:18:44 · 1947 阅读 · 0 评论 -
Qt/C++编写物联网管理平台43-告警短信转发
系统在运行过程中,会实时采集设备的数据,当采集到的数据发生报警后,可以将报警信息以短信的形式发送给指定的管理员(可以是多个),这样管理员就算不在现场,也能第一时间知道哪里发生了报警,可以紧急赶往现场处置。很多时候软件都是放在现场电脑上运行的,未必现场有人员一直盯着看,通过短信的形式,第一时间送达关键人员那里,及时响应,不错过任何一次重大报警信息,可以在后台设定过滤哪些设备产生的报警需要第一时间送达,还可以设置短信发送的间隔,多个接收者。...原创 2022-07-15 09:31:35 · 1492 阅读 · 1 评论 -
Qt/C++编写物联网管理平台42-数据查询导出打印
本系统存储的三大类记录,运行日志、报警日志、用户日志,这些不同类似的记录,都需要提供查询功能,可以按照记录的时间范围等条件查询,查询的记录需要做分页显示,为了分页显示还特意花了很多时间专门封装了一个通用分页控件,分两部分,一部分专门的分页UI展示,显示页码,可以单击页码直接跳转到对应页,也可以直接数码页码跳转,还可以上一页、下一页、第一页、末一页按钮跳转。一部分是分页功能,专门按照不同的数据库组合sql分页语句查询。关于分页语句,sqlite和mysql用的是limit,sqlserver用的是top,po原创 2022-07-13 08:49:12 · 1432 阅读 · 0 评论 -
Qt/C++编写物联网管理平台41-自动清理早期数据
随着时间的增加,存储的历史记录也在不断增加,如果设备数量很多,存储间隔很短,不用多久,数据库中的记录就非常多,至少是百万级别起步,而且有些用户还是需要存储每一次的采集的数据,这数据量别说一年,就是一个月下来都是恐怖级别的,所以这就涉及到一个重要的需求,如何自动清理早期的不需要的数据,比如只保存最近10万条记录,或者保存最近30天的记录,这就需要安排个线程,在线程中打开数据库以后,每隔一段时间去查询记录数量,超过了设定的最大值,则按照时间顺序把早期的数据删除,其实就是执行一个sql语句。如果设置的是只存储最近原创 2022-07-11 09:00:59 · 1198 阅读 · 0 评论 -
Qt/C++编写物联网管理平台40-类型种类
为了增强本系统的拓展性,做成通用的物联网管理平台,特意将控制器主设备类型、探测器子设备类型、对应种类符号等信息,全部做成表格可自定义添加和修改,这样在控制器信息表和探测器信息表管理的时候,可以自由下拉选择,而不用去更改源代码程序,这样处理和架构就离通用的物联网平台系统更进一步了,在表格或者地图设备上,显示的对应单位符号也是由用户自己选择的,当然也默认了一套类型种类,方便懒人使用。最开始做这个对应数据的时候,一开始是放在配置文件中,后面发现不妥,有部分类型种类是有对应关系的,后面又改了一版做的是文本文件存储信原创 2022-07-09 09:38:40 · 1445 阅读 · 0 评论 -
Qt/C++编写物联网管理平台39-报警联动
本系统支持报警联动,就是某个探测器报警后,再去下发命令,通知下面的继电器警号,一般是通过串口发送,由于现场会利用现有的串口线路比如485总线,所以本系统需要做特殊处理,就是公用485通信总线,在报警联动表中,如果添加的串口号是在端口信息表中存在的,则不需要new串口,直接将要处理的命令发给端口通信类就行,端口通信类在轮询的时候查找有没有需要优先执行的命令,有的话则优先处理这些命令,只有这些命令全部处理完成后,再去发轮询命令。一个子设备报警,可以联动多个继电器,一对多的关系,多个设备也可以联动到同一个继电器,原创 2022-07-07 08:42:38 · 1824 阅读 · 0 评论 -
Qt/C++编写物联网管理平台38-多种数据库支持
本系统设计之初就要求支持多种不同的数据库,比如sqlite、mysql、postgres、sqlserver等,甚至包括国产数据库比如人大金仓kingbase等,(由于现在国产化的大力推进,国产数据库也是必须要支持的),Qt中封装的数据库组件sql模块,对所有数据库都做了抽象层,这就为应用程序做多种数据库支持做了很好的前提准备,所以更多的在细节处理,比如数据库日期范围查询,不同数据库处理方式不一样,这就需要在自己封装的组件中做不同的处理,还有就是数据库分页,不同数据库的分页查询语句是不一样的,比如sqlit原创 2022-07-04 09:39:08 · 1813 阅读 · 3 评论 -
Qt/C++编写物联网管理平台37-逻辑设计
本系统的逻辑设计是个人认为做过的系统中最好的,一个系统支持多个通信端口,每个通信端口都可选不同的通信协议,一个通信端口可以接255个控制器,相当于主设备,一个控制器可以接255个探测器,相当于子设备,这样就打破了一条线路255个设备总数的限制,一下子提高到65000个,而且整个软件支持多个线路,就是几十万个设备接入也可以,但是实际上不会有这么多,真要有这么多设备,那卖硬件也赚翻了,实际的应用场景一般在几千个子设备,本系统亲测几千个设备毫无压力。在程序设计上面,根据端口表中有多少个端口就new多少个通信类,每原创 2022-06-29 08:58:06 · 1679 阅读 · 1 评论 -
Qt/C++编写物联网管理平台36-通信协议
本系统默认采用modbus协议,支持串口和网络rtu模式,后期还会引入其他通信协议比如mqtt等,可以在端口管理中下拉选择通信协议即可。提示说明示例数据1示例数据2示例数据3原创 2022-06-22 08:32:15 · 2340 阅读 · 0 评论 -
Qt/C++编写物联网管理平台35-实时曲线
设备采集到的数据,通过曲线展示也是一种非常好的方式,尽管之前已经有了表格数据展示、设备面板展示、设备地图展示等,实时曲线也是一种不错的方式,这个用户自由选择,反正通过端口已经拿到了所有要采集的数据,根据通信协议已经把所有设备的数据解析好了,至于何种展示形式,都可以很方便的把数据传入进行处理。目前做的实时曲线展示,采用的用户自己选择某个设备进行监听,近期经过再次研究qcustomplot的功能,发现其实qcustomplot内置了一个控件中摆放多个曲线,每条曲线都可以独立的坐标轴系统,大概在2014年的时候开原创 2022-06-20 12:05:45 · 2074 阅读 · 3 评论 -
Qt/C++编写物联网管理平台34-地图按钮
地图按钮很常见,这也是用户给钱就干的一个模块。设备现场提供了对应的地图文件,其实就是图片文件,做的简单点就是直接CAD图纸转成jpg,做的精致点就是搞了3D风格的立体样式图片,其实还是图片,并不是真正的3D,看起来像是3D的感觉。很多人看到效果图都来问这个3D怎么实现的,真正的3D实现都非常复杂,需要懂opengl,网页上用的是webgl,当然也有不少的轮子可以直接使用。地图按钮就是一个终端传感器作为一个按钮点,分布在对应的图片文件上,其实就是父类设置为label,label显示对应的图片。图片大小的算法,原创 2022-06-17 19:12:27 · 1251 阅读 · 0 评论 -
Qt/C++编写物联网管理平台33-设备面板
设备面板展示数据,相对于表格展示,可能在一个页面中能够展示的设备数据量少一些,但是有些用户和场景,又需要这种面板的形式,可能更生动形象一些。尤其是经过这么些年的社会的毒打,我的原则是:用户是上帝和大爷,尽量站在用户的角度换位思考,只要是合理或者基本合理的需求,甚至说只要不是太过分,给钱就干。其实这种面板展示数据的需求,从我刚开始工作的时候,编写的软件,就已经有了,比如一台主机对应一个设备面板,除了显示对应的数值(电压值、电流值等),每个面板上还有按钮提供用户交互操作。对于通用的物联网平台来说,需要进行交互的原创 2022-06-07 08:46:37 · 2531 阅读 · 2 评论 -
Qt/C++编写物联网管理平台32-表格数据
用表格来展示采集到的数据,是很多组态系统中最常见的方法,一个表格能够展示的数据特别多,在本系统中,默认做的也是通过表格的形式来展示数据,目前是将所有的设备放在一个表格中,后期可能按照不同控制器对应一个表格,一般来说一个场所对应一个控制器,一个控制器下面会有很多个探测器,相当于终端传感器,最终这些终端传感器采集到的数据,传给控制器,控制器打包上发,软件这边接收到以后根据不同的位解析对应的数据。表格展示数据,需要对不同状态的数据不同颜色显示,这样一目了然,比如至少区分正常状态、低报状态、高报状态、离线状态这几种原创 2022-06-02 08:37:49 · 1438 阅读 · 1 评论 -
Qt/C++编写物联网管理平台31-用户权限管理
一、前言随着需求的不断变化,功能的增多,在用户信息这块,除了需要用户登录退出验证以外,还需要有个简单的用户权限逻辑处理,比如限定某些用户只有查看权限,没有删除记录、清空记录、系统设置的权限,与之相对应的就是用户信息表中,存储有该用户具备哪些权限,当该用户登录成功以后,对应的权限应用到各个界面逻辑中,一般都是在触发了对应的显示或者单击后处理,比如不具备删除记录权限,则在对应的删除记录代码中过滤处理,判断当前登录的用户是否具备该权限,不具备则弹出提示,不做处理。还有一个就是切换界面的时候,没有到该界面的权限弹原创 2022-05-25 09:23:00 · 4326 阅读 · 1 评论 -
Qt/C++编写物联网管理平台30-用户登录退出
一、前言一个用户登录界面,是一个完整的应用系统,尤其是客户端系统必备的一个功能模块,传统的登录处理一般都是和本地的用户信息进行比对,而现代的登录系统一般是发送请求到服务器进行验证,无论何种方式,都是需要去用户信息表找到对应的用户信息,取出密码进行验证,再多一点的话就是顺带把对应的用户权限也拉过去。为了使得多个系统共用一套用户登录用户退出的界面和代码,特意提炼出了共同点,作为通用的用户登录退出模块,放在core_form模块中,这样后期有更新或者BUG修复,只需要更改这个通用模块就行,陆续写过很多系统,都原创 2022-05-23 09:10:10 · 1759 阅读 · 4 评论 -
Qt/C++编写物联网管理平台29-跨平台
一、前言Qt的跨平台特性是非常厉害的,本来作为C++来说,跨平台的特性比JAVA还要好,只不过学习难度更大,所以大家更理解的跨平台是JAVA,Qt的跨平台特性是我见过的所有开发环境和语言中最厉害的,据说现在还能跑在部分MCU单片机上,本来Qt的发家起步就是在linux系统上,嵌入式linux上应用比较多,只不过最近十年来,由于安卓的迅猛发展,逐步被蚕食了一些市场,还剩一些跑安卓卡爆了的配置很低的...原创 2019-12-11 10:15:12 · 2115 阅读 · 1 评论 -
Qt/C++编写物联网管理平台28-模拟工具
一、前言模拟工具在一些涉及到硬件通信的程序中特别有用,也特别需要,回顾这十年来做过的项目,95%的项目都是软硬件交互的,貌似软硬件结合的项目更有生命力一些,纯软件的或者纯硬件的,并没有那么好控制,如果是软硬件结合的,就算硬件不挣钱,还可以通过控制软件部分和服务来挣钱,而如果软件免费的话,那就必须买硬件,必须跑在这个硬件上才能最好的发挥软件效果,这样软件免费靠硬件挣钱的例子,也不少,这些年接触过形...原创 2019-12-07 13:32:19 · 1182 阅读 · 1 评论 -
Qt/C++编写物联网管理平台27-设备调试
一、前言设备调试核心就是将整个系统中的所有打印数据统一显示到一个模块上,一般都会将硬件通信的收发数据和对应的解析信号发出来或者qdebug出来,这个在调试阶段非常有用,可以具体追踪问题出在哪,哪个数据解析不对直接定位过去,这个模块直接留出界面进行打印查看等,可以在各种现场捕捉异常情况,让现场工程师将调试的数据保存好发给开发人员即可,帮助分析问题,因为很多时候是家里公司测试的好好的,到了现场各种千...原创 2019-12-06 12:46:16 · 4655 阅读 · 1 评论 -
Qt/C++编写物联网管理平台26-组态设计
一、前言组态设计是应一个客户要求新增加进去的,设计理念就是在提供一个组态设计的初级功能,比如读取自定义控件动态库,加载所有的控件放到控件栏(有点类似qtcreator的控件栏)用户拖曳对应的控件到画布上,自动生成控件,控件可以直接在画布上拉伸大小和拖动调整位置,设置一些控件本身的属性,比如各种颜色,同时还提供用户属性设置功能,用户可以自定义很多属性绑定在这个控件上,一般来说一个控件会定义一些Q_...原创 2019-12-05 09:38:33 · 3011 阅读 · 1 评论 -
Qt/C++编写物联网管理平台25-位置调整
一、前言位置调整功能,以前是直接写在设备按钮这个自定义控件类中,核心就是安装事件过滤器,识别鼠标按下、鼠标移动、鼠标松开,这三个event,做出相应的处理即可,后面发现这个功能其实很多自定义控件或者widget都会使用到,需要在一个容器中拖动指定的控件,索性单独提取出来一个类专门干这个事情,后面发出开源代码。位置调整也叫设备拖动,一般是要在设计阶段时候,运行阶段是禁用的,不然在运行阶段让操作员...原创 2019-12-04 09:26:56 · 829 阅读 · 1 评论 -
Qt/C++编写物联网管理平台24-地图管理
一、前言地图管理的主要功能是将系统中的地图文件做添加和删除,支持常见的jpg、png、bmp等格式图片,图片分辨率建议小于1080P,最好是和目标客户端电脑分辨率一致,这样在拉伸缩放的时候会比较清晰。图片建议使用鸟瞰图,有3D立体感,类似于那些卖房子售楼部的3D模型,不懂的人还以为是什么高级的技术呢,其实就是一张图片。在做很多需要地图模块的系统的过程中,总结出了几个经验,如下:第一个是如何快速...原创 2019-12-03 08:59:27 · 1413 阅读 · 1 评论 -
Qt/C++编写物联网管理平台23-类型设置
一、前言类型设置这个功能模块大大拓展了整个系统的灵活性,将整个系统中所有用到的控制器型号、探测器数量、探测器型号、气体种类、气体符号都存储到数据库表中,用户在类型设置中可以自由添加删除和修改,这样后期如果增加了某个控制器、探测器等,自己添加进去即可,在控制器管理、探测器管理中对应字段的下拉框选择即可,最开始系统设计的时候没有考虑这么多,后面用户那边不断增加不同类型的设备,导致代码改来改去,极其不...原创 2019-12-02 09:25:46 · 1221 阅读 · 1 评论 -
Qt/C++编写物联网管理平台22-报警联动
一、前言报警联动功能不是一个常规的功能,一般是给客户定制的功能,比如探测器采集到的数据报警了,不仅本地要播放报警声音,存储报警记录,发送报警短信和邮件,还需要触发警号面板灯进行报警,而警号面板指示灯也是modbus协议485通信的,需要软件这边在指定的通信端口上发送数据点亮警号灯,而这个通信端口既可以是原来的设备所使用的端口,也可以是独立的端口,所以在做的报警联动信息表的时候,应该考虑到这个因素...原创 2019-11-30 13:19:00 · 1802 阅读 · 1 评论 -
Qt/C++编写物联网管理平台21-探测器管理
一、前言探测器在整个系统中是最核心的关键的硬件,终端节点硬件,安装有探测芯片装置,负责探测前端对应气体浓度,并记录值,等待控制器轮训数据回复,控制器信息表也是字段最多的,要存储位号、控制器名称、探测器名称、寄存器地址、型号、气体种类、气体符号、上限值、下限值、最大值、消零、量程、状态、声音、地图、存储、小数点、报警延时、报警类型、X坐标、Y坐标.各个字段的含义如下:编 号:节点的编号...原创 2019-11-29 09:24:59 · 1195 阅读 · 1 评论 -
Qt/C++编写物联网管理平台20-控制器管理
一、前言控制器管理,主要就是对控制器进行添加删除和修改,其中包括编号、端口名称、控制器名称、控制器地址、控制器型号、探测器数量这几个字段,端口名称表示当前控制器所属哪个端口,一个系统中可以有好多个端口,一个端口可以对应多个控制器,一个控制器可以接多个探测器。探测器数量这个参数主要是方便下发数据的时候,提前知道要取多少个探测器的数据,组成对应的数据包下发下去,可以规避一下无效的数据,比如下面是16...原创 2019-11-28 10:39:49 · 1204 阅读 · 1 评论 -
Qt/C++编写物联网管理平台19-端口管理
一、前言所有设备的信息配置,主要就三大点:端口管理、控制器管理、探测器管理,整个硬件系统的架构是有多个不同的通信端口(主要是串口和网络),每个通信端口下面挂着多个控制器(每个控制器都有唯一的地址,从1-255),每个控制器下面挂着多个探测器(每个探测器都有唯一的地址,从1-255),这样整个系统最多能够接入的设备数量可以到255*255=65535个,而大部分的modbus系统都是255个,这样...原创 2019-11-27 08:54:08 · 1549 阅读 · 1 评论 -
Qt/C++编写物联网管理平台18-数据库设置
一、前言作为一个管理系统,数据库肯定是不可或缺的,Qt内置的sqlite数据库已经是够用的,而且本人亲测数据量能支持亿级别,而不是像网上很多人说的千万级别,我模拟过一亿多条数据,依然能够很好的查询,而且还是在一张表哦,不过单文件好大,2G多,性能上相对于几百万条,肯定要差,但是这种亿级别的情况还是很少的啦,也是建议存储到千万级别就可以的,超过的就做自动清理早期数据。为了兼容性和拓展性,本系统除...原创 2019-11-26 09:17:03 · 1505 阅读 · 1 评论 -
Qt/C++编写物联网管理平台17-记录清理
一、前言记录清理功能,在数据量很小的情况下,用不上,如果数据量大了的话,长年累月存储的,那就显得极其重要了,好比视频监控中的NVR存储的视频一样,一般来说存储个60天,那超过60天怎办呢,擦除早期的数据用来存储最近的数据即可。在这个气体安全管理系统中,数据量长年累月也是很大的,一般来说一个节点默认每分钟存储一个数据,如果100个节点(这个应该是保守的数量,据说应用的好多个现场有500个左右的节点...原创 2019-11-25 09:19:46 · 1139 阅读 · 1 评论 -
Qt/C++编写物联网管理平台16-云端同步
一、前言云端同步功能是为了后期的拓展做准备的,他的目的就是将本地的数据库中的记录,比如实时采集到的数据以及存储的运行记录等,同步到云端数据库上,默认采用阿里云的mysql数据库,阿里云速度还是挺快的,本人买过低配和高配的阿里云服务器,高配的真是碉堡了,上面的处理速度比我本地电脑都快很多,在远程连接的桌面中,使用起来不要太爽,缺点就是费钱,我买的是按照使用时间来收费的,还是挺好的,要用的时候服务器...原创 2019-11-24 10:07:22 · 1741 阅读 · 1 评论 -
Qt/C++编写物联网管理平台15-网络转发
一、前言在本系统中网络转发是个什么功能含义呢,其实就是将本地采集设备的所有数据打包发送到指定的网络地址,默认采用UDP的形式,无连接开销小,我也是看到很多的组态软件有这个功能,其实现有的很多的气体探测公司、环境监测公司等,都在大量的使用组态软件来做一个简单的系统提供给客户使用。这个网络转发用处很大,比如可以转发到多个网络中的客户端,层层级联,一般来说都是设备采集端作为发送端,而另外的客户端作为接...原创 2019-11-23 10:21:16 · 1015 阅读 · 1 评论 -
Qt/C++编写物联网管理平台14-邮件转发
一、前言邮件转发功能和短信告警功能基本一致,都是在判断报警后触发,可能稍微不同的是,邮件转发需要依赖互联网,而且能够发送的数据量很大,没有短信60个汉字的局限(当然短信也可以拆分多条发送,但是费钱,尽量信息控制在一条内尽可能还该最多的信息内容,在用户可以理解短信内容的情况下),邮件转发也是封装了一个类SendEmailThread,和短信转发对等,都使用的线程来发送,在本系统中,组织邮件内容的时...原创 2019-11-22 09:18:36 · 2244 阅读 · 1 评论 -
Qt/C++编写物联网管理平台13-短信告警
一、前言短信告警这个模块在很多项目中都用上了,比如之前做过的安防系统,温湿度报警系统等,主要的流程就是收到数据判断属于某种报警后,组织短信字符串内容,发送到指定的多个手机号码上面,使用的是短信猫硬件设备,其实就是个短信模块,没有使用网络的发送短信的api,毕竟大部分的软件应用场景都不能要求连通外网,安全考虑,所以必须采用本地的硬件来实现发送短信。这个短信猫设备在8年前开始用过,当时用的C#去写了...原创 2019-11-22 09:01:13 · 1341 阅读 · 1 评论