【摘要】本文主要介紹了一個基于Zigbee無線網絡智能家居系統的設計,該系統包括燈光和家電控制,各種報警和視頻監控等功能以及遠程網絡控制功能。
【關鍵詞】Zigbee;CC2530;智能家居
0.引言
近年來,物聯網成為全球關注的熱點領域,我國在制定“十二五”規劃時更是將物聯網納入“十二五”專題規劃。智能家居屬于物聯網的一個重要分支,基于物聯網的智能家居表現為利用信息傳感設備將家居生活有關的各種子系統有機地結合在一起,并與互聯網連接起來,進行監控、管理信息交換和通訊,實現家居智能化。本文介紹了基于802.15.4的Zigbee無線網絡協議的智能家居控制系統的實現。
1.系統總體設計
本智能無線家居控制系統主要由網站、PC軟件、Zigbee網絡協調器、Zigbee控制與采集節點四個部分組成(如圖1所示)。該系統主要實現本地和網絡對家庭電器的控制,以及模擬場景的智能控制。
圖1 系統總體框圖
網站為用戶提供一個遠程控制家電的系統,用戶通過遠程訪問家庭的嵌入式服務器來獲得當前家庭的情況并向設備發送控制指令。
PC軟件是系統的靈魂,軟件編寫的好壞直接影響系統的性能。PC軟件的功能是給用戶提供操作界面,將通過網絡或本地的控制指令用戶的指令通過串口傳送給Zigbee協調器,并且存放Zigbee協調器傳送的各個節點的狀態信息,并顯示報警信息,其中數據庫是網絡與本地控制數據交換中心。
Zigbee協調器是信息的交換中心。Zigbee協調器的功能是接收PC傳送的指令并通過無線的方式發送給Zigbee控制采集節點和接收由Zigbee控制采集節點發送的信息并且向上位機(PC)發送。
Zigbee控制與采集節點是家居控制的執行機構,它可以接受無線控制指令并執行。控制節點主要用于控制家庭的開關電器設備,如電燈、電扇以及具有紅外控制器的設備,如電視,空調等。采集節點主要用于實時監測家庭安全隱患,如煤氣泄漏,火災等。Zigbee控制與采集節點都具有向Zigbee協調器反饋當前狀態的功能。
系統通過相關Zigbee節點采集信息,并傳送給Zigbee協調器,然后由協調器將信息傳送給PC機,PC機將節點的信息存入數據庫之后,實現報警和實時的狀態顯示,并通過PC操作人員的操作,將控制指令發送給Zigbee協調器,然后由Zigbee協調器將執行指令發送給Zigbee相關節點。通過節點的執行完成對家庭中照明、安防等的控制。同時系統還可以利用無線網絡設備查詢和控制無線攝像設備,對家庭進行監控。通過網絡訪問智能家居控制系統網站,用戶可以觀察到家庭的基本情況,用戶還可以使用網站的控制指令,向數據庫寫入控制指令,當PC軟件檢測到數據庫的內容發生變化時,便向Zigbee協調器發送控制指令。
2.單片機硬件設計
圖2 電路板結構框圖
本系統的硬件部分主要由計算機PC、協調器與節點電路板、無線網絡設備、傳感器模塊等部分組成,其中協調器與節點電路部分是本文的設計重點,其結構框圖如圖2所示。
本系統才用TI公司的CC2530芯片作為協調器和節點的控制芯片,CC2530是一款無線單片機,工作在2.4GHZ的頻段,采用802.15.4通信協議。
Zigbee協調器與節點在硬件電路設計上基本無區別,主要通過軟件編程讓其工作在協調器或節點模式。
Zigbee協調器主要通過RS232串口接口于與PC機通信,MAX232芯片是用于串口通信的芯片。Zigbee節點主要提供控制(如燈光控制)和采集(如溫度采集)接口。
Zigbee協調器是底層通信系統的核心,主要是接收節點信息向PC機反饋以及接收PC機控制指令向節點轉發。
3.軟件部分設計
本系統主要有網站、上位機(PC)程序和下位機(協調器和節點)程序三個部分組成。網站主要用ASP.NET編程,用到了C#語言,Dreamweaver8 ,Visualstudio 2008等一些網絡編程工具,數據庫用Access數據庫實現。
上位機程序主要是在Visualstudio2008環境下完成的,采用VB語言編程,實現包括界面、控制和通信等功能。下位機主要是在IAR Embedded Workbench環境下完成的,采用C語言編寫,實現包括控制和通信等功能,下位機采用的芯片是TI公司出的CC2530芯片,并且針對這塊芯片TI公司有完整的Zigbee協議棧,本系統正是基于Z-Stack 2007編寫而成的,在原有的Z-Stack的基礎上編寫自己的應用程序來完成系統的功能。系統上位機主程序界面如圖3所示。
圖3 系統上位機主程序界面
網站文件部分程序(更新溫度程序)如下:
protected void update()
{
string a = \"0.00\";
string b = \"0.00\";
/*選擇溫濕度進行更新*/
OleDbConnection conn = new OleDbConnection(constr);
OleDbCommand cmd = new OleDbCommand(\"select 傳感器數據2 from devicedata where 設備名稱='TEMPERATRUE'\", conn);
conn.Open();
OleDbDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{ a = dr[\"傳感器數據2\"].ToString();
}
dr.Close();
conn.Close();
Labeltempds1820.Text = a + \"℃\";
}
4.結束語
本文介紹了基于Zigbee無線網絡智能家居控制系統的實現,它具有本地和網絡訪問等多種控制方式,同時根據不同的場景設置能夠達到智能控制,讓人們生活得更加舒適與放心。本系統所采用的CC2530芯片具有低功耗,體積小,(2.4GHz)無線發射的特點,并且其對應的Z-Stack具有完善的功能,能夠保證通信系統的有效性、可靠性和安全性。綜上所述,本系統切合社會發展實際需要、技術可實現性、經濟性都很好,有一定的創新性和推廣潛力,非常有研究價值并有很強的現實意義。
【參考文獻】
[1]關勇.物聯網行業發展分析.北京郵電大學學位論文,2010.
[2]唐亮.我國物聯網產業發展現狀與產業鏈分析.北京郵電大學學位論文,2010.
[3]物聯網“十二五”規劃鎖定十大領域.中國證券報,2010.
[4]高守瑋,吳燦陽.Zigbee技術實踐教程——基于CC2430/31的無線傳感器網絡解決方案.北京航空航天大學出版社,2009.