解决方案:Qt编写物联网管理平台47-通用数据库设置

优采云 发布时间: 2022-11-24 14:36

  解决方案:Qt编写物联网管理平台47-通用数据库设置

  一、简介

  为了制作这个通用的数据库组件,专门安装了一个虚拟机来安装各种版本的不同类型的数据库进行测试,包括编译相应的数据库插件。不同的Qt版本编译mysql和oracle数据库插件,不同的数据库进行查询数据、页面显示数据、清除数据、批量插入数据、批量删除数据等操作。经过至少半个月的疯狂战斗,mysql单独装了5.7和8.0版本,postgresql装了9.0、10.0、13.0三个版本,oracle装了11.0,国产数据库装了kingbaseV8,反复把物联网管理平台,视频监控系统,可视化大屏电子看板系统,在各种数据库下经过测试,优化了上百个细节,

  常用数据库组件的基本功能:

  检测数据库连接是否正常,一般是在不指定数据库名的情况下进行检测,因为此时数据库不存在,需要先连接再新建。执行sql脚本初始化数据库,包括新建数据库,新建数据库表,初始化记录等通用数据库连接和管理类,负责打开和关闭数据库,执行sql语句,批量执行,自动重连,实时检测连接状态等。通用的数据库记录清理类,负责清理指定数据库表的记录。通用数据库记录翻页类,不同的数据库类型对应不同的查询翻页显示记录语句。将数据库表绑定到数据模型 QSqlTableModel。获取查询记录数的语句,不同的数据库类型有不同的sql语句。查询数据库的所有表名和所有字段名,不同的数据库类型使用不同的sql语句。通用日期范围sql语句。2. 功能特点 2.1 软件模块 设备监控模块,包括数据监控(表格形式展示)、设备面板(面板形式展示)、地图监控(地图形式展示)、曲线监控(曲线形式展示)。数据查询模块,包括报警记录、运行记录、操作记录。系统设置模块,包括基本设置、端口管理、控制器管理、探测器管理、报警联动、类型设置等其他设置模块,包括用户管理、地图管理、

  每个端口都支持采集周期时间,默认为一台设备1秒。支持设置通讯超时次数,默认3次。支持重新读取离线设备的最大重连时间。控制器信息,可以添加控制器名称,选择控制器地址,控制器型号,设置控制器下的探测器数量。探测器信息,可添加位数、探测器型号、气体类型、气体符号、高报值、低报值、缓冲值、清零值、启用或禁用、报警声音、背景图、存储期限、小数点数值转换数、报警延迟时间、报警类型(HH、LL、HL)等。类型管理可以配置控制器型号、探测器型号、气体类型、气体符号等。地图支持导入和删除,并且所有探测器在地图上的位置都可以自由拖拽保存。端口信息、控制器信息、探测器信息、型号信息、用户信息等,均支持导入、导出、导出excel、打印。操作记录、报警记录、运行记录均支持时间段、控制器、探测器等多条件组合查询,所有记录支持excel/pdf导出和打印。操作记录、告警记录、操作记录可以删除指定时间范围内的数据。系统设置可以选择对应表保存的最大记录数,自动清除前期数据,留出足够的空间存放重要数据。报警短信转发支持多个接收手机号码,发送间隔可设置,如即时发送或每6小时发送一次所有报警信息。如果短信内容过长,会自动拆分多条短信。

  报警邮件转发,支持多个接收邮箱,可设置发送时间间隔,如立即发送或每6小时发送一次所有报警信息,并支持发送附件。设置软件的中文标题、英文标题、标识路径、版权等。开关机可设置开机运行、报警音、自动登录、记住密码等。报警音播放次数可设置,界面风格提供18套皮肤文件选项。用户管理,包括用户权限配置,不同的用户可以有不同的模块权限。用户登录和用户退出,可以记住密码并自动登录,三种以上错误提示并关闭程序。四种监控模式,设备面板监控,地图监控,表格数据监控,和曲线数据监控,可自由切换。四种模式实时显示采集数据,报警闪烁等。报警继电器联动,一个位号可以跨串口链接多个模块和继电器号,支持多对多。2.3 特点 通讯协议支持modbus_com、modbus_tcp_rtu,以及后来扩展的mqtt等协议。数据源除了真正的硬件设备采集外,还可以通过数据库采集数据源,这样用户就可以安排java程序员等其他程序员把前端采集的数据放到数据库中,系统可以直接从数据库中采集

。数据库获取方式可作为通用系统使用,更适合多人、多系统协作。智能跳过超时设备,加快在线设备的采集

速度,尤其适用于设备数量较多的情况。对于智能跳过的超时设备,会在设置的重连时间自动采集一次,以检测设备是否再次上线。

  无论启用与否,每个检测器都是可控的。如果不启用,则不会被采集,也不会显示在界面上,相当于在运行阶段暂时关闭。探测器可以设置缓冲值和报警延迟时间。围绕该值波动产生的告警不算告警。只有持续处于报警值并超过报警延迟时间,才算真正报警。这样可以避免很多由波动引起的误报。报告。检测仪可设置存储周期,并根据设置的时间存储运行记录。存储周期可以根据重要程度设置的越短,设置的越高,不重要的设置的越长,可以节省大量的存储空间。,也保证了重要数据的及时存储。检测器可以设置为清除该值。一些高精度、高灵敏度的设备在出厂时可能默认值不为0,需要设置清零值来表示初始值。探测器可以设置小数点,用于控制计算出的真实数据小数点的显示,相当于除以10、100、1000,这样大部分探测器数据可以直接控制小数点设置。需要特殊转换的值,很少可以在通信协议中约定。检测器警报有多种类型。有些设备高于某个值就报高,低于某个值就报低。高于最大值是正常的。这允许个案处理以涵盖各种警报类型。独创数据导入、导出、打印机制,跨平台不依赖任何组件,即时导出数据。导出excel的记录支持所有excel、wps等表格文件版本,不依赖excel等软件。

  可以自由设置高报表颜色、低报表颜色、普通颜色、默认值颜色等。支持云端数据同步,将本地采集的数据实时同步到云端。支持网络转发和网络接收,开启网络接收后,软件从udp接收数据进行分析。网络转发支持多目标IP,实*敏*感*词*仓等,本地设备采集的数据实时上传到云端,方便通过手机APP等其他方式提取或网络。自带设备模拟工具,支持不同机型的多台设备数据模拟,也有数据库数据模拟,可以在没有设备的情况下测试数据。标准modbus协议,各种控制器类型,探测器类型,类型,符号等都是定制的,非常灵活和强大,通讯协议实例数据非常齐全,通用各种modbus协议系统,适合各种应用场景接入。同时集成了串口通讯、网络通讯、数据库通讯、数据导入导出打印、通讯协议解析、界面UI、全局换肤等诸多组件和知识点,非常适合初学者和高级用户。

  支持xp、win7、win10、win11、linux、mac、各种国产系统(UOS、致胜麒麟、银河麒麟等)、嵌入式linux等系统。注释齐全,项目结构清晰,超详尽的用户开发手册准确到每个代码文件的功能描述,版本不断迭代。3.体验地址 国内站:/feiyangqingyun 国际站:/feiyangqingyun 个人主页:/feiyangqingyun 知乎主页:/people/feiyangqingyun 产品主页:/feiyangqingyun/article/details/97565652 在线文档:feiyangqingyun.gitee.io/qwidgetdemo/iotsystem/体验地址:/s/1ZxG-oyUKe286LPMPxOrO2A 提取码:o05q 文件名:bin_iotsystem.zip。文章导航:/article/details/121330922 4.渲染

  5.相关代码

<p>void frmConfigDb::on_btnConnect_clicked()

{

{

//初始化数据库连接信息结构体数据

DbInfo dbInfo;

initDbInfo(dbInfo, connName);

QString dbType = AppConfig::LocalDbType.toUpper();

if (dbType == "SQLITE") {

dbInfo.dbName = DbHelper::getDbDefaultFile(connFlag);

if (QFile(dbInfo.dbName).size()

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线