- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于QT的能耗管理系统终端设计
摘要:为了保证能耗数据可进行计算机或人工识别和处理,保证数据得到有效的管理,支持高效的查询以及能耗的实时监控,实现数据组织、存储、交换以及在物联网系统下的数据共享,按照国家规范的标准,基于QT平台设计出一套能够对大型建筑和智能家居系统进行能耗管理的智能终端系统。
关键词:能耗管理;QT;实时监控;物联网
引言
目前,我国对国家机关企事业单位大型公共建筑的用电情况采取多表制管理。不同的大功率电器接入电表不同。由于表类繁多,如空调、动力等,以及其他一些用途功能用电,不同电表之间的传输协议的不同,使得系统在能耗的管理上难度加大。大型公共建筑在电能节省和管理方面的需求日益增强,通过计划性的用电和节电可以更加合理地用电并且能够节约成本。此外,在智能家居系统的飞速发展中,能耗也成了一个重要的问题,在人们追求简洁方便的生活同时,降低能耗也成为了一个急待解决的问题。
针对这种情况,本文设计了针对大型建筑和智能家居的能耗管理系统,主要是对多个电能表进行数据采集和管理。设计了一套完整、安全、可靠的采集系统,能够实现对能耗数据进行统一的采集、处理、上传及分析等功能。在物联网发展的时代,对能耗的管理发展成为物联网中一个关键的部分。对大型建筑和智能家居系统来说,能耗管理的入网使得用户能够在任何地方都检测到自己的用电情况,并且能够进行分析、处理,实现能耗管理和维护。
本文提出了一种能耗管理系统方案,结合嵌入式技术、网络通信和加密技术,通过分析终端或服务器端的数据,可以实现大型建筑和智能家居的用电安全化、合理化以及高效化。这种能耗统一化的管理模式使得用户能够有效地进行用电规划管理,对大型建筑和智能家居系统的节能有着重要的意义。
1 系统设计方案
能耗管理系统主要设计思路是设计一套集能耗采集、能耗分析、能耗管理和数据上传为一体的终端平台。在此设计中,能耗管理系统主要包括3部分:能耗终端模块、子节点服务器和终端服务器。
①能耗终端模块:根据系统的需求,对能耗管理表的数据进行采集、分析,并进行网络资源的上传,主要是由ARM处理器完成的。
②子节点服务器:接收一个区域(例如酒店)公共建筑等的能耗终端上传上来的能耗数据,可对本区域能耗进行统一管理,进行能耗数据的查询、统计、报表、分析和预警。
③终端服务器:区域管理的资源最终上传至终端服务器,终端服务器是由国家相关部门所管理的,国家相关部门可以根据这些能耗数据进行一些相关调控,制订应急措施。
能耗管理系统的总体设计框架如图1所示。
三表采集器可以对用户的水电气三表进行数据采集。接入三表采集器,它可以采用有线或者无线的方式对各家各户的三表进行数据采集,基本上可以实现一个采集器对16户的水电气三表进行采集管理,然后通过以太网发送至子节点终端服务器进行数据存储。子节点服务器将数据继续发送给水电气部门的终端服务器进行统一管理,用户也可以通过智能手机或者PC机对本地用户水电气三表进行查询、管理或者完成缴费等业务。
2 终端硬件组成
2.1 核心处理器
能耗管理系统核心处理器采用S3C6410,它是一种ARM11处理器,工作频率高达533 MHz,能够轻松解决一些低成本、低功耗的复杂系统设计问题。有着丰富的外围资源,可以实现网络、串口通信、液晶显示等多项功能。其ARM核心处理器上能够移植Linux操作系统,Linux有着丰富的资源、完善的内核系统、强大的驱动模块、能够移植硬件系统模块。
能耗管理系统的设计,需要可靠的图形界面开发、系统网络协议的集成,以及底层的串口驱动开发。在这样一种工程应用性软件开发的情况下,采用带有Linux操作系统的ARM核心处理器是比较容易快捷的一种方式,相对于FPGA、DSP这类数字信号相关的开发,ARM核心处理器还是有其自身的优势。
2.2 外围模块
考虑到系统采集、传输、显示等功能,外围搭建了网络接口、串口、LCD液晶显示接口,以及基本的晶振、调试接口。能耗管理系统的硬件框图如图2所示。
能耗采集采用了核心处理器的串口资源,目前的水电气三表集成红外、RS485总线等接口。其中红外对方向性要求很高,在多块电表的采集中这种方案难以实现,RS485总线是一种串行通信总线,其资源配置较容易,采用MAX485将串口信号转换为485信号即可,MAX485的远距离传输,可接入多个节点,解析方便,在能耗管理系统中,优势十分突出。对数据资源的采集完成后,进行统一的数据上传存储。
3 终端软件设计
能耗管理系统软件以Linux作为基础,采用QT作为图形界面应用程序开发框架,Linux操作系统完善的驱动程序以及高效的内核管理系统,使得工程应用程序在Linux系统上的开发显得相对容易。QT是Linux操作系统上的一种GUI软件,它能够很好地支持图形界面程序的开发,使得ARM在图像应用中显得更加容易。为了实现在ARM上的Linux操作系统的移植,需要加入相应的编译器arm-linux-gcc,其安装过程如图3所示。
4 终端功能
4.1 系统功能简介
能耗管理系统主要有4个主要功能。
(1)能耗数据的采集
能耗数据采集采用无线422射频模块,其远距离传输及穿透性强的特点,可以保证系统数据的无丢失传输。能耗数据采集传输协议采用电能表通信协议规范,如DLT645—1997、DLT645—2007。在系统采集的数据中需要对采集器的属性定义进行统一规范,如采集器编号、采集器的电表比率、采集器的类型编号、采集器的传输协议规范等。
(2)能耗数据的处理分析
能耗数据处理分析主要分为两个部分:数据分析判断和数据处理。数据分析判断主要是对发送数据的地址位、校验位进行判断。对地址位判断主要是对发送数据的地址及接收到的数据位地址进行比对,其地址位包含6位二进制数据。对校验位判断,DLT645—1997是对其前16位数据进行相加然后取其16进制的后两位与17位数据进行比对;DLT645—1997是对其前18位数据进行相加然后取其16进制的后两位与19位数据进行比对。
(3)能耗数据的组合运算
能耗数据的组合运算主要是针对不同能耗器采集来的电能数据根据其功能的不同进行能耗的数据运算组合。其中包括数据的相加、相减。在能耗管理系统中对以下5种能耗进行分类管理:总电能、照明、空调、动力和特殊5类用电。
(4)能耗数据的网络上传
对于能耗数据的网络上传功能主要采用XML技术,将采集数据的参数进行放置匹配。其中包含了楼宇、电表号、电表类型、电表比率、电表数据。在网络上传的功能中加入了断电续传技术及安全加密技术,保证了数据的安全传输。
4.2 数据XML存储功能
数据存储采用了XML进行存储,XML是一种标记的语言,能够规范地存储简单的信息。智能电表数据存储的格式如图4所示。
其中,存储的类型主要分为3类:Devices设备类、Consists组合类、Password密码类,如表1所列。
在ARM系统中XML的移植采用了TinyXML。它是一款基于DOM模型的XML解析器,在系统程序中主要负责XML的存储和数据提取。在系统中使用了TinyXML文件,需要对其文件进行解压、动态库编译,生成安装,并移植到ARM平台。在QT平台的工程文件中,加入TinyXML,然后调用相应的头文件即可实现XML的统一管理规划。
4.3 断电续传功能
4.3.1 断点续传流程
为了实现数据传输的稳定性,在服务器出现故障的情况下,不影响终端的正常数据传输功能,采用了断电续传的一种保护机制,对系统的稳定性以及数据的完整性提供可靠的保证。
当服务器端发生异常情况导致网络不通时,为了防止数据的丢失,将发送失败的网络数据暂时存储至ARM系统的临时文件夹mnt下,在网络恢复后即可实现存储文件的继续上传。断电续传的具体流程图如图5所示。
4.3.2 文件遍历
针对多个服务器下的数据传输,临时存储的文件需要分类存储,发向不同服务器的文件采用IP名称进行临时存储,采用文件遍历的方式进行文件传输,根据名称提取出相应的IP号以及发送的文件名称。
由于文件遍历的随机性可能导致临时的文件排序产生错误,使得发送的数据产生一些混乱,因此断电存储的数据,必须按照一定的顺序进行存储。系统设计中采用了以时间命名的方式进行对应存储,因为时间不可能存在重名,而且可以按照一定的序列方式进行排列,所以发送的数据可以按照时间顺序进行统一发送,使得服务器端接收的数据不会发生错误。在调用函数时如果采用opendir的模式则会产生序列的混乱,这里采用scandir的模式,并且调用alphasort进行顺序排列。
5 系统验证及应用
系统选用的采集器是东软的DDZY-943-Z单项费控智能电能表,如图6所示。其表读数可以从图中读出为21.57°。
如图7所示,在能耗管理终端平台上可以看见地址为111111111111的能耗表数据为21.57°,分配到照明和空调处,总能耗为两个电表相加读数。
对于终端服务器,可以根据我们的系统软件得到采集的时间、采集的电表号及电表的读数。终端服务器数据接收如图8所示。
此设计已经在重庆邮电大学智能家居组实验室开始得到应用,实现了智能家居能耗的信息化管理。一方面,该设计实现家庭内部各电器用电信息的查询、分析和统计管理;另一方面,能耗管理系统给家庭用电管理提供了更高的效率和质量保障。
结语
该能耗管理系统应用了嵌入式Linux技术、485总线技术、数据XML存储技术、数据运算和解析技术等。此系统有效解决了大型建筑能耗的管理问题,并且促进了智能家居节能化发展。
利用这项设计可以有效地实现能耗的远程采集、能耗系统的分类及远程的数据上传功能。可以帮助一些大型建筑降低能耗,不仅促进了企业用电的节能化发展,对智能家居的发展也有一定的促进意义。