何佩穎,余建華,龔向東
(深圳大學電子科學與技術學院,廣東 深圳 518060)
在照明領域,減少碳排放、應對氣候變化的一項重要舉措就是發展智能照明控制系統以及提高照明管理的效率。據統計,中國2009年發電量達到35965億kWh,其中照明用電就占總發電量的12%~14%[1],由此可見照明節能減排的重要性和必要性。
傳統照明系統控制模式單一、管理效率低下、不可分級調光,用電浪費現象顯著,而且線路布局復雜、不便于維護和擴展。ZigBee技術是一種短距離、低功耗的無線通信技術,具有低復雜度、自組織、低數據速率、低成本等特點,并且具有良好的擴容性[2~4]。采用ZigBee技術建網,能夠簡化樓宇自動化設備線路設計,便于對設備的分散控制和集中管理。我們開發了一種基于ZigBee技術的樓宇燈聯網系統,具有規模化燈具無線組網、多種模式燈光調節、環境智能感知、遠程監控等特點,能夠有效的節省電能。本文介紹該樓宇燈聯網中遠程監控系統的設計與實現,它實現了對照明設備的分散控制和集中管理,其特點在于遠程網絡化實時監控,具有智能、定時和人工多種控制模式,應用數據庫管理燈具網絡數據,還具備故障自動提醒功能。
本燈聯網系統由ZigBee無線燈具網絡、嵌入式網關和遠程監控中心三級組成,系統結構如圖1所示。

圖1 系統結構Fig.1 Curve: system structure
無線燈具網絡由一系列ZigBee路由節點和終端節點構成,路由節點既可以充當無線網絡信號的中繼節點,同時也可以作為終端節點工作;終端節點可以是LED燈具設備,也可以是無線開關設備,還可以是紅外傳感器、照度傳感器和溫度傳感器的集成設備。這些節點與ZigBee協調器中心節點一起形成一個網狀拓撲結構[5]的ZigBee網絡,它具有良好的擴展性,最多可容納65000多個節點。協調器中心節點負責存儲整個網絡信息和管理所有路由節點、終端節點的數據,它通過RS232串口將各節點回傳的數據按先后順序發送給嵌入式網關,當協調器節點接收到嵌入式網關發送過來的控制指令時,它會解析指令的設備地址,根據地址控制相應節點設備。
嵌入式網關是實現遠程網絡化監控的關鍵設備,它集數據無線收發、數據協議轉換與Internet通訊功能于一身,使無線燈具網絡和以太網絡實現無縫融合。ZigBee協調器中心節點通過RS232串口與嵌入式網關相連,網關提取串口的有效數據后重新封裝成TCP/IP數據包,通過Internet發送給監控中心;當網關接收到Internet發送過來TCP/IP數據包,它解析數據包的有效數據并封裝成串行協議數據包,由協調器中心節點將網關的數據發送給燈具網絡,從而實現了無線燈具網絡和以太網的雙向通訊。
遠程監控中心是無線燈具網絡系統的管理中心,負責進行遠程監控、采集信息并進行數據處理、管理后臺數據和發送控制命令。監控軟件的組成主要包括權限管理模塊、控制模塊、設備信息模塊、數據庫模塊、自動報警模塊和底層通訊模塊。權限管理模塊賦予用戶不同的操作權限,對燈具網絡系統進行分權限管理;控制模塊實現對燈具網絡的智能調控、定時調控和人工調控,還能對網絡進行單燈控制或者批量控制;設備信息模塊實時采集燈具狀態并借助人機交互界面展示給用戶;數據庫模塊負責保存用戶信息、相關配置信息和燈具網絡的歷史數據;當監控軟件出現通訊故障或者燈具出現異常時,自動報警模塊會自動彈出相關信息提醒用戶處理故障;底層通訊模塊負責與網關進行遠程數據交換。
照明光源采用既節能又環保的LED作為照明設備,而且它具有工作電壓低、可控性強、支持連續性調光的特點,能夠滿足智能化的樓宇照明控制需求。LED照明燈具的驅動采用LM3409作為主控芯片,該芯片最大能夠提供5A的大電流輸出,并且支持脈寬調制(PWM)工作模式,能夠提供靈活多變的控制模式滿足樓宇照明在線控制需求。照明光源驅動電路的設計如圖2所示。根據實際需求可設計多路驅動,驅動電路可接不同顏色的LED燈珠,設計成單色燈具,彩色燈具和色溫燈具。其中色溫燈具是指色溫可調節的燈具,低色溫光源能量集中在紅輻射區域,俗稱暖光;高色溫光源能量集中在藍輻射區域,俗稱冷光。

圖2 照明光源驅動電路Fig.2 Curve: driver circuit of lighting source
嵌入式網關基于嵌入式linux操作系統,網關采用Samsung公司32位的RISC嵌入式處理器(S3C6410)作為主控芯片,該芯片基于ARM1176JZF-S 內核,主頻可達667MHz。以該芯片為核心的網關硬件結構如圖3所示。

圖3 網關硬件結構Fig.3 Curve: the gateway hardware structure
網關軟件基于LwIP(輕量級的TCP/IP協議)和串行協議,采用C/S的開發模式實現無線燈具網絡和以太網絡數據的交互。網關應用程序包含Socket 服務端子程序和串口子程序,分別用于實時監聽Internet客戶端數據和無線燈具網絡的節點數據。
網關程序設置ComReadyRead和TcpReadyRead信號分別用于監聽串口數據和Internet網絡數據,當串口有數據時,觸發ComReadyRead信號,該信號通知串口子程序調用ComReadAllData (QByteAr ray Data)函數讀取串口緩沖區的數據,然后對所讀取的數據進行校驗:判斷數據的起始幀SOF值是否為0xFE,其次再判斷數據長度幀(LEN)和接收的數據長度是否一致,最后通過累加和校驗算法[6]求出校驗位,并與接收數據的校驗位對比。若數據校驗結果正確,則保存數據并調用Socket服務端子程序函數TcpSendData(QByteArray Data)向遠程客戶端發送數據,否則丟棄該數據。當網關收到遠程客戶端發送的控制指令時,會觸發TcpReadyRead信號,該信號通知Socket服務端子程序調用TcpRead AllData(QByteArray Data)讀取Socket緩沖區的數據,然后進行數據校驗,若校驗結果正確調用ComSendData(QByteArray Data)向協調器中心節點發送指令控制無線燈具網絡。網關程序工作流程如圖4所示。

圖4 網關程序工作流程Fig.4 Curve: the gateway program workflow
隨著無線燈聯網系統的快速發展,對于監控系統也提出了更高的要求,它直接決定了無線燈具網絡系統的能耗和性能。監控系統不僅要求人性化的控制界面、操作簡便細膩、功能豐富,而且要易于擴展以滿足燈聯網系統的快速發展。本軟件基于QtSDK開發環境和SQlite數據庫進行開發調試,采用分層次和模塊化的思想進行設計,使得軟件結構簡單易于擴展。
根據樓宇智能照明控制系統的特點和實際需求,軟件分為三層:交互層、業務層和通訊層,其中業務層包含多個功能模塊,軟件框架如圖5所示。

圖5 軟件框架Fig.5 Curve: software framework
①通訊層:是實現遠程網絡化監控的核心,該層封裝了一個基于TCP/IP協議的通訊模塊,它作為底層的公共通訊接口,供業務層的各功能模塊調用。它負責傳送各功能模塊的指令和接收網關的數據。
②業務層:由數據庫模塊、控制模塊、自動報警模塊、權限管理模塊等模塊組成,它涵蓋了燈具監控、數據處理、數據管理和其他的輔助功能。
③交互層:是用戶對無線燈具網絡進行可視化監控的人機交互界面(UI)。它向用戶提供了智能控制、手動控制和定時控制多種操作模式,并以圖形化和表格的形式顯示燈具網絡的實時狀態,當燈具網絡系統出現故障或者通訊故障時,自動提示用戶修復故障。
本軟件采用傳統菜單式的設計模式,根據軟件的實際功能分類,設置五個菜單選項:系統設置、監控、報表、數據庫和幫助菜單。系統設置主要應用于設置軟件基本參數、賦予用戶相應操作權限和調試設置無線燈具網絡;監控菜單主要實現燈具網絡狀態的實時監測和多種控制模式,如單燈控制、批量控制、智能控制、定時控制等;報表菜單主要完成系統功耗統計和功耗曲線的繪制,以及打印報表;數據庫菜單提供用戶查詢系統配置信息、燈具網絡歷史數據和用戶信息。軟件菜單結構如圖6所示。

圖6 軟件菜單結構Fig.6 Curve: the software menu structure
本模塊是基于TCP/IP協議設計的底層通用接口,采用Qt的QTcpSocket類進行封裝設計,其核心代碼如下:
class TcpClient: public QDialog,public TcpUdpComBase
{
Q_OBJECT;//設置模塊可用信號與槽機制
public:
explicit TcpClient(QWidget *parent=0);
~TcpClient();//析構函數
void SendMessage(QByteArray); //發送數據接口
void ClientDisconnect();//斷開與網關服務器的連接
void ClientConnect();//連接網關服務器
QByteArray Read_Data;//返回的數據
…
signals:
void Receive_Data(QByteArray);//通知后臺收到網關服務器的數據
private slots:
…
void UpdateClient();//更新通訊接口端狀態信息
QByteArray ClientReadMessage();//讀取網關服務器數據接口
…
private:
QTcpSocket *tcplink;//Socket客戶端
QString ServerIP;//獲取網關服務器IP地址
QString ServerPort;//存放網關服務器端口號
…
}
當后臺業務層的各功能模塊需要向無線燈具網絡發送控制命令時,軟件會調用底層接口函數SendMessage (QByteArray)將命令打包成TCP/IP數據包發送給嵌入式網關;網關服務器有數據到來時,會調用底層接口函數ClientReadMessage() 來獲取數據,并且發送Receive_Data(QByteArray)信號通知系統處理數據,最后通過人機交互界面向用戶展示燈具網絡實時狀態信息。
客戶端軟件與無線燈具網絡的通信協議可以分為節點控制命令和節點狀態報告兩種約定。
(1)節點控制命令由客戶端軟件發送給無線燈具網絡,節點控制命令格式如表1所示。

表1 節點控制命令格式Table 1 Control command format of zigbee node
例如要開啟某節點的照度傳感器,可發送如下命令:FE 08 04 00 21 BA 01 E6,其中FE為起始幀,08代表控制命令字節數,04代表啟動照度傳感器的命令,00是關閉ZigBee組播模式,21 BA是目標設備的地址,01表示設置傳照度傳感器的工作模式,最后一個字節E6是對前述字節通過累加和算法生成的校驗碼,用于驗證數據的準確性。
(2)節點狀態報告由無線節點發送給協調器,再通過網關服務器轉發給客戶端軟件,它主要包含節點設備信息、工作狀態信息以及設備相關數據,節點狀態報告格式如表2、表3所示。

表2 節點狀態報告格式Table 2 Status report format of zigbee node

表3 DATAs幀的燈具信息Table 3 Data frames of the lighting network information
例如,客戶端程序接收到無線燈聯網的節點報告如下: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表示狀態報告的字節數,46 87 代表是節點返回的信息報告, 3E BA是子節點設備地址,00 00表示父設備地址,02代表該設備類型為帶傳感器的彩色燈具,FF FF FF表示彩燈的三基色灰度值,01是色溫燈具的色溫值,09 03 01代表樓層、房間和區域位置信息,017A 0721 0181 00F4 0001分別代表電壓、電流、溫度、照度和紅外的數據,最后一個字節0D代表數據校驗碼。
本軟件應用SQlite數據庫管理后臺數據,并以數據庫表單的形式對數據進行分類管理。首先,分別建立UserInfomation、ConfigureInfomation、DeviceData、ErrorLog四個數據庫表單。UserInfomation設計3個字段保存用戶賬號、用戶密碼、用戶權限;ConfigureInfomation設計2個字段保存樓宇配置信息;ErrorLog設計4個字段保存故障設備所在位置、故障類型和故障時間;DeviceData(設備信息表單)保存燈具網絡的所有狀態信息和數據,設備信息表如表4所示。DeviceData表單中的ID字段是該表單的主鍵,每次向數據庫存放的數據必須給它分配一個ID(從1開始,每次自增1),且該值唯一,是訪問數據庫的重要標志。其次,采用模型視圖框架的形式顯示數據庫數據,模型表示數據項,視圖負責管理模型中讀取數據的外觀布局。

表4 設備信息表Table 4 Device information table
為驗證系統的各項功能,搭建了一個小規模的的樓宇燈聯網系統,其典型組件如圖7所示,包括遠程監控終端、嵌入式網關和多種ZigBee節點設備(無線LED燈具節點、傳感器節點和無線開關等)。

圖7 樓宇照明燈聯網遠程監控系統Fig.7 Curve: remote monitoring system of lighting network in buildings
遠程監控中心通過Internet訪問嵌入式網關來獲取無線燈具網路的實時信息數據,并遠程控制無線燈具網絡。遠程客戶端接收無線燈具網絡的實時狀態信息如圖8所示,單燈控制界面如圖9所示。
經測試,當系統設置為智能控制模式的時候,能夠進行有效的節能。當指定設備設置為紅外控制模式時,無人經過的時候燈具一直保持關閉狀態,有人經過的時候,照明燈具便自動開啟,等人離開之后自動關閉,避免人為忘記關燈造成的浪費;當設備被設置為恒照度控制模式時,環境光的亮度足夠強時,燈具處于關閉狀態,當環境光亮度逐漸減弱的時候,設備根據環境亮度調節照明設備的亮度,充分利用環境光亮度達到節能的目的。

圖8 燈具網絡的實時狀態信息Fig.8 Curve: real time status information of lighting network

圖9 單燈控制界面Fig.9 Curve: single control UI of lighting network
隨著ZigBee技術的快速發展,智能照明控制系統已經逐漸走進了人們日常生活,如何便捷有效地操控照明網絡中的設備并管理這些設備所產生的大量數據,則成為推廣這項技術的關鍵。本文給出了一種樓宇智能照明遠程監控系統的設計并通過實驗驗證,該設計不僅克服了傳統照明控制系統管理落后,浪費能源和舒適性差等缺點,還給用戶提供了可視化的監控界面和靈活多變的控制方式。
[1] 張紹綱.中國、美國和日本照明節能標準的比較與分析[J].智能建筑電氣技術,2010,4:1~4.
[2] 李黎. ZigBee技術研究[J].技術與市場,2009,16(5):52~53.
[3] 姜峰. 無線網絡在醫院電子病歷系統中的應用[J].醫學信息,2009,7:1131~1133.
[4] 白建波,張小松,路詩奎. ZigBee技術及其在樓宇自動化系統中應用的思考[J]. 智能建筑與城市信息,2006,(1):102~104.
[5] 馮承金,楊杰. 基于ZigBee的無線傳感網絡的研究與設計[J]. 價值工程, 2011,20:121~122.
[6] 焦振宇. 數據校驗的正確高效性辨析與改進[J]. 化工自動化及儀表, 2010,5:107~109.