基于Android平台的节能监管系统实现
扫描二维码
随时随地手机看文章
引言
“物联网”的概念最早于1999年提出,即把所有物品通过信息传感设备与互联网连接起来,实现智能化识别和管理。2005年11月17日,在突尼斯举行的信息社会世界峰会(WSIS)上,国际电信联盟(ITU)发布《ITU互联网报告2005:物联网》,正式提出了“物联网”的概念。报告指出:无所不在的“物联网”通信时代即将来临,世界上所有的物体从轮胎到牙刷、从房屋到纸巾都可以通过因特网主动进行信息交换。
作为物联网概念的一个能源分支,节能监管也提上了新的日程。随着科技的不断进步,工业生产自动化也跟着蓬勃发展,自动化提高了生产力,同时也消耗了大量的能源,当能源需求量不断激增时,能源制造成本也将跟着大幅攀升。各行各业都面临激烈的市场竞争,生产设备运行电费已经成为重要的成本支出,面临着低利润以及高成本的双重压力,纷纷寻求各种高效的节能技术降低用电成本,透过监控手段自动监测并管理能源使用状况,以提高能源利用率,降低单位生产成本,除了可直接提升竞争力外,还能兼顾节能减碳的环保责任。
1节能监控系统的架构
Android平台的节能监管系统提供校园日常使用能耗的实时数据查询监测、校园各种能源系统进行集中管理的功能。校园节能监控平台和Android移动手持设备可实现校园电能的实时在线监测及自动化监控和数据自动采集与存贮、数据统计与分析、数据远程传输和数据显示,使学校管理部门对能源系统进行有效的监控与管理,为校园节能降耗研究提供了真实数据。
本系统是一个基于Android智能终端的智能校园能源管理系统,它是集电能监测与控制于一体,通过ARM嵌入式网关、ZigBee通信模块、电力监测仪表及Android智能终端构成整个校园电能的监管系统,主要综合了电能电量的实时监控监督、电器开关控制、危险报警等功能。本系统基于局域网,以TCP/IP协议Modbus规约传输多种控制信号,易于Internet连接和访问。Android节能监管系统框图如图1所示。
2节能监管系统的研究内容
2.1采用无线通信技术
节能监控系统应用的主要技术包括智能监测技术、ZigBee通信技术、ARM嵌入式网关技术和Android智能终端技术。智能监测仪表接入电路中用于收集电能的相关信息及相关电器控制;ZigBee通信模块通过TTL接口与智能检测仪表相连构成下层子网;ARM网关与下层子网间通过ZigBee进行数据交换实现控制;Android智能终端通过局域网(实际应用时是通过Internet)与ARM网关进行数据交换从而获取对下层子网的控制及信息的采集显示等。Android移动终端的用户程序提供给用户进行远程操作,ARM网关主要在Linux操作系统上通过QT程序实现上下层的操作及电能的功能操作,ARM网关端的触摸板供客户操作控制。
目前所有的产品无外乎两种数据传输的方式:有线方式和无线方式。有线方式即总线控制方式,如EIB、C-Bus、H-Bus、LonWorks、SCS、RS485等,有线方式由于因为需要进行布置复杂的线路,对原有建筑造成不同程度的破坏,而且维护、扩展有很多局限性,所以,采用有线通信方式的产品正在被逐渐淘汰。
无线方式包括射频、载波、Wi-Fi、ZigBee、蓝牙等。本文设计的节能监管系统采用ZigBee组网方式,而目前国内仅有个别厂家采用ZigBee组网方式,表1所列是对各种无线组网方式的节能监管系统进行的比较。
ZigBee技术是一种近距离、低复杂度、低功耗、低数据速率、低成本的双向无线通信技术,主要适合于自动控制和远程控制领域,可以嵌入各种设备中,同时支持地理定位功能。相对于现有的各种无线通信技术,ZigBee技术是最低功耗和成本的技术,这些特点决定了在节能监管系统中采用ZigBee组网是非常合适的。
ZigBee网络中的设备可分为协调器(Coordinator),汇聚节点(Router)、传感器节点(EndDevice)三种角色。可在节能监控系统中实现1个协调器和多个节点之间的串口透明传输。图2所示是协调器和多节点透明传输的结构图。
系统中采用一个ZigBee模块充当ZigBee协调器,通过串口与ARM嵌入式网关相连,接收网关发来的数据,当协调器收到数据后通过ZigBee广播发给各个电表,报文中包含设备地址,对应地址的电表做出动作。
协调器处理多节点机制,为了记录这个短地址我定义了一个结构体来记录每个节点的短地址,广播时通过短地址循环发送给各个节点,处理反馈时,通过反馈的短地址,给对应的节点单独发送。
数据发送有超时和防丢包机制。每次都会进行计数比较,监听报文计数,如果计数不对,就表明出现了丢包现象,函数就会给以丢包状态,调用重发机制,同时通过字节数比较,监听串口是否发送超时,如果超时给一定的延时,让其稳定发完。
2.2 Modbus规约
Modbus规约是国际工业标准通信协议,Modbus安全可靠、通俗易懂,作为本系统的通信方式,保证整个系统更加稳定可靠。
Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(如以太网)和其它设备之间通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了控制器请求访问其它设备的过程,如何回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。
Modbus通信规约主要有以下3个特点:
(1) 标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权;
(2) 支持多种电气接口,如RS232、RS485等,还可以在各种介质上传送,如双绞线、光纤、无线等。
(3) Modbus的帧格式简单、紧凑,通俗易懂,表2所列为Modbus规约的信息结构。
2.3 SQLite3数据库
SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前很多嵌入式产品已经在使用,它占用资源非常低,在嵌入式设备中,可能只需要几百KB的内存就够了。它能够支持Windows、Linux、Unix等主流的操作系统,同时能够跟很多程序语言相结合,比如TCL、C#、PHP、Java等,还有ODBC接口,同时比MySQL、PostgreSQL的处理速度更快。
在嵌入式网关和智能终端程序中使用了SQLite3数据库,在此数据库中,主要定义3个表,即:电表的档案表、电表历史数据表、定时控制继电器状态表。
表3所列为电表的档案表,表中对每个电表的一些信息进行了记录。
表4为电表历史数据表,记录了由档案表中的interval字段而决定的获取时间间隔数据,由此来实现历史数据的存储。
表5为定时控制继电器状态表,记录了每块电表的两个继电器所需要的开通时间和关闭时间,分别指的是:在关的时间段之后,继电器状态需由服务器发送关指令让其关闭,达到节能效果,避免无故浪费电能;在开的时间段内,就不需要再主动控制继电器的状态,根据当天需要手动通电即可。
3ARM嵌入式网关的设计
ARM嵌入式网关采用三星S2C2440,内嵌Linux2.6操作系统和USB、SD卡、以太网、串口等驱动,实现电能数据的监测、开关的通断、数据管理等功能。在网关系统中采用C/S软件架构,有服务器和可视化软件客户端(QT界面),服务器与多功能电表的串口设备通信实现监测和控制,服务器采用多线程架构和使用TCP数据通信实现与智能终端通信的功能,多线程架构解决了多客户端与服务器链接所弓起的并发问题,很好地解决了并发所带来的弊端,实现多客户端同时链接和同时请求的功能。
3.1服务器程序流程
该系统的服务器程序流程如下:
(1) 串口设备的初始化
在Linux系统中,先对串口设备1(/dev/ttySACl)初始化,保证后面的所有代码能够调用这个设备进行读写操作;
(2) 自动获取电表实时数据线程的启动
启动一个线程,再根据数据库中的ammeterfiletable表中的interval字段设置自动采集每块电表的实时数据,并保存在数据库中;
(3)定时控制多功能电表继电器状态线程的启动
启动一个线程,然后根据数据库中的ammeterrelaycontroltable继电器控制表中的各个继电器的字段来实现定时套接字的初始化,监听网卡上的所有IP地址,并创建服务器线程等待客户端链接,当有客户端链接后,创建一个线程与客户端进行Socket通信,实时维护客户端的请求。
3.2程序使用的机制
3.2.1实行多线程机制
程序中要实现诸多功能,自动定时获取每块多功能电表的实时数据,定时控制电表的继电器状态(实现智能监控大楼的电的通与断),实时接收客户端的链接请求,实时处理客户端的数据、功能请求等功能。多线程机制实现了同时处理多个任务或客户端的请求,增加了服务器对某些任务处理的实时性。
3.2.2共享资源的多线程之间的互斥机制
在服务器这个系统中,每一个客户端线程和自动获取实时数据线程,都有可能在同一个时刻或同一个时段去使用一个资源,即串口设备(ttySACl),当多个线程对这个设备进行访问时,就会出现数据紊乱,每个线程得到的大多不是自己的数据,为了解决这个问题,使用了线程之间的互斥机制,使用一把锁(mutex),如果一个线程在申请获得这把锁时,发现锁已被其他线程所拥有,则须等待其他线程释放后,再一起和其他线程竞争这把锁,有效解决了数据紊乱的现象。
4Android智能终端软件的设计
4.1Android智能终端软件的主要功能
(1)大楼的管理
包括修改、查看、删除、还有添加功能,主要针对大楼的名称、IP地址、端口号、大楼的层数以及地址码进行操作。
(2)电表的管理包括修改、查看、删除、还有添加功能,主要针对电表的地址码进行操作。
(3) 大楼的电能分析
大楼中的电表分为总表和分表,针对每一个表的功率和电量进行分析,以饼状图的形式表现出来,让用户直观地看到电能量的分析;计算了总表和分表的电量差,可以判断偷电漏电情况;根据电量算出了损耗率。
(4) 电表的电能量实时显示
点击抄表按钮可以获取当前表的电能量分析,主要包括:A相电压、B相电压、C相电压;A相电流、B相电流、C相电流;AC相电压、BC相电压、AC相电压;有功功率、无功功率、功率因素、频率等信息。
继电器的开关控制
每个电表上有两个继电器,可以通过相关的按钮来实时控制其开关,通过设置继电器的开关时间来节约电能。
(5) 电表电能量曲线图
曲线图每隔15s获取一次当前表的实时信息,其中包括:A相电压、B相电压、C相电压;A相电流、B相电流、C相电流并通过曲线图的方式显示出来,让用户直观地看到电压、电流的变换。
4.2智能终端软件的实现
4.2.1界面显示模块的实现
主要实现对接收到的报文数据进行图形化显示功能:利用按钮、曲线图、饼状图等图形化工具来更加直观高效地显示数据,图3所示是其界面流程图。
4.2.2报文处理模块的实现
主要是对报文进行校验和解析,并且对解析后的数据进行处理,最终转化成可以显示给用户的信息。图4所示是该系统中的报文解析流程图。
4.2.3大楼与电表的管理模块
通过数据库来管理大楼,主要实现对大楼信息和电表信息的添加、删除、修改、查询等功能。
5系统主要特点
本系统采用ZigBee技术,功耗低、可靠性高、自组网、网络容量大、成本低、数据安全性高、通用性好;
该系统采用了嵌入式网关技术,具有服务器和QT客户端功能,手机连接服务器实现数据的采集和通信功能,QT客户端实现参数的设定、数据的显示和曲线的查询等功能;
系统采用移动终端技术,可通过手机平台对校园用电情况进行实时监控与管理,防止意外事故发生,增强了校园的安全性,创建和谐校园。
本系统以智能、节能、远程、便捷、科学管理的理念为主要设计思想,拥有远程和本地两个用户操作平台,可以让用户更方便实时地掌握校园用电情况,实时监测用电,实时控制用电,动态分析用电,并且具有定时开关功能,给用户提供更方便、更智能的服务,体现了科学管理的思想。
6结语
本文对基于Android平台的节能监管系统进行了研究与探讨,在分析了节能监管系统的架构、Modbus规约和SQLite3数据库层次后,提出了一套基于ZigBee和Android平台的节能监管系统,该系统采用ZigBee技术和移动终端技术,该技术应用在节能监管系统中具有诸多显著特点。本文通过对通信方式比较后,在节能监管系统中选择ZigBee通信技术,在自动化通信领域具有很好的优势;在应用中选择移动终端技术,具有基于移动互联网和可靠的嵌入式等特点,使节能监控系统具有智能化和可移动性;基于Android平台的节能监管系统在学校中的应用和实现,使学校管理部门对能源管理有了高效的监管手段。