摘 要: 根據智能家居系統(tǒng)的特點和發(fā)展現狀,,采用ZigBee技術和嵌入式Internet技術組建家庭網絡并建立家庭網關,。分別介紹了兩部分的設計思路、技術特點,、硬件選型和軟件設計,。實現并驗證該了系統(tǒng)的遠程監(jiān)控功能,指出其應用前景,。
關鍵詞: 智能家居,;ZigBee協(xié)議;JN5139,;家庭網關,;BOA服務器
智能家居以住宅為平臺,,利用先進的計算機技術,、嵌入式技術,、傳感器技術,、網絡通信技術以及自動控制技術等,將家中的各種電子電氣設備通過家庭網絡連接在一起,,集中遠程監(jiān)控,、管理家庭事物,,讓家居生活更加舒適,、安全,、有效。
智能家居屬于消費電子,、計算機,、通信、家電,、建筑、網絡運營等行業(yè)的交叉領域,。各行業(yè)因為不同的行業(yè)背景和發(fā)展思路,,制定了各自的標準規(guī)范,選用了不同的技術組合,。目前智能家居還處于發(fā)展階段,,各種新概念、新技術,、新產品不斷出現,,并且尚無規(guī)范統(tǒng)一的國內外標準和產品可直接應用[1]?;诖吮尘?,本文以ZigBee技術的發(fā)展為契機,,結合嵌入式Internet技術,研究設計了一套智能家居遠程監(jiān)控系統(tǒng),整體設計方案如圖1所示,。家庭網絡和家庭網關是整個系統(tǒng)的主干,,如何組建家庭網絡和建立家庭網關決定了系統(tǒng)的設計水平和靈活性。
1 組建家庭網絡
傳統(tǒng)的智能家居系統(tǒng)組建家庭網絡多采用總線控制技術,,主要有X-10,、CEBus、LonWorks和ApBus等幾種[2],。由于有線網絡存在布線麻煩,、可擴展性差等缺點,將無線通信技術應用于家庭網絡已成為勢不可擋的趨勢,。目前比較常用的短距離無線通信技術有Wi-Fi,、Bluetooth、UWB,、Z-Wave,、ZigBee等。相對于其他技術,,ZigBee具有網絡大容量,、低速率、低功耗,、較長傳輸距離,、短時延、高安全性,、工作頻段靈活的特點,。
智能家居家庭網絡內燈光、水表,、電表,、安防報警、家電等組網的電子電氣設備數量較多,,而網內傳送的是控制命令和數字等小容量數據,,不需要太大的傳輸速率,但要求網絡容量大,、成本低,、功耗低。因此使用ZigBee技術組建家庭網絡是比較理想的選擇,。
1.1 ZigBee協(xié)議及硬件設備
ZigBee協(xié)議棧構建在IEEE 802.15.4標準基礎之上,,IEEE 802.15.4標準定義了物理層和MAC層。ZigBee聯盟定義了網絡層,、應用層和安全服務層,。ZigBee規(guī)范確定了三種設備:ZigBee協(xié)調器,、ZigBee路由器和ZigBee終端設備。每個網絡都必須包括一臺ZigBee協(xié)調器,。在組網方式上,,ZigBee支持星形結構、樹形結構和網狀結構三種拓撲形式,。
由于眾多廠商對ZigBee無線技術前景的看好,,許多符合ZigBee技術標準的通信模塊紛紛被研制出來以滿足客戶對ZigBee產品的開發(fā)需求,例如Chipcon公司的CC2420,、TI公司收購Chipcon公司后推出的CC2430/CC2431,、飛思卡爾的MC1322x、Jennic公司的JN51系列,。本文選用了集成Jennic公司JN5139芯片的GAINSJ節(jié)點開發(fā)板,,該開發(fā)板集成了天線、溫濕度傳感器SHT10,、LED燈,、按鍵等外部資源。
1.2 拓撲結構和路由協(xié)議的選擇
通過測試得知該ZigBee開發(fā)板在室外空曠環(huán)境的通信距離為90 m~100 m,,在室內有墻壁等障礙物時的通信距離在30 m左右,,當有兩堵墻阻隔時會出現2%左右的丟包率。在一般的家庭環(huán)境,,通過合理的位置擺放可使ZigBee協(xié)調器和ZigBee終端節(jié)點的距離小于30 m,,滿足通信要求。為保障系統(tǒng)的健壯可靠,,在每個房間的門口增加ZigBee路由器,,既降低了一跳的通信距離要求,又避免和降低了墻壁等障礙物引起的丟包現象,。
ZigBee網絡支持星形結構,、樹形結構和網狀結構三種拓撲形式,如圖2所示,。本文從樹形結構和網狀結構中選擇更適合智能家居系統(tǒng)的拓撲結構,。 樹形結構對應Cluster-Tree路由算法,此路由算法較為簡單,,相當于靜態(tài)路由,,需要硬件配置較低,,按照此算法,,數據包只能轉發(fā)給父節(jié)點或者子節(jié)點。網狀結構需要AODVjr路由算法,,此算法較為復雜,,相當于動態(tài)路由,,需要的硬件配置較高,但是節(jié)點間通信更為靈活[3],。而在本文智能家居遠程監(jiān)控系統(tǒng)中,,不存在終端節(jié)點之間的通信,完全是協(xié)調器和終端節(jié)點之間的通信,,所以選擇了樹形結構和Cluster-Tree路由算法,。
1.3 軟件設計
GAINSJ的集成開發(fā)環(huán)境是Jennic提供的Code::Blocks版本。Code::Blocks是一個全功能開放源代碼的跨平臺C/C++集成開發(fā)環(huán)境,。Jennic公司在此基礎上添加了JN5139編譯器,、JN5139 Flash Programmer、IEEE 802.15.4Stack Software,、ZigBee Stack Software等組件,。
Flash Programmer工具用來將編譯好的代碼下載到GAINSJ開發(fā)板中,在Code::Blocks集成開發(fā)環(huán)境中編寫好應用程序代碼并編譯鏈接相應的庫,,生成二進制文件(*.bin文件)后,,就可以利用Flash Programmer通過串口將二進制文件下載到開發(fā)板上的Flash中[4]。
家庭網絡采用樹形拓撲結構,,ZigBee協(xié)調器負責發(fā)起和維護網絡,,通過串口接收和處理家庭網關傳來的命令;發(fā)送命令數據幀給ZigBee終端節(jié)點,,接收和處理ZigBee終端節(jié)點傳送的數據幀,,通過串口傳送數據給家庭網關。其軟件設計流程圖如圖3所示,。ZigBee路由器負責分配管理網絡地址和轉發(fā)數據包,。ZigBee終端節(jié)點負責加入網絡,接收來自協(xié)調器的命令并執(zhí)行,,將執(zhí)行結果通過數據幀發(fā)送給協(xié)調器,,定期采集處理溫濕度,如果數據超標就發(fā)送數據幀給協(xié)調器,,其軟件設計流程圖如圖4所示,。
本文選用樹形拓撲結構和Cluster-Tree路由算法,下面節(jié)選了一個在終端節(jié)點中調用的發(fā)送函數及參數設置來說明如何使用選定的路由算法,。
(void)afdeDataRequest(
APS_ADDRMODE_SHORT,/* 地址類型 */
0x0000,/* 目的地址 */
WSN_DATA_SINK_ENDPOINT,/* 目的端口*/
WSN_DATA_SOURCE_ENDPOINT,/* 原端口 */
WSN_PROFILE_ID,/* 描述 ID */
WSN_CID_SENSOR_READINGS,/* 簇ID */
AF_MSG,/* 幀類型 */
1,/* 數據包個數*/
asTransaction,/* 數據包內容*/
APS_TXOPTION_NONE,/* 發(fā)送模式 */
SUPPRESS_ROUTE_DISCOVERY, /* 路由發(fā)現模式*/
0/* 發(fā)送深度*/);
這個函數用來向網絡層發(fā)出數據發(fā)送請求,。倒數第二個參數是路由發(fā)現模式,有三種設置,,本文使用SUPPRESS_ROUTE_DISCOVERY,,即如果路由表已經建立,那么數據將使用現有的路由表路由,;如果路由表沒有建立,,那么數據將沿樹形路徑路由,。
2 建立家庭網關
2.1 嵌入式Internet技術及硬件設備
家庭網關的作用是使內部ZigBee家庭網絡和外部Internet互聯互通。本文采用嵌入式Internet技術,,建立嵌入式Web網站,,通過遠程訪問網頁監(jiān)控ZigBee網絡內的設備。嵌入式設備具有體積小,、功耗低,、價格低的優(yōu)點[5]。
本文選用mini2440開發(fā)板做為家庭網關,,它以Samsung的S3C2440處理器為核心,,并輔以SDRAM、Flash等基本的系統(tǒng)外圍設備,,還需配備連接ZigBee網絡協(xié)調器的RS232接口和以太網絡控制器,。
2.2 軟件設計
在mini2440上進行軟件設計的內容和步驟是:(1)搭建交叉編譯開發(fā)環(huán)境,在宿主機上安裝Linux操作系統(tǒng),,安裝arm-linux-gcc編譯器,;(2)在目標板mini2440上移植BOA服務器,配置boa.config文件,;(3)在目標板上進行html文件和.cgi文件測試,,確保BOA服務器正常工作;(4)編寫html靜態(tài)網頁和CGI動態(tài)網頁,,編寫UART串口通信程序,,邏輯結構如圖5所示。
3 結果和展望
mini2440家庭網關和ZigBee協(xié)調器通過RS232串口線相連,,ZigBee路由器和終端節(jié)點擺放在房間的不同位置,,mini2440家庭網關和PC機通過網線相連,IP地址分別為:192.168.1.120和192.168.1.230,。
在PC機上打開瀏覽器,,輸入http://192.168.1.120,即為登錄界面,,輸入用戶名,、密碼,認證成功后,,為主界面,,如圖6所示。在家電狀態(tài)查詢欄里點擊第一個查看,,可獲得并顯示室1的溫濕度,;點擊第二個查看,可獲得并顯示室2的溫濕度。在家電狀態(tài)設置欄里設置家電1為開,,家電查詢欄中對應狀態(tài)顯示on,同樣設置家電2為關,。第三欄定時查詢溫濕度,,如果超標自動顯示在頁面,還具有查看報警歷史記錄的功能,。
本文實現了智能家庭遠程監(jiān)控系統(tǒng)的主干部分,,組建ZigBee家庭網絡,建立嵌入式Web家庭網關,,并驗證了該系統(tǒng)的各項功能,。將ZigBee技術及嵌入式Web技術應用于智能家居系統(tǒng)具有易于實現和擴展、方便實用,、成本低廉的優(yōu)勢,。隨著該技術在智能家居市場的推廣,將有良好的應用前景,。
參考文獻
[1] 童曉渝,,房秉毅,張云勇.物聯網智能家居發(fā)展分析[J].移動通信,,2010,,34(9):16-20.
[2] 馬季.智能家居遠程監(jiān)控系統(tǒng)的研究與實現[D].青島:中國海洋大學,2009.
[3] 鐘永鋒,,劉永俊.ZigBee無線傳感器網絡[M].北京:北京郵電大學出版社,,2011.
[4] 徐勇軍,劉峰,,王春芳,,等.低速無線個域網實驗教程[M].北京:北京理工大學出版社,2008.
[5] 宋雅麗,,唐曉晟.基于OSGi家庭網關和Web Service技術的智能家庭系統(tǒng)[J].計算機應用,,2007,27(6):1542-1544.