基于Android平臺的節(jié)能監(jiān)管系統(tǒng)實現(xiàn)
引言
“物聯(lián)網(wǎng)”的概念最早于1999年提出,即把所有物品通過信息傳感設(shè)備與互聯(lián)網(wǎng)連接起來,實現(xiàn)智能化識別和管理。2005年11月17日,在突尼斯舉行的信息社會世界峰會(WSIS)上,國際電信聯(lián)盟(ITU)發(fā)布《ITU互聯(lián)網(wǎng)報告2005:物聯(lián)網(wǎng)》,正式提出了“物聯(lián)網(wǎng)”的概念。報告指出:無所不在的“物聯(lián)網(wǎng)”通信時代即將來臨,世界上所有的物體從輪胎到牙刷、從房屋到紙巾都可以通過因特網(wǎng)主動進行信息交換。
作為物聯(lián)網(wǎng)概念的一個能源分支,節(jié)能監(jiān)管也提上了新的日程。隨著科技的不斷進步,工業(yè)生產(chǎn)自動化也跟著蓬勃發(fā)展,自動化提高了生產(chǎn)力,同時也消耗了大量的能源,當能源需求量不斷激增時,能源制造成本也將跟著大幅攀升。各行各業(yè)都面臨激烈的市場競爭,生產(chǎn)設(shè)備運行電費已經(jīng)成為重要的成本支出,面臨著低利潤以及高成本的雙重壓力,紛紛尋求各種高效的節(jié)能技術(shù)降低用電成本,透過監(jiān)控手段自動監(jiān)測并管理能源使用狀況,以提高能源利用率,降低單位生產(chǎn)成本,除了可直接提升競爭力外,還能兼顧節(jié)能減碳的環(huán)保責任。
1節(jié)能監(jiān)控系統(tǒng)的架構(gòu)
Android平臺的節(jié)能監(jiān)管系統(tǒng)提供校園日常使用能耗的實時數(shù)據(jù)查詢監(jiān)測、校園各種能源系統(tǒng)進行集中管理的功能。校園節(jié)能監(jiān)控平臺和Android移動手持設(shè)備可實現(xiàn)校園電能的實時在線監(jiān)測及自動化監(jiān)控和數(shù)據(jù)自動采集與存貯、數(shù)據(jù)統(tǒng)計與分析、數(shù)據(jù)遠程傳輸和數(shù)據(jù)顯示,使學校管理部門對能源系統(tǒng)進行有效的監(jiān)控與管理,為校園節(jié)能降耗研究提供了真實數(shù)據(jù)。
本系統(tǒng)是一個基于Android智能終端的智能校園能源管理系統(tǒng),它是集電能監(jiān)測與控制于一體,通過ARM嵌入式網(wǎng)關(guān)、ZigBee通信模塊、電力監(jiān)測儀表及Android智能終端構(gòu)成整個校園電能的監(jiān)管系統(tǒng),主要綜合了電能電量的實時監(jiān)控監(jiān)督、電器開關(guān)控制、危險報警等功能。本系統(tǒng)基于局域網(wǎng),以TCP/IP協(xié)議Modbus規(guī)約傳輸多種控制信號,易于Internet連接和訪問。Android節(jié)能監(jiān)管系統(tǒng)框圖如圖1所示。
2節(jié)能監(jiān)管系統(tǒng)的研究內(nèi)容
2.1采用無線通信技術(shù)
節(jié)能監(jiān)控系統(tǒng)應(yīng)用的主要技術(shù)包括智能監(jiān)測技術(shù)、ZigBee通信技術(shù)、ARM嵌入式網(wǎng)關(guān)技術(shù)和Android智能終端技術(shù)。智能監(jiān)測儀表接入電路中用于收集電能的相關(guān)信息及相關(guān)電器控制;ZigBee通信模塊通過TTL接口與智能檢測儀表相連構(gòu)成下層子網(wǎng);ARM網(wǎng)關(guān)與下層子網(wǎng)間通過ZigBee進行數(shù)據(jù)交換實現(xiàn)控制;Android智能終端通過局域網(wǎng)(實際應(yīng)用時是通過Internet)與ARM網(wǎng)關(guān)進行數(shù)據(jù)交換從而獲取對下層子網(wǎng)的控制及信息的采集顯示等。Android移動終端的用戶程序提供給用戶進行遠程操作,ARM網(wǎng)關(guān)主要在Linux操作系統(tǒng)上通過QT程序?qū)崿F(xiàn)上下層的操作及電能的功能操作,ARM網(wǎng)關(guān)端的觸摸板供客戶操作控制。
目前所有的產(chǎn)品無外乎兩種數(shù)據(jù)傳輸?shù)姆绞剑河芯€方式和無線方式。有線方式即總線控制方式,如EIB、C-Bus、H-Bus、LonWorks、SCS、RS485等,有線方式由于因為需要進行布置復雜的線路,對原有建筑造成不同程度的破壞,而且維護、擴展有很多局限性,所以,采用有線通信方式的產(chǎn)品正在被逐漸淘汰。
無線方式包括射頻、載波、Wi-Fi、ZigBee、藍牙等。本文設(shè)計的節(jié)能監(jiān)管系統(tǒng)采用ZigBee組網(wǎng)方式,而目前國內(nèi)僅有個別廠家采用ZigBee組網(wǎng)方式,表1所列是對各種無線組網(wǎng)方式的節(jié)能監(jiān)管系統(tǒng)進行的比較。
ZigBee技術(shù)是一種近距離、低復雜度、低功耗、低數(shù)據(jù)速率、低成本的雙向無線通信技術(shù),主要適合于自動控制和遠程控制領(lǐng)域,可以嵌入各種設(shè)備中,同時支持地理定位功能。相對于現(xiàn)有的各種無線通信技術(shù),ZigBee技術(shù)是最低功耗和成本的技術(shù),這些特點決定了在節(jié)能監(jiān)管系統(tǒng)中采用ZigBee組網(wǎng)是非常合適的。
ZigBee網(wǎng)絡(luò)中的設(shè)備可分為協(xié)調(diào)器(Coordinator),匯聚節(jié)點(Router)、傳感器節(jié)點(EndDevice)三種角色??稍诠?jié)能監(jiān)控系統(tǒng)中實現(xiàn)1個協(xié)調(diào)器和多個節(jié)點之間的串口透明傳輸。圖2所示是協(xié)調(diào)器和多節(jié)點透明傳輸?shù)慕Y(jié)構(gòu)圖。
系統(tǒng)中采用一個ZigBee模塊充當ZigBee協(xié)調(diào)器,通過串口與ARM嵌入式網(wǎng)關(guān)相連,接收網(wǎng)關(guān)發(fā)來的數(shù)據(jù),當協(xié)調(diào)器收到數(shù)據(jù)后通過ZigBee廣播發(fā)給各個電表,報文中包含設(shè)備地址,對應(yīng)地址的電表做出動作。
協(xié)調(diào)器處理多節(jié)點機制,為了記錄這個短地址我定義了一個結(jié)構(gòu)體來記錄每個節(jié)點的短地址,廣播時通過短地址循環(huán)發(fā)送給各個節(jié)點,處理反饋時,通過反饋的短地址,給對應(yīng)的節(jié)點單獨發(fā)送。
數(shù)據(jù)發(fā)送有超時和防丟包機制。每次都會進行計數(shù)比較,監(jiān)聽報文計數(shù),如果計數(shù)不對,就表明出現(xiàn)了丟包現(xiàn)象,函數(shù)就會給以丟包狀態(tài),調(diào)用重發(fā)機制,同時通過字節(jié)數(shù)比較,監(jiān)聽串口是否發(fā)送超時,如果超時給一定的延時,讓其穩(wěn)定發(fā)完。
2.2 Modbus規(guī)約
Modbus規(guī)約是國際工業(yè)標準通信協(xié)議,Modbus安全可靠、通俗易懂,作為本系統(tǒng)的通信方式,保證整個系統(tǒng)更加穩(wěn)定可靠。
Modbus協(xié)議是應(yīng)用于電子控制器上的一種通用語言。通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(如以太網(wǎng))和其它設(shè)備之間通信。它已經(jīng)成為一通用工業(yè)標準。有了它,不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進行集中監(jiān)控。此協(xié)議定義了一個控制器能認識使用的消息結(jié)構(gòu),而不管它們是經(jīng)過何種網(wǎng)絡(luò)進行通信的。它描述了控制器請求訪問其它設(shè)備的過程,如何回應(yīng)來自其它設(shè)備的請求,以及怎樣偵測錯誤并記錄。它制定了消息域格局和內(nèi)容的公共格式。
Modbus通信規(guī)約主要有以下3個特點:
(1) 標準、開放,用戶可以免費、放心地使用Modbus協(xié)議,不需要交納許可證費,也不會侵犯知識產(chǎn)權(quán);
(2) 支持多種電氣接口,如RS232、RS485等,還可以在各種介質(zhì)上傳送,如雙絞線、光纖、無線等。
(3) Modbus的幀格式簡單、緊湊,通俗易懂,表2所列為Modbus規(guī)約的信息結(jié)構(gòu)。
2.3 SQLite3數(shù)據(jù)庫
SQLite是一款輕型的數(shù)據(jù)庫,是遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),它的設(shè)計目標是嵌入式的,而且目前很多嵌入式產(chǎn)品已經(jīng)在使用,它占用資源非常低,在嵌入式設(shè)備中,可能只需要幾百KB的內(nèi)存就夠了。它能夠支持Windows、Linux、Unix等主流的操作系統(tǒng),同時能夠跟很多程序語言相結(jié)合,比如TCL、C#、PHP、Java等,還有ODBC接口,同時比MySQL、PostgreSQL的處理速度更快。
在嵌入式網(wǎng)關(guān)和智能終端程序中使用了SQLite3數(shù)據(jù)庫,在此數(shù)據(jù)庫中,主要定義3個表,即:電表的檔案表、電表歷史數(shù)據(jù)表、定時控制繼電器狀態(tài)表。
表3所列為電表的檔案表,表中對每個電表的一些信息進行了記錄。
表4為電表歷史數(shù)據(jù)表,記錄了由檔案表中的interval字段而決定的獲取時間間隔數(shù)據(jù),由此來實現(xiàn)歷史數(shù)據(jù)的存儲。
表5為定時控制繼電器狀態(tài)表,記錄了每塊電表的兩個繼電器所需要的開通時間和關(guān)閉時間,分別指的是:在關(guān)的時間段之后,繼電器狀態(tài)需由服務(wù)器發(fā)送關(guān)指令讓其關(guān)閉,達到節(jié)能效果,避免無故浪費電能;在開的時間段內(nèi),就不需要再主動控制繼電器的狀態(tài),根據(jù)當天需要手動通電即可。
3ARM嵌入式網(wǎng)關(guān)的設(shè)計
ARM嵌入式網(wǎng)關(guān)采用三星S2C2440,內(nèi)嵌Linux2.6操作系統(tǒng)和USB、SD卡、以太網(wǎng)、串口等驅(qū)動,實現(xiàn)電能數(shù)據(jù)的監(jiān)測、開關(guān)的通斷、數(shù)據(jù)管理等功能。在網(wǎng)關(guān)系統(tǒng)中采用C/S軟件架構(gòu),有服務(wù)器和可視化軟件客戶端(QT界面),服務(wù)器與多功能電表的串口設(shè)備通信實現(xiàn)監(jiān)測和控制,服務(wù)器采用多線程架構(gòu)和使用TCP數(shù)據(jù)通信實現(xiàn)與智能終端通信的功能,多線程架構(gòu)解決了多客戶端與服務(wù)器鏈接所弓起的并發(fā)問題,很好地解決了并發(fā)所帶來的弊端,實現(xiàn)多客戶端同時鏈接和同時請求的功能。
3.1服務(wù)器程序流程
該系統(tǒng)的服務(wù)器程序流程如下:
(1) 串口設(shè)備的初始化
在Linux系統(tǒng)中,先對串口設(shè)備1(/dev/ttySACl)初始化,保證后面的所有代碼能夠調(diào)用這個設(shè)備進行讀寫操作;
(2) 自動獲取電表實時數(shù)據(jù)線程的啟動
啟動一個線程,再根據(jù)數(shù)據(jù)庫中的ammeterfiletable表中的interval字段設(shè)置自動采集每塊電表的實時數(shù)據(jù),并保存在數(shù)據(jù)庫中;
(3)定時控制多功能電表繼電器狀態(tài)線程的啟動
啟動一個線程,然后根據(jù)數(shù)據(jù)庫中的ammeterrelaycontroltable繼電器控制表中的各個繼電器的字段來實現(xiàn)定時套接字的初始化,監(jiān)聽網(wǎng)卡上的所有IP地址,并創(chuàng)建服務(wù)器線程等待客戶端鏈接,當有客戶端鏈接后,創(chuàng)建一個線程與客戶端進行Socket通信,實時維護客戶端的請求。
3.2程序使用的機制
3.2.1實行多線程機制
程序中要實現(xiàn)諸多功能,自動定時獲取每塊多功能電表的實時數(shù)據(jù),定時控制電表的繼電器狀態(tài)(實現(xiàn)智能監(jiān)控大樓的電的通與斷),實時接收客戶端的鏈接請求,實時處理客戶端的數(shù)據(jù)、功能請求等功能。多線程機制實現(xiàn)了同時處理多個任務(wù)或客戶端的請求,增加了服務(wù)器對某些任務(wù)處理的實時性。
3.2.2共享資源的多線程之間的互斥機制
在服務(wù)器這個系統(tǒng)中,每一個客戶端線程和自動獲取實時數(shù)據(jù)線程,都有可能在同一個時刻或同一個時段去使用一個資源,即串口設(shè)備(ttySACl),當多個線程對這個設(shè)備進行訪問時,就會出現(xiàn)數(shù)據(jù)紊亂,每個線程得到的大多不是自己的數(shù)據(jù),為了解決這個問題,使用了線程之間的互斥機制,使用一把鎖(mutex),如果一個線程在申請獲得這把鎖時,發(fā)現(xiàn)鎖已被其他線程所擁有,則須等待其他線程釋放后,再一起和其他線程競爭這把鎖,有效解決了數(shù)據(jù)紊亂的現(xiàn)象。
4Android智能終端軟件的設(shè)計
4.1Android智能終端軟件的主要功能
(1)大樓的管理
包括修改、查看、刪除、還有添加功能,主要針對大樓的名稱、IP地址、端口號、大樓的層數(shù)以及地址碼進行操作。
(2)電表的管理包括修改、查看、刪除、還有添加功能,主要針對電表的地址碼進行操作。
(3) 大樓的電能分析
大樓中的電表分為總表和分表,針對每一個表的功率和電量進行分析,以餅狀圖的形式表現(xiàn)出來,讓用戶直觀地看到電能量的分析;計算了總表和分表的電量差,可以判斷偷電漏電情況;根據(jù)電量算出了損耗率。
(4) 電表的電能量實時顯示
點擊抄表按鈕可以獲取當前表的電能量分析,主要包括:A相電壓、B相電壓、C相電壓;A相電流、B相電流、C相電流;AC相電壓、BC相電壓、AC相電壓;有功功率、無功功率、功率因素、頻率等信息。
繼電器的開關(guān)控制
每個電表上有兩個繼電器,可以通過相關(guān)的按鈕來實時控制其開關(guān),通過設(shè)置繼電器的開關(guān)時間來節(jié)約電能。
(5) 電表電能量曲線圖
曲線圖每隔15s獲取一次當前表的實時信息,其中包括:A相電壓、B相電壓、C相電壓;A相電流、B相電流、C相電流并通過曲線圖的方式顯示出來,讓用戶直觀地看到電壓、電流的變換。
4.2智能終端軟件的實現(xiàn)
4.2.1界面顯示模塊的實現(xiàn)
主要實現(xiàn)對接收到的報文數(shù)據(jù)進行圖形化顯示功能:利用按鈕、曲線圖、餅狀圖等圖形化工具來更加直觀高效地顯示數(shù)據(jù),圖3所示是其界面流程圖。
4.2.2報文處理模塊的實現(xiàn)
主要是對報文進行校驗和解析,并且對解析后的數(shù)據(jù)進行處理,最終轉(zhuǎn)化成可以顯示給用戶的信息。圖4所示是該系統(tǒng)中的報文解析流程圖。
4.2.3大樓與電表的管理模塊
通過數(shù)據(jù)庫來管理大樓,主要實現(xiàn)對大樓信息和電表信息的添加、刪除、修改、查詢等功能。
5系統(tǒng)主要特點
本系統(tǒng)采用ZigBee技術(shù),功耗低、可靠性高、自組網(wǎng)、網(wǎng)絡(luò)容量大、成本低、數(shù)據(jù)安全性高、通用性好;
該系統(tǒng)采用了嵌入式網(wǎng)關(guān)技術(shù),具有服務(wù)器和QT客戶端功能,手機連接服務(wù)器實現(xiàn)數(shù)據(jù)的采集和通信功能,QT客戶端實現(xiàn)參數(shù)的設(shè)定、數(shù)據(jù)的顯示和曲線的查詢等功能;
系統(tǒng)采用移動終端技術(shù),可通過手機平臺對校園用電情況進行實時監(jiān)控與管理,防止意外事故發(fā)生,增強了校園的安全性,創(chuàng)建和諧校園。
本系統(tǒng)以智能、節(jié)能、遠程、便捷、科學管理的理念為主要設(shè)計思想,擁有遠程和本地兩個用戶操作平臺,可以讓用戶更方便實時地掌握校園用電情況,實時監(jiān)測用電,實時控制用電,動態(tài)分析用電,并且具有定時開關(guān)功能,給用戶提供更方便、更智能的服務(wù),體現(xiàn)了科學管理的思想。
6結(jié)語
本文對基于Android平臺的節(jié)能監(jiān)管系統(tǒng)進行了研究與探討,在分析了節(jié)能監(jiān)管系統(tǒng)的架構(gòu)、Modbus規(guī)約和SQLite3數(shù)據(jù)庫層次后,提出了一套基于ZigBee和Android平臺的節(jié)能監(jiān)管系統(tǒng),該系統(tǒng)采用ZigBee技術(shù)和移動終端技術(shù),該技術(shù)應(yīng)用在節(jié)能監(jiān)管系統(tǒng)中具有諸多顯著特點。本文通過對通信方式比較后,在節(jié)能監(jiān)管系統(tǒng)中選擇ZigBee通信技術(shù),在自動化通信領(lǐng)域具有很好的優(yōu)勢;在應(yīng)用中選擇移動終端技術(shù),具有基于移動互聯(lián)網(wǎng)和可靠的嵌入式等特點,使節(jié)能監(jiān)控系統(tǒng)具有智能化和可移動性;基于Android平臺的節(jié)能監(jiān)管系統(tǒng)在學校中的應(yīng)用和實現(xiàn),使學校管理部門對能源管理有了高效的監(jiān)管手段。