何佩穎,余建華,龔向東
(深圳大學(xué)電子科學(xué)與技術(shù)學(xué)院,廣東 深圳 518060)
在照明領(lǐng)域,減少碳排放、應(yīng)對氣候變化的一項重要舉措就是發(fā)展智能照明控制系統(tǒng)以及提高照明管理的效率。據(jù)統(tǒng)計,中國2009年發(fā)電量達(dá)到35965億kWh,其中照明用電就占總發(fā)電量的12%~14%[1],由此可見照明節(jié)能減排的重要性和必要性。
傳統(tǒng)照明系統(tǒng)控制模式單一、管理效率低下、不可分級調(diào)光,用電浪費(fèi)現(xiàn)象顯著,而且線路布局復(fù)雜、不便于維護(hù)和擴(kuò)展。ZigBee技術(shù)是一種短距離、低功耗的無線通信技術(shù),具有低復(fù)雜度、自組織、低數(shù)據(jù)速率、低成本等特點(diǎn),并且具有良好的擴(kuò)容性[2~4]。采用ZigBee技術(shù)建網(wǎng),能夠簡化樓宇自動化設(shè)備線路設(shè)計,便于對設(shè)備的分散控制和集中管理。我們開發(fā)了一種基于ZigBee技術(shù)的樓宇燈聯(lián)網(wǎng)系統(tǒng),具有規(guī)模化燈具無線組網(wǎng)、多種模式燈光調(diào)節(jié)、環(huán)境智能感知、遠(yuǎn)程監(jiān)控等特點(diǎn),能夠有效的節(jié)省電能。本文介紹該樓宇燈聯(lián)網(wǎng)中遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計與實(shí)現(xiàn),它實(shí)現(xiàn)了對照明設(shè)備的分散控制和集中管理,其特點(diǎn)在于遠(yuǎn)程網(wǎng)絡(luò)化實(shí)時監(jiān)控,具有智能、定時和人工多種控制模式,應(yīng)用數(shù)據(jù)庫管理燈具網(wǎng)絡(luò)數(shù)據(jù),還具備故障自動提醒功能。
本燈聯(lián)網(wǎng)系統(tǒng)由ZigBee無線燈具網(wǎng)絡(luò)、嵌入式網(wǎng)關(guān)和遠(yuǎn)程監(jiān)控中心三級組成,系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)Fig.1 Curve: system structure
無線燈具網(wǎng)絡(luò)由一系列ZigBee路由節(jié)點(diǎn)和終端節(jié)點(diǎn)構(gòu)成,路由節(jié)點(diǎn)既可以充當(dāng)無線網(wǎng)絡(luò)信號的中繼節(jié)點(diǎn),同時也可以作為終端節(jié)點(diǎn)工作;終端節(jié)點(diǎn)可以是LED燈具設(shè)備,也可以是無線開關(guān)設(shè)備,還可以是紅外傳感器、照度傳感器和溫度傳感器的集成設(shè)備。這些節(jié)點(diǎn)與ZigBee協(xié)調(diào)器中心節(jié)點(diǎn)一起形成一個網(wǎng)狀拓?fù)浣Y(jié)構(gòu)[5]的ZigBee網(wǎng)絡(luò),它具有良好的擴(kuò)展性,最多可容納65000多個節(jié)點(diǎn)。協(xié)調(diào)器中心節(jié)點(diǎn)負(fù)責(zé)存儲整個網(wǎng)絡(luò)信息和管理所有路由節(jié)點(diǎn)、終端節(jié)點(diǎn)的數(shù)據(jù),它通過RS232串口將各節(jié)點(diǎn)回傳的數(shù)據(jù)按先后順序發(fā)送給嵌入式網(wǎng)關(guān),當(dāng)協(xié)調(diào)器節(jié)點(diǎn)接收到嵌入式網(wǎng)關(guān)發(fā)送過來的控制指令時,它會解析指令的設(shè)備地址,根據(jù)地址控制相應(yīng)節(jié)點(diǎn)設(shè)備。
嵌入式網(wǎng)關(guān)是實(shí)現(xiàn)遠(yuǎn)程網(wǎng)絡(luò)化監(jiān)控的關(guān)鍵設(shè)備,它集數(shù)據(jù)無線收發(fā)、數(shù)據(jù)協(xié)議轉(zhuǎn)換與Internet通訊功能于一身,使無線燈具網(wǎng)絡(luò)和以太網(wǎng)絡(luò)實(shí)現(xiàn)無縫融合。ZigBee協(xié)調(diào)器中心節(jié)點(diǎn)通過RS232串口與嵌入式網(wǎng)關(guān)相連,網(wǎng)關(guān)提取串口的有效數(shù)據(jù)后重新封裝成TCP/IP數(shù)據(jù)包,通過Internet發(fā)送給監(jiān)控中心;當(dāng)網(wǎng)關(guān)接收到Internet發(fā)送過來TCP/IP數(shù)據(jù)包,它解析數(shù)據(jù)包的有效數(shù)據(jù)并封裝成串行協(xié)議數(shù)據(jù)包,由協(xié)調(diào)器中心節(jié)點(diǎn)將網(wǎng)關(guān)的數(shù)據(jù)發(fā)送給燈具網(wǎng)絡(luò),從而實(shí)現(xiàn)了無線燈具網(wǎng)絡(luò)和以太網(wǎng)的雙向通訊。
遠(yuǎn)程監(jiān)控中心是無線燈具網(wǎng)絡(luò)系統(tǒng)的管理中心,負(fù)責(zé)進(jìn)行遠(yuǎn)程監(jiān)控、采集信息并進(jìn)行數(shù)據(jù)處理、管理后臺數(shù)據(jù)和發(fā)送控制命令。監(jiān)控軟件的組成主要包括權(quán)限管理模塊、控制模塊、設(shè)備信息模塊、數(shù)據(jù)庫模塊、自動報警模塊和底層通訊模塊。權(quán)限管理模塊賦予用戶不同的操作權(quán)限,對燈具網(wǎng)絡(luò)系統(tǒng)進(jìn)行分權(quán)限管理;控制模塊實(shí)現(xiàn)對燈具網(wǎng)絡(luò)的智能調(diào)控、定時調(diào)控和人工調(diào)控,還能對網(wǎng)絡(luò)進(jìn)行單燈控制或者批量控制;設(shè)備信息模塊實(shí)時采集燈具狀態(tài)并借助人機(jī)交互界面展示給用戶;數(shù)據(jù)庫模塊負(fù)責(zé)保存用戶信息、相關(guān)配置信息和燈具網(wǎng)絡(luò)的歷史數(shù)據(jù);當(dāng)監(jiān)控軟件出現(xiàn)通訊故障或者燈具出現(xiàn)異常時,自動報警模塊會自動彈出相關(guān)信息提醒用戶處理故障;底層通訊模塊負(fù)責(zé)與網(wǎng)關(guān)進(jìn)行遠(yuǎn)程數(shù)據(jù)交換。
照明光源采用既節(jié)能又環(huán)保的LED作為照明設(shè)備,而且它具有工作電壓低、可控性強(qiáng)、支持連續(xù)性調(diào)光的特點(diǎn),能夠滿足智能化的樓宇照明控制需求。LED照明燈具的驅(qū)動采用LM3409作為主控芯片,該芯片最大能夠提供5A的大電流輸出,并且支持脈寬調(diào)制(PWM)工作模式,能夠提供靈活多變的控制模式滿足樓宇照明在線控制需求。照明光源驅(qū)動電路的設(shè)計如圖2所示。根據(jù)實(shí)際需求可設(shè)計多路驅(qū)動,驅(qū)動電路可接不同顏色的LED燈珠,設(shè)計成單色燈具,彩色燈具和色溫?zé)艟?。其中色溫?zé)艟呤侵干珳乜烧{(diào)節(jié)的燈具,低色溫光源能量集中在紅輻射區(qū)域,俗稱暖光;高色溫光源能量集中在藍(lán)輻射區(qū)域,俗稱冷光。
圖2 照明光源驅(qū)動電路Fig.2 Curve: driver circuit of lighting source
嵌入式網(wǎng)關(guān)基于嵌入式linux操作系統(tǒng),網(wǎng)關(guān)采用Samsung公司32位的RISC嵌入式處理器(S3C6410)作為主控芯片,該芯片基于ARM1176JZF-S 內(nèi)核,主頻可達(dá)667MHz。以該芯片為核心的網(wǎng)關(guān)硬件結(jié)構(gòu)如圖3所示。
圖3 網(wǎng)關(guān)硬件結(jié)構(gòu)Fig.3 Curve: the gateway hardware structure
網(wǎng)關(guān)軟件基于LwIP(輕量級的TCP/IP協(xié)議)和串行協(xié)議,采用C/S的開發(fā)模式實(shí)現(xiàn)無線燈具網(wǎng)絡(luò)和以太網(wǎng)絡(luò)數(shù)據(jù)的交互。網(wǎng)關(guān)應(yīng)用程序包含Socket 服務(wù)端子程序和串口子程序,分別用于實(shí)時監(jiān)聽Internet客戶端數(shù)據(jù)和無線燈具網(wǎng)絡(luò)的節(jié)點(diǎn)數(shù)據(jù)。
網(wǎng)關(guān)程序設(shè)置ComReadyRead和TcpReadyRead信號分別用于監(jiān)聽串口數(shù)據(jù)和Internet網(wǎng)絡(luò)數(shù)據(jù),當(dāng)串口有數(shù)據(jù)時,觸發(fā)ComReadyRead信號,該信號通知串口子程序調(diào)用ComReadAllData (QByteAr ray Data)函數(shù)讀取串口緩沖區(qū)的數(shù)據(jù),然后對所讀取的數(shù)據(jù)進(jìn)行校驗:判斷數(shù)據(jù)的起始幀SOF值是否為0xFE,其次再判斷數(shù)據(jù)長度幀(LEN)和接收的數(shù)據(jù)長度是否一致,最后通過累加和校驗算法[6]求出校驗位,并與接收數(shù)據(jù)的校驗位對比。若數(shù)據(jù)校驗結(jié)果正確,則保存數(shù)據(jù)并調(diào)用Socket服務(wù)端子程序函數(shù)TcpSendData(QByteArray Data)向遠(yuǎn)程客戶端發(fā)送數(shù)據(jù),否則丟棄該數(shù)據(jù)。當(dāng)網(wǎng)關(guān)收到遠(yuǎn)程客戶端發(fā)送的控制指令時,會觸發(fā)TcpReadyRead信號,該信號通知Socket服務(wù)端子程序調(diào)用TcpRead AllData(QByteArray Data)讀取Socket緩沖區(qū)的數(shù)據(jù),然后進(jìn)行數(shù)據(jù)校驗,若校驗結(jié)果正確調(diào)用ComSendData(QByteArray Data)向協(xié)調(diào)器中心節(jié)點(diǎn)發(fā)送指令控制無線燈具網(wǎng)絡(luò)。網(wǎng)關(guān)程序工作流程如圖4所示。
圖4 網(wǎng)關(guān)程序工作流程Fig.4 Curve: the gateway program workflow
隨著無線燈聯(lián)網(wǎng)系統(tǒng)的快速發(fā)展,對于監(jiān)控系統(tǒng)也提出了更高的要求,它直接決定了無線燈具網(wǎng)絡(luò)系統(tǒng)的能耗和性能。監(jiān)控系統(tǒng)不僅要求人性化的控制界面、操作簡便細(xì)膩、功能豐富,而且要易于擴(kuò)展以滿足燈聯(lián)網(wǎng)系統(tǒng)的快速發(fā)展。本軟件基于QtSDK開發(fā)環(huán)境和SQlite數(shù)據(jù)庫進(jìn)行開發(fā)調(diào)試,采用分層次和模塊化的思想進(jìn)行設(shè)計,使得軟件結(jié)構(gòu)簡單易于擴(kuò)展。
根據(jù)樓宇智能照明控制系統(tǒng)的特點(diǎn)和實(shí)際需求,軟件分為三層:交互層、業(yè)務(wù)層和通訊層,其中業(yè)務(wù)層包含多個功能模塊,軟件框架如圖5所示。
圖5 軟件框架Fig.5 Curve: software framework
①通訊層:是實(shí)現(xiàn)遠(yuǎn)程網(wǎng)絡(luò)化監(jiān)控的核心,該層封裝了一個基于TCP/IP協(xié)議的通訊模塊,它作為底層的公共通訊接口,供業(yè)務(wù)層的各功能模塊調(diào)用。它負(fù)責(zé)傳送各功能模塊的指令和接收網(wǎng)關(guān)的數(shù)據(jù)。
②業(yè)務(wù)層:由數(shù)據(jù)庫模塊、控制模塊、自動報警模塊、權(quán)限管理模塊等模塊組成,它涵蓋了燈具監(jiān)控、數(shù)據(jù)處理、數(shù)據(jù)管理和其他的輔助功能。
③交互層:是用戶對無線燈具網(wǎng)絡(luò)進(jìn)行可視化監(jiān)控的人機(jī)交互界面(UI)。它向用戶提供了智能控制、手動控制和定時控制多種操作模式,并以圖形化和表格的形式顯示燈具網(wǎng)絡(luò)的實(shí)時狀態(tài),當(dāng)燈具網(wǎng)絡(luò)系統(tǒng)出現(xiàn)故障或者通訊故障時,自動提示用戶修復(fù)故障。
本軟件采用傳統(tǒng)菜單式的設(shè)計模式,根據(jù)軟件的實(shí)際功能分類,設(shè)置五個菜單選項:系統(tǒng)設(shè)置、監(jiān)控、報表、數(shù)據(jù)庫和幫助菜單。系統(tǒng)設(shè)置主要應(yīng)用于設(shè)置軟件基本參數(shù)、賦予用戶相應(yīng)操作權(quán)限和調(diào)試設(shè)置無線燈具網(wǎng)絡(luò);監(jiān)控菜單主要實(shí)現(xiàn)燈具網(wǎng)絡(luò)狀態(tài)的實(shí)時監(jiān)測和多種控制模式,如單燈控制、批量控制、智能控制、定時控制等;報表菜單主要完成系統(tǒng)功耗統(tǒng)計和功耗曲線的繪制,以及打印報表;數(shù)據(jù)庫菜單提供用戶查詢系統(tǒng)配置信息、燈具網(wǎng)絡(luò)歷史數(shù)據(jù)和用戶信息。軟件菜單結(jié)構(gòu)如圖6所示。
圖6 軟件菜單結(jié)構(gòu)Fig.6 Curve: the software menu structure
本模塊是基于TCP/IP協(xié)議設(shè)計的底層通用接口,采用Qt的QTcpSocket類進(jìn)行封裝設(shè)計,其核心代碼如下:
class TcpClient: public QDialog,public TcpUdpComBase
{
Q_OBJECT;//設(shè)置模塊可用信號與槽機(jī)制
public:
explicit TcpClient(QWidget *parent=0);
~TcpClient();//析構(gòu)函數(shù)
void SendMessage(QByteArray); //發(fā)送數(shù)據(jù)接口
void ClientDisconnect();//斷開與網(wǎng)關(guān)服務(wù)器的連接
void ClientConnect();//連接網(wǎng)關(guān)服務(wù)器
QByteArray Read_Data;//返回的數(shù)據(jù)
…
signals:
void Receive_Data(QByteArray);//通知后臺收到網(wǎng)關(guān)服務(wù)器的數(shù)據(jù)
private slots:
…
void UpdateClient();//更新通訊接口端狀態(tài)信息
QByteArray ClientReadMessage();//讀取網(wǎng)關(guān)服務(wù)器數(shù)據(jù)接口
…
private:
QTcpSocket *tcplink;//Socket客戶端
QString ServerIP;//獲取網(wǎng)關(guān)服務(wù)器IP地址
QString ServerPort;//存放網(wǎng)關(guān)服務(wù)器端口號
…
}
當(dāng)后臺業(yè)務(wù)層的各功能模塊需要向無線燈具網(wǎng)絡(luò)發(fā)送控制命令時,軟件會調(diào)用底層接口函數(shù)SendMessage (QByteArray)將命令打包成TCP/IP數(shù)據(jù)包發(fā)送給嵌入式網(wǎng)關(guān);網(wǎng)關(guān)服務(wù)器有數(shù)據(jù)到來時,會調(diào)用底層接口函數(shù)ClientReadMessage() 來獲取數(shù)據(jù),并且發(fā)送Receive_Data(QByteArray)信號通知系統(tǒng)處理數(shù)據(jù),最后通過人機(jī)交互界面向用戶展示燈具網(wǎng)絡(luò)實(shí)時狀態(tài)信息。
客戶端軟件與無線燈具網(wǎng)絡(luò)的通信協(xié)議可以分為節(jié)點(diǎn)控制命令和節(jié)點(diǎn)狀態(tài)報告兩種約定。
(1)節(jié)點(diǎn)控制命令由客戶端軟件發(fā)送給無線燈具網(wǎng)絡(luò),節(jié)點(diǎn)控制命令格式如表1所示。
表1 節(jié)點(diǎn)控制命令格式Table 1 Control command format of zigbee node
例如要開啟某節(jié)點(diǎn)的照度傳感器,可發(fā)送如下命令:FE 08 04 00 21 BA 01 E6,其中FE為起始幀,08代表控制命令字節(jié)數(shù),04代表啟動照度傳感器的命令,00是關(guān)閉ZigBee組播模式,21 BA是目標(biāo)設(shè)備的地址,01表示設(shè)置傳照度傳感器的工作模式,最后一個字節(jié)E6是對前述字節(jié)通過累加和算法生成的校驗碼,用于驗證數(shù)據(jù)的準(zhǔn)確性。
(2)節(jié)點(diǎn)狀態(tài)報告由無線節(jié)點(diǎn)發(fā)送給協(xié)調(diào)器,再通過網(wǎng)關(guān)服務(wù)器轉(zhuǎn)發(fā)給客戶端軟件,它主要包含節(jié)點(diǎn)設(shè)備信息、工作狀態(tài)信息以及設(shè)備相關(guān)數(shù)據(jù),節(jié)點(diǎn)狀態(tài)報告格式如表2、表3所示。
表2 節(jié)點(diǎn)狀態(tài)報告格式Table 2 Status report format of zigbee node
表3 DATAs幀的燈具信息Table 3 Data frames of the lighting network information
例如,客戶端程序接收到無線燈聯(lián)網(wǎng)的節(jié)點(diǎn)報告如下:FE 1B 46 87 3E BA 00 00 02 FF FF FF 01 09 03 01 01 7A 07 21 01 81 00 F4 00 01 0D,其中1B表示狀態(tài)報告的字節(jié)數(shù),46 87 代表是節(jié)點(diǎn)返回的信息報告, 3E BA是子節(jié)點(diǎn)設(shè)備地址,00 00表示父設(shè)備地址,02代表該設(shè)備類型為帶傳感器的彩色燈具,F(xiàn)F FF FF表示彩燈的三基色灰度值,01是色溫?zé)艟叩纳珳刂担?9 03 01代表樓層、房間和區(qū)域位置信息,017A 0721 0181 00F4 0001分別代表電壓、電流、溫度、照度和紅外的數(shù)據(jù),最后一個字節(jié)0D代表數(shù)據(jù)校驗碼。
本軟件應(yīng)用SQlite數(shù)據(jù)庫管理后臺數(shù)據(jù),并以數(shù)據(jù)庫表單的形式對數(shù)據(jù)進(jìn)行分類管理。首先,分別建立UserInfomation、ConfigureInfomation、DeviceData、ErrorLog四個數(shù)據(jù)庫表單。UserInfomation設(shè)計3個字段保存用戶賬號、用戶密碼、用戶權(quán)限;ConfigureInfomation設(shè)計2個字段保存樓宇配置信息;ErrorLog設(shè)計4個字段保存故障設(shè)備所在位置、故障類型和故障時間;DeviceData(設(shè)備信息表單)保存燈具網(wǎng)絡(luò)的所有狀態(tài)信息和數(shù)據(jù),設(shè)備信息表如表4所示。DeviceData表單中的ID字段是該表單的主鍵,每次向數(shù)據(jù)庫存放的數(shù)據(jù)必須給它分配一個ID(從1開始,每次自增1),且該值唯一,是訪問數(shù)據(jù)庫的重要標(biāo)志。其次,采用模型視圖框架的形式顯示數(shù)據(jù)庫數(shù)據(jù),模型表示數(shù)據(jù)項,視圖負(fù)責(zé)管理模型中讀取數(shù)據(jù)的外觀布局。
表4 設(shè)備信息表Table 4 Device information table
為驗證系統(tǒng)的各項功能,搭建了一個小規(guī)模的的樓宇燈聯(lián)網(wǎng)系統(tǒng),其典型組件如圖7所示,包括遠(yuǎn)程監(jiān)控終端、嵌入式網(wǎng)關(guān)和多種ZigBee節(jié)點(diǎn)設(shè)備(無線LED燈具節(jié)點(diǎn)、傳感器節(jié)點(diǎn)和無線開關(guān)等)。
圖7 樓宇照明燈聯(lián)網(wǎng)遠(yuǎn)程監(jiān)控系統(tǒng)Fig.7 Curve: remote monitoring system of lighting network in buildings
遠(yuǎn)程監(jiān)控中心通過Internet訪問嵌入式網(wǎng)關(guān)來獲取無線燈具網(wǎng)路的實(shí)時信息數(shù)據(jù),并遠(yuǎn)程控制無線燈具網(wǎng)絡(luò)。遠(yuǎn)程客戶端接收無線燈具網(wǎng)絡(luò)的實(shí)時狀態(tài)信息如圖8所示,單燈控制界面如圖9所示。
經(jīng)測試,當(dāng)系統(tǒng)設(shè)置為智能控制模式的時候,能夠進(jìn)行有效的節(jié)能。當(dāng)指定設(shè)備設(shè)置為紅外控制模式時,無人經(jīng)過的時候燈具一直保持關(guān)閉狀態(tài),有人經(jīng)過的時候,照明燈具便自動開啟,等人離開之后自動關(guān)閉,避免人為忘記關(guān)燈造成的浪費(fèi);當(dāng)設(shè)備被設(shè)置為恒照度控制模式時,環(huán)境光的亮度足夠強(qiáng)時,燈具處于關(guān)閉狀態(tài),當(dāng)環(huán)境光亮度逐漸減弱的時候,設(shè)備根據(jù)環(huán)境亮度調(diào)節(jié)照明設(shè)備的亮度,充分利用環(huán)境光亮度達(dá)到節(jié)能的目的。
圖8 燈具網(wǎng)絡(luò)的實(shí)時狀態(tài)信息Fig.8 Curve: real time status information of lighting network
圖9 單燈控制界面Fig.9 Curve: single control UI of lighting network
隨著ZigBee技術(shù)的快速發(fā)展,智能照明控制系統(tǒng)已經(jīng)逐漸走進(jìn)了人們?nèi)粘I睿绾伪憬萦行У夭倏卣彰骶W(wǎng)絡(luò)中的設(shè)備并管理這些設(shè)備所產(chǎn)生的大量數(shù)據(jù),則成為推廣這項技術(shù)的關(guān)鍵。本文給出了一種樓宇智能照明遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計并通過實(shí)驗驗證,該設(shè)計不僅克服了傳統(tǒng)照明控制系統(tǒng)管理落后,浪費(fèi)能源和舒適性差等缺點(diǎn),還給用戶提供了可視化的監(jiān)控界面和靈活多變的控制方式。
[1] 張紹綱.中國、美國和日本照明節(jié)能標(biāo)準(zhǔn)的比較與分析[J].智能建筑電氣技術(shù),2010,4:1~4.
[2] 李黎. ZigBee技術(shù)研究[J].技術(shù)與市場,2009,16(5):52~53.
[3] 姜峰. 無線網(wǎng)絡(luò)在醫(yī)院電子病歷系統(tǒng)中的應(yīng)用[J].醫(yī)學(xué)信息,2009,7:1131~1133.
[4] 白建波,張小松,路詩奎. ZigBee技術(shù)及其在樓宇自動化系統(tǒng)中應(yīng)用的思考[J]. 智能建筑與城市信息,2006,(1):102~104.
[5] 馮承金,楊杰. 基于ZigBee的無線傳感網(wǎng)絡(luò)的研究與設(shè)計[J]. 價值工程, 2011,20:121~122.
[6] 焦振宇. 數(shù)據(jù)校驗的正確高效性辨析與改進(jìn)[J]. 化工自動化及儀表, 2010,5:107~109.