劉 歡,劉 排,丁 涵,王進利
(河北工業大學 信息工程學院,天津 300401)
在這個信息的時代,隨著科學技術的飛速發展,家居智能化已經成為人們的迫切需求。因此,為了使人們的生活更綠色環保、更方便、更安全,溫濕度及光照實現實時采集和家實現自動控制、室內火情和可燃性氣體實現事實檢測與監控變得越來越重要。在智能家居系統中,擔任重要成分的控制系統和組網技術,對其的選擇是十分重要。其中,在智能家居的控制系統中,無線數據傳輸方式的靈活等特點戰勝了傳統的有線數據傳輸的局限性,從而得到了廣泛應用;為了方便用戶的安裝和使用,避免繁瑣的有線的布線,采用無線方式進行組網。無線組網方式多種多樣,其中ZigBee技術以其組網靈活性、功耗低等優異特性而得到廣泛使用。
智能家居系統采用ZigBee無線組網技術作為基層網絡來實現家居系統內部網絡。在多種網絡拓撲結構中,星型結構的覆蓋范圍較小,但是結構簡單、數據傳輸快,所以在家庭范圍內,采用星型結構作為基礎的網絡結構。通過ZigBee無線通訊模塊與傳感器模塊及家電構成終端設備,實現數據的采集,傳輸等;使用全功能設備作為家居內部ZigBee網絡的中心協調器,負責建立和維護網絡;通過RS232串口通信實現協調器與傳感器模塊之間的連接,系統結構圖如圖1所示。作為智能家居系統的底層基礎網絡,家居內部ZigBee無線網絡可以實現的功能有:1)采集家庭環境的數據和信息。2)簡單處理設備終端上傳來的數據。3)通過串口通信協議將數據上傳到中心協調器。4)協調器根據采集上的實時數據作出判斷,給出控制指令。5)通過串口通信協議將數據回傳給設備終端。6)設備終端作出相應的響應[1]。

圖1 系統結構圖Fig.1 The system structure diagram
ZigBee技術一種短距離低速傳輸的無線網絡協議,其功耗抵、快速、可靠、成本低、容量大、安全的特點,使其可廣泛應用于各種自動控制領域[2]。
ZigBee協議棧是在OSI七層模型的基礎上根據市場和應用的實際需要定義的簡化協議棧,ZigBee協議棧由物理層、MAC層、網絡層和應用層四層結構組成,其中網絡層和應用層是ZigBee聯盟在IEEE 802.15.4標準基礎上重新定義的,而物理層和MAC層則是沿用了IEEE 802.15.4標準。ZigBee協議棧結構如圖2所示。

圖2 ZigBee協議棧系統圖Fig.2 The protocol stack of ZigBee structure diagram
1)物理層(PHY):本層規定了物理無線信道以及 MAC子層之間的接口,提供了PHY層的數據服務和管理服務。主要功能是激活/休眠無線收發設備,對當前信道進行能量檢測,鏈接質量指示,為載波檢測多址與碰撞避免(CMSA-CA)進行空閑頻道評估、頻道選擇、數據的發送及接收等。
2)媒體介質訪問層(MAC層):提供數據服務和管理服務兩種服務,主要完成的功能有:網絡協調者產生并發送信標幀,設備與信標同步,支持RAN網絡的關聯和取消關聯操作,為設備的安全性提供支持,信道接入方式采用免沖突載波檢測多路訪問(CMSA-CA)機制,處理和維護保護時隙機制,在兩個對等的MAC實體之間提供一個可靠地通信連路。
3)網絡層(NWK):負責拓撲結構的建立和維護網絡連接,主要功能有設備連接和斷開網絡時所采用的機制,以及在幀信息傳輸過程中所采用的安全性機制。
4)應用層(APL):是用戶根據需要自行來開發的,由應用支持子層、ZigBee設備配置層和應用架構層組成,其中,應用支持子層為網絡層和應用層提供接口,把基于服務和需求相匹配的兩個設備作為一個整體來進行管理的綁定服務,并未綁定服務構建和保留綁定表,在綁定設備之間傳輸信息;ZigBee設備配置層提供標定服務、為遠程設備提供請求的任何標準的描述符信息;應用架構層是應用支持子層的應用程序的無線數據接口,應用程序使用該層提供的功能來發送和接收無線數據。
ZigBee系統采用的傳感器模塊芯片為CC253O芯片,CC253O是TI公司推出的無線片上系統(SOC)芯片,其需要極少的外接元件,片上集成了不同的構造模塊,大致可分為CPU和相關的存儲器模塊,外設、時鐘和電源管理模塊,無線信收發模塊3類,并通過ZigBee協議棧實現了應用。
在本設計中,STH10作為溫濕度模塊的主芯片,供電電壓為3.3 V,負責采集室內的溫度和濕度。光照傳感器模塊可以感應光照的強度。溫濕度探頭直接使用IIC接口進行控制,光敏探頭經運放處理后輸出電壓信號到AD輸入[3]。其電路原理圖如圖3所示。

圖3 溫濕度及光照傳感器電路Fig.3 The temperature and humidity and light sensor circuit
酒精傳感器模塊是用等級來劃分的,不能顯示具體的數值。通過傳感器輸出端的電壓變化來體現酒精的含有量等級。外界給傳感器供5 V電壓,傳感器內部工作。在清潔的空氣中,輸出端的電壓為一恒定值,若空氣中含有酒精,輸出端的電壓會降低,根據電壓降低程度來判斷酒精含量等級。其原理圖如圖4所示。

圖4 酒精傳感器電路Fig.4 The alcohol sensor circuit
每個繼電器模塊上有4個繼電器,每個繼電器都能單獨進行工作。繼電器模塊采用一片帶中斷輸出的IIC接口的GPIO擴展芯片實現,IIC總線擴展芯片使用PCA9554,作為輸出是高電平有效[4]。其原理圖如圖5所示。

圖5 繼電器電路Fig.5 The relay circuit
本設計是在IAR7.51軟件的開發環境下,通過C語言編寫驅動程序來進行仿真調試的。
Z-Stack協議棧是基于一個輪轉查詢時操作系統的,ZStack從 main()函數進入,首先對系統進行初始化,然后開始執行操作系統[5]。協議棧著有流程如圖6所示。

圖6 協議棧主要流程Fig.6 The main process of protocol stack
4.1.1 系統初始化
初始時,系統需要對硬件平臺和軟件架構所需的要的各個模塊進行初始化,為操作系統的運行做好準備工作,其具體流程圖和對應的函數如圖7所示。

圖7 系統初始化流程圖Fig.7 The flow chart of system initialization
4.1.2 操作系統的執行
操作系統實體只有一行代碼:
Osal_start_system(); //no return from here
此函數不會返回,是一個死循環,這個函數就是輪轉查詢式操作系統的主體部分,這個函數會不斷地查詢每個任務是否有事件發生,如果發生,執行函數;如果沒有發生,查詢下一個任務。
任務是由優先級的,系統優先處理優先級高的任務。
程序清單:
const pTaskEventHandlerFn tasksArr[]=

操作系統要處理MAC層,網絡層,物理層,應用層,zigbee設備應用層,應用層,這6層的任務,優先級是從 MAC層具有最高優先級,到用戶層具有最低優先級。如果MAC層任務有事件處理不完,用戶層任務就不會得到執行。
4.2.1 協調器建立網絡
ZigBee網絡節點設備調用ZDO_StartDevice()函數來啟動設備,然后調用它們形成網絡。協調器將掃描DEFAUL_CHANLIST,從中選擇一個合適的信道[6]。這個網絡會被配置一個PAN標示符和一個16位的網絡地址。然后調用NLME_JNetworkFormationRequest()函數來建立網絡:

4.2.2 節點加入網絡
數據采集節點首先會通過NLME_NETWORK_DISCOVERY.request原語,啟動加入網絡流程。數據節點啟動后,先掃描DEFAULT_CHANLIST指定的頻道[7]。數據采集節點首先要通過信道掃描來發現2.4GHz頻段的信道中存在的網絡。當收到協調器發送的信標應道后,就按照信標內的協調器的網絡地址和PAN_ID等信息加入網絡。
調試結果如圖8所示。

圖8 調試結果Fig.8 The debugging results
在協調器上顯示溫濕度值、光照值及反應酒精濃度的電壓值,并且當溫度高于23攝氏度時,自動開啟繼電器進而驅動電扇的開啟與關閉;當光照大于250勒克斯時,步進電機上的直流電機自動運轉進而驅動窗簾的開合;當酒精傳感器采集的電壓值大于120 V時,驅動蜂鳴器報警。
[1]臧大進,劉增良.基于物聯網的智能家居系統設計與實現[J].襄樊學院報,2010,31(11):37-39.ZANG Da-jin,LIU Zeng-liang.Design and implementation for smart home control system based on internet of things[J].Journal of Xiangfan University,2010,31(11):37-39.
[2]王權平,王莉.ZigBee技術及其應用[J].現代電信科技,2004(1):22-23.WANG Quan-ping,WANG Li.Zigbee technology and its application[J].Modern Science&Technology of Telecommunications,2004(1):22-23.
[3]劉萍.基于ZigBee的智能家居室內通信系統[J].湖南農機,2011,38(9):40-41.LIU Ping.ZigBee-based smart home indoor communication system[J].Hunan Agricultural Machinery,2011,38(9):40-41.
[4]詹良.基于ZigBee技術的智能家居無線網絡系統[D].北京:北京郵電大學,2008.
[5]盧杉.基于ZigBee的無線傳感器網絡協議棧的設計與實現[D].西安:西安電子科技大學,2012.
[6]倪敬飛.ZigBee_2006協議棧的實現及其應用[D].蘭州:蘭州大學,2009.
[7]ZHOU Xiao-yan,HUANG Ting-lei.Research on smart living technology based on WSN[C]//International Conference on Intelligent Computingand Integrated Systems,2010:938-941.