許建國 黃落兵 胡鳳情 夏友兵
摘 要:本文主要論述了基于A10平臺構建的智能燈光控制系統,系統硬件由ZigBee模塊、A10平臺、服務器等部分構成,其中ZigBee傳感器負責對家庭內部多個房間的環境及安全監測,ZigBee協調器模塊將采集到的數據通過USB方式傳送給A10平臺實時處理,并將數據通過互聯網上傳到網絡服務器,用戶可以通過多種方式對多個房間的燈光進行控制,并且可以在Web瀏覽器上查詢房間內的相關狀態信息。
關鍵詞:智能燈光控制;ZigBee;Web
上世紀70年代,智能家居系統這一概念最早出現在美國,隨后,在各發達國家中廣泛傳播并得到了較好的發展,而這一概念在我國推廣相對較晚,但近些年的發展速度較快,已經出現了很多智能化的小區或住宅。所謂智能家居系統是結合現代電子技術、通信技術、互聯網等技術發展而成的產物,其核心思路是將家中各種通信設備、各種“智能”家電、各種安防設備通過有線或者無線的方式連接起來,實現對這些設備的自動控制和管理,以及對家庭的環境安全起到監控和報警的作用,保持家庭住宅環境的舒適、協調,進一步優化人們的生活質量。
在此基礎上,本文設計了一套基于ZigBee的智能燈光控制系統,該系統充分利用了物聯網、互聯網等技術,可以對多個房間的燈光進行自動或者手動控制,同時可以對房間的環境狀態進行監測。
1 燈光控制系統的硬件設計
該智能燈光控制系統由基A10平臺、ZigBee模塊、RFID讀寫器、服務器等部分構成,其中ZigBee傳感器負責對家庭內部多個房間的燈光控制、環境信息及安全監測,ZigBee協調器模塊將采集到的數據通過USB方式傳送給A10平臺實時處理,并將數據上傳到網絡服務器,用戶通過Web就可以獲取相關信息。
1.1 ZigBee模塊
本系統中的ZigBee模塊可以分為協調器、傳感器兩部分,傳感器將放置在家庭內的不同房間,用于實現多個房間的燈光控制和環境監測;協調器作為中樞可放置在客廳等位置,在組網成功后,協調器將采用輪詢的方式分別接收各個傳感器傳回的數據,并將數據傳送到A10硬件平臺。
1.2 A10硬件平臺
系統硬件平臺以全志的A10處理器為核心,軟件采用Andriod系統,該平臺作為數據流通的中轉樞紐,是各個數據的匯集點,主要負責數據采集和上傳,通過USB的方式獲取各個房間的環境信息、設備安全狀況,對數據進行解析之后,把數據上傳到服務器端。
1.3 服務器
服務器作為數據的存儲核心主要完成以下兩個方面的工作:1)接收A10硬件系統平臺發送回來的數據,其中包括各個房間內燈光的狀態信息、溫濕度等環境監測信息等。2)將各個房間環境監測數據通過Internet發送到Web端。
1.4 Web瀏覽器
進入系統進行相關操作后,后臺會連續向服務器發送數據請求,Web服務器則會根據情況返回相應的數據,接收到的數據會顯示在Web網面上,供用戶瀏覽、查詢,并根據需求進行相關的控制,進而可以實現家庭內部多個房間的燈光控制以及環境的實時監測等操作。
2 燈光控制系統的軟件設計
2.1 服務器的配置與實現
HTTP協議利用JSP技術定義了一種可擴展的消息處理框架,它提供了一種可通過多種底層協議進行交換的消息結構。系統管理員經過登錄成功后可看到自己所管理的家庭內部的相關信息,包括溫度、濕度、煙霧濃度、家庭成員的出入信息等,其中溫度和濕度使用折線圖形式進行顯示。服務器和WEB端之間用JSON的形式傳送數據,WEB向服務器發送請求,服務端接受了這一請求后,會把多個房間內傳感器采集到的溫度和濕度由A10通過Web service存儲到數據庫當中。
2.2 A10硬件平臺設計
A10 硬件平臺是連接底層和服務器的核心。它通過USB口讀取ZigBee協調器采集過來的數據,然后對接收到的數據進行解碼處理,處理之后,請求服務器,將數據存儲到網絡數據庫中。
2.3 WEB瀏覽器端設計
該界面是運行在Web端apache-tomcat-7.0.59服務器上的JSP頁面,主要負責燈光控制、環境監測兩大功能模塊。采用JavaEE經典的MVC架構,利用Http協議、JSON對象、Java隧道通訊等,與網絡數據庫進行交互,異步請求,將數據展示給用戶。
3 系統測試
3.1 外部請求數據測試
Web服務器收到頁面發送過來的數據請求后,會將符合的數據回發并在Web端向用戶展示,以供用戶進行查詢或者相關控制。
3.2 數據接收測試
經過一段時間的運行可以看到從A10硬件平臺發送過來的數據,這些數據存放在HashMap中,以節點為key,此key下包含所有傳感器發回來的數據、以及時間。可以看到,服務器上的數據庫中已經有了多條溫溫度、濕度、煙霧信息等記錄,表明當前的記錄情況良好。
3.3 Web端測試
打開系統Web頁面,輸入賬號、密碼登錄成功后可以看到各個房間的溫濕度、煙霧濃度等信息的實時狀態,以及燈光控制、溫度狀態、警報區域、設置等其他操作入口。進入燈光控制頁面,可以通過開關手動控制房間的燈光;或者在設置端設置為自動模式后,此時會根據室內光線強度自動控制燈光。
4 結論
本系統在研究ZigBee技術、物聯網技術的基礎上,設計了一套智能燈光控制系統,主要實現了以下功能:1)實現了通過多種方式遠程對家庭內部多個房間的燈光進行控制。2)驅動了ZigBee模塊工作,實現了Android系統調用底層硬件的工作。從Android調用Java,從Java調用C驅動硬件,解決了跨語言直接數據傳遞類型不一致的問題。3)web瀏覽器向服務器定時發送請求,服務器返回數據給終端,并且最終將返回的數據渲染在瀏覽器上,使得用戶對家庭內部的情況一目了然。
參考文獻:
[1] 澤卡斯(Zakas.Nicholas C.),李松峰.JavaScript高級程序設計[M].第三版.人民郵電出版社,2012,03.
[2] 王小強等編著.ZigBee無線傳感器網絡設計與實現[M].化學工業出版社,2012,06.