APP下载

基于STM32与Qt框架的智能教室才能管理系统

2021-09-10但堂咏张国庆张红亮

机电工程技术 2021年3期
关键词:软件开发分布式自动化

但堂咏 张国庆 张红亮

摘要:为解决教室无人时电器仍在使用,学校用电量大的问题,从用电时间方面进行研究,设计出一个系统。该系统会在预选设定的时间或红外人体感应识别不到人体信号时返回对应信息至服务器,使用MQTT协议发送控制指令至通信单元,并在教室内使用ZigBee协议进行指令转发驱动控制单元,达到控制电器的目的。实践表明,该系统可以根据课表上下课时间自动控制电器开关或人为控制开关。

关键词:自动化;人工智能;软件开发;分布式

中图分类号:TP274 文献标志码:A

文章编号:1009—9492(2021)03—0120—03

0引言

为了解决学校教室无人时电器仍在使用,导致学校用电量大及人力维护成本高的问题,本文从用电时间人手,开发一个智能系统以降低用电时间。目前的智能教室系统,有的只能人工操作,无法达到自动化控制电器;有的能自动化控制,但是缺少数据采集用来分析。本系统针对上述短板,采用了MQTT&ZigBee的物联网M2M(Machine to Machine)模式,在达到自动化控制的同时,采集相关的数据进行分析,并按照对应的时间点或相关环境实现完全自动化,无需人员参与管理。该系统的使用不局限于高校的教学楼环境,类似于工厂、商场等高度集中的用电区域也可使用,从而达到自主管理,使更多的场合实现节能的理念。

1系統整体结构

系统整体结构设计主要有软件端、硬件端以及服务器,通过以太网的方式搭建通信桥梁,构成一整个完整系统。

系统是由运行在Linux或Windows操作系统上的软件端,通过读取数据库中的对应课表排表,形成判断是否启用或关闭用电设备的数据,并通过MQTT&Tomcat服务器与硬件端STM32控制板和CC2530通信板达成通信,将数据通过TCP/IP的网络连接方式进行接收发,从而实现用控制板自动控制和监控教室中的空调、多媒体、电灯等用电设备,避免在无课或无人预约使用的时候造成教室用电浪费,达到高效节能的目的。系统整体结构如图1所示。

系统的整体设计中考虑到模块化因素,如红外人体的检测、智能门锁感应等可根据相关需求自主添加相应模块,软件端也能适应性地识别相关模块的添加,对该模块进行匹配,实现指令接收发。

整套系统考虑到多级别调用,采用分布式设计,通过多级调用实现上层控制机对下层控制机的管理,并且所用软件所搭建的框架也能够多系统运行,对微型计算机的要求较低且兼容性更高。该设计有着利于管理和多兼容的特点,是对多间、多层、多栋的教学楼统一管理的最佳设计方案。

为顺应现代智能移动设备的发展,该套系统还有对应的小程序、App版本,通过系统移植的手段,让教室的管理人员和预约人员都能用移动电话等移动设备做到远程控制、远程监控或远程申请。直接点触控制的方式使用户更加便捷地使用该系统,同时也符合现代科技发展的趋势。

2硬件端结构

硬件方面,使用搭载LAN8720芯片,带有以太网口的STM32单片机,运用MQTT协议接收并解析服务器发送的指令,可以控制继电器等模块或者将指令从串口发送出去。CC2530通信板使用串口连接STM32单片机,使用ZigBee协议,负责将从STM32单片机发出的指令传到其他连接CC2530通信板的单片机,用来控制其他电器。

2.1指令接收和发送

该系统采用MQTT协议,系统信息流向过程:控制端发布指令到代理服务器,代理服务器将信息再发布到其中一块STM32单片机上,该单片机作为教室指令传输中转站,然后该单片机通过CC2530使用ZigBee协议将指令发送到其他终端。

2.1.1基于MQTT协议的信息收发

MQTF是基于客户端/服务器的传输协议,受控终端不必知道控制端的IP和端口,控制端也不必知道受控端的IP和端口,受控端和控制端只要连接到代理服务器上,终端订阅了相应的主题,只要有终端使用这个主题发布消息,订阅者就会收到信息。

基于MQTT协议的特性,STM32需要使用以太网连接到代理服务器,然后订阅相关的主题,当控制端需要使用相关主题发布指令来控制电器,单片机就可以接收并解析指令,从而选择控制电器或者再将指令继续发送。如图2所示。

2.1.2基于ZigBee协议的信息收发

ZigBee是低速短距离的无线传输协议,在一定范围内,使用该协议的设备会自动进行组网,一般会组成星状拓扑结构。该网络中的设备会以3种形式存在:(1)路由器,负责将信息转发;(2)协调器,负责组网和管理网络;(3)终端,是信息传输终点。

基于ZigBee协议的特性,当MQTT服务器将指令发送到其中一块STM32单片机上,经过解析后,若发现该指令不是该单片机所需,则STM32单片机通过串口将指令传到CC2530通信板。通信板作为ZigBee网络中的路由器,将指令发送到ZigBee网络中的其他终端,当其他终端收到指令后,根据指令执行操作。如图3所示。

2.2用电器控制

控制系统使用的是STM32单片机和继电器模块。STM32单片机是主要控制系统,接收从MQTF代理服务器或者CC2530通信板传送来的指令。单片机连接继电器,当收到指令后,单片机控制相关10口,进而控制继电器,继电器本身连接在电器的电线上,从而达到由单片机间接控制电源开关。

2.3总体结构

每间教室里有多个由STM32单片机和CC2530通信板组成的整体。其中一个整体里的STM32连接通过以太网连接MQTT代理服务器,称为总机,CC2530在ZigBee网络中作为路由节点。

当指令从控制端通过代理服务器发布到总机,总机接收并解析指令,然后将指令由串口发送到CC2530路由节点,路由节点再将指令发送到各个终端,然后以控制继电器的开关间接控制电器的开关。如图4所示。

3软件端结构

在软件设计上,采用Qt框架对整套软件做可视化设计,通过可后台运行和图形用户界面人为控制的设计以及数据库的建立,构成整个软件结构。软件与硬件互相配合,实现远程控制管理的模式。

3.1图形用户界面与内部逻辑

运用Qt图形用户界面开发框架开发可视化界面,并在后台做相关数据的处理。例如在监控用电器是否为工作状态时,回传数据的分析和判断;将电源启动指令发送等。

软件的界面设计主要对用电器监控视图与用电器开关控制视图2个界面做开发。

(1)用电器监控界面中,其主要形式为监控视图。大屏监控模式可具体到每个教室用电器的情况,管理员可观察用电器的工作状态,此界面可与用电开关控制视图在同一界面上显示,也可单独显示,但只有监控画面,无法做到控制其用电器的开关。

(2)用电开关控制视图中,有各个教室用电器的开关按钮,也有整个教室的所有用电器的开关按钮和单个用电器按钮的开关或其他组合开关,该界面也可单独显示,做到一键开关的功能。软件界面如图5所示。

同时,软件内部本身有着相关逻辑的实现,如指令的转换识别、数据的遍历排序等,采用C++的代码风格实现基本的运算处理和算法设计。

3.2数据库搭建与数据接收发

为了与学校原先的数据库匹配且相关数据不交叉,需要重新搭建数据库,并在数据库的数据中插入学校原先的课程数据安排。

在联合数据库的作用下,在软件内部通过相关逻辑代码将数据转化互通,形成时间排序表,利用软件内部时钟跟国家授时中心标准时间的北京时间做核对,在对应时间段内对不同的用电器发送指令;同时可视化界面可随意控制某一特定用电器的工作状态,达成人工可控、并行自动化的效果,意味着如果软件在失去了可控面板不能人为调节的情况下,也能根据课表自动化运行,不受影响。

3.3软件匹配与IP寻址

在软件运行后,需要自适应的匹配。匹配过程类似于密钥连接,通过广播信号的方式与路由器或相关网络设备获取许可,得到数据接收发的权限。

将软件运行在一计算机内,并将其跟一服务器连接,服务器中有着各个教室路由器的IP地址,通过IP地址的匹配对应到相应的教室,通过以太网并能将数据指定传输到某一单片机,让单片机执行控制任务。其中数据库中的课表也会随着预约教室、调课等情况作出调整。IP寻址方式如图6所示。

4软硬端间通信桥梁

在软件和硬件的搭桥上,考虑到实际情况的数据通信情况,固采用多级分布式路由,通过汇总的方式与服务器之间进行访问,再由服务器与软件客户端之间的API调用形成整个数据的回路。

服务器为整个桥梁的一个中转站,用户在客户端或者小程序执行了相关有效操作时,要先将数据调用服务器的相关接口通过Session在前端、后端之间传输数据,同时服务器在收到前端、客户端的相关指令后,会进行对应的操作。例如寻址,找到要执行当前任务对象对应的IP,再通过硬件部分的多级路由内部寻址,多次级别传输最终找到目标对象,如某教学楼某教室的灯,通过找到该对象后再对其进行对应的指令操作,如开灯、关灯、返回目标的状态信息。

硬件部分考虑到安全等相关因素,所有用电器的启动、关闭、信息返回都由服务器的后台程序自动调用以及客户端或小程序人为操控,硬件单体无法自主调用。在服务器发送相关的指令并在对应的用电器接收到后,硬件部分会通过一系列的有线、无线数据传输技术,将需要的数据(如灯的状态、空调的状态)回传给服务器。上述的硬件信息获取过程只有在客户端或者小程序联网后,主动或被动向服务器发送请求下才会执行。软硬件连接方式如图7所示。

5实验测试与分析

本项目完成系统的软硬件设计和系统搭建,完成实验和功能调试,在相关教学楼教室现场测试,满足要求。管理界面如图8~10所示。

6結束语

本文介绍了基于STM32与Qt框架的智能教室节能管理系统,该系统为减少学校教室用电量及人力成本,从用电时间着手,主要是控制电器开关,设计出此自动化系统。与传统的智能教室系统不同,该系统将服务器和路由器建立联系,在预选设定的时间或红外人体感应识别不到人体信号时,返回对应信息至服务器,通过服务器发送指令控制教室电器,大大降低了教室用电成本以及人力维护成本。本设计成果也可以应用到其他场所,具有一定的经济和社会效益。

猜你喜欢

软件开发分布式自动化
居民分布式储能系统对电网削峰填谷效果分析
基于Paxos的分布式一致性算法的实现与优化
信息安全环境下的计算机软件开发研究
AGV小车在白酒行业自动化立体仓库中的应用
核电厂定期试验管理软件开发
配电室无人职守集控站在京博石化的运用
配电线路运行资料管理自动化的探讨
FPGA软件开发过程中编码规范的作用