張力 武漢城市職業學院 計算機與電子信息工程學院
本次設計的智能家居系統主要基于家庭用的局域網絡,手機、平板電腦等上位機可以通過局域網與物聯網關進行通信,實現對系統各節點電路的控制。智能家居系統中,還需要各類傳感器,以便對房屋內的溫度、濕度、光照等狀態進行實時監測,還需要將照明系統、報警系統、家用電器等設備集成到系統中作為執行器。傳感器檢測到的各種信息數據可以通過ZigBee 終端傳遞給ZigBee 協調器,再通過物聯網關發送到上位機軟件中查看,也可以直接通過協調器,來控制執行設備。系統中,上位機也可以直接根據傳感器采集的信息,對執行設備進行控制。
ZigBee 無線通信模塊可以以TI 公司出品的CC2530 芯片為核心來進行設計,CC2530 是集合了增強型8051CPU 和ZigBee 通信模塊的SOC 解決方案,可以實現低成本的建立ZigBee 網絡。本系統中的ZigBee 網絡中有兩種設備類型:協調器(Coordinator)和終端設備(End-Device)。協調器是每個獨立的Zigbee 網絡中的核心設備,主要角色是負責建立和配置網絡,負責選擇一個信道和一個網絡ID(也稱PAN ID),啟動整個ZigBee 網絡。當Zigbee 網絡建立完成后,其可以作為普通節點功能使用。終端設備是Zigbee 實現低功耗的核心,終端設備沒有維持網絡結構的職責,所以它并不是時刻都處在接收狀態的,大部分情況下它都將處于低功耗休眠模式,可以由電池供電。傳感器終端設備負責采集信息向協調器發送;協調器負責收集信息并對外廣播;執行器終端設備依據條件判斷,接收協調器的廣播信息執行相應的操作。
現在很多人越來越重視室內環境的舒適度,因此溫濕度信息采集是智能家居系統中必不可少的一個環節。可以使用新型數字溫濕度傳感器SHT31,該型號的溫濕度傳感器具有高可靠性和高精度規格,并且結合了多種功能和各種接口(I2C、模擬電壓輸出),應用友好,工作電壓范圍寬(2.4 至5.5 V),適合各類應用。SHT31 可以通過I2C 接口直接與CC2530 芯片進行連接,構成溫濕度采集電路。
室內空氣質量的檢測,可以使用MQ135 氣體傳感器。該傳感器對氨氣、硫化物、苯系蒸汽的靈敏度高,對煙霧和其他有害氣體的檢測效果也很好。其內部使用的氣敏材料是在清潔空氣中電導率較低的二氧化錫,當室內空氣存在污染氣體時,傳感器的電導率隨空氣中污染空氣的濃度的增加而增大,使用簡單的電路即可將電導率的變化轉換為與該氣體濃度相對應的輸出信號。輸出信號再進過模數轉換電路,轉換為數字信號,可以很方便地由CC2530 進行處理。
室內光照強度的采集,可以使用BH1750 芯片作為光照傳感器。該傳感器可以采集范圍0-65535lx 的光照度,傳感器內置16 位的AD 轉換器,直接數字信號輸出,省略復雜的計算,并且通過I2C 接口直接與CC2530 進行連接實現光照強度的數據采集。光照強度的信息可以由協調器發送給上位機,也可以直接設置,自動控制照明電路。
目前,家庭照明系統都開始采用LED照明設備,功率更小,亮度更高。但是由于照明電路還是通過強電轉換為弱點進行驅動,因此在照明電路的設計上,需要加上繼電器電路,從而實現智能化控制。固態繼電器既有放大驅動作用,又有隔離作用,很適合驅動大功率開關式執行機構,較之電磁繼電器可靠性更高,且無觸點、壽命長、速度快,對外界的干擾也小。
智能家居系統中,防盜報警也是非常重要的一個部分,當家中沒有人的時候,可以啟動紅外報警功能。系統中采用SR602 微型熱釋電人體紅外傳感器,可以檢測最大5 米的范圍,由于成本很低,可以在室內布置多個探測節點。該傳感器與CC2530 的接口非常簡單,待機時輸出低電平信號,當范圍內出現人的時候,就會觸發輸出高電平信號。CC2530 可以根據電平的信號,控制蜂鳴器或者語音播報系統進行報警。
本系統中各節點之間的無線通信是由ZigBee 模塊來實現的,而要想組成ZigBee 的網絡,需要先建立ZigBee 的通信協議,本系統可以使用Z-Stark 協議棧。協議是一系列的通信標準,通信雙方需要共同按照這一標準進行正常的數據發射和接收。協議棧是協議的具體實現形式,可以理解為代碼、函數庫,供上層應用調用,協議較底下的層與應用是相互獨立的。使用Z-Stack 協議棧只需要關注應用邏輯,如何發送和接收數據,如何存儲和處理;如何加入某個網絡。所以當做具體應用時,系統的功能只需要調用無線數據發送函數、無線數據接收函數、睡眠函數、喚醒函數等來實現,不需要關心協議棧是怎么寫的。
ZigBee 網絡的組建需要對協調器和終端進行設置,協調器初始化后負責建立無線網絡并等待終端加入。終端設備初始化后加入協調器建立的網絡,實現通信的連通,即可將終端設備采集的數據信息傳遞給協調器,也可以將上位機的指令傳遞給終端設備。
協調器建立網絡時,首先需要初始化Z-Stark 協議棧,然后再對信道進行掃描,并定義網絡的PAN ID,最后啟動網絡并打開中斷。網絡啟動后,會判斷是否有新的節點加入網絡,如果有新的節點加入,則分配網絡地址和端點。當需要發送和接收數據時產生中斷信號,系統根據中斷信號來調用相關函數實現數據的接收和發送。
終端設備首先也需要進行初始化工作,主要是對網絡功能和相關硬件進行初始化,需要尋找指定的ZigBee 網絡,并申請加入,還需要對終端直接連接的傳感器或者執行器功能進行初始化,比如溫濕度傳感器、光照傳感器、繼電器等等。終端設備加入網絡后,即可建立數據傳輸通路,可以實現底層的硬件系統與協調器和上位機系統進行數據通信。
為了提高系統用戶體驗并且能夠讓用戶簡單便捷的對智能家居系統進行操作,還需要在手機或者平板等移動互聯終端上設計相應的上位機軟件,本系統使用的是Android 平臺。由于系統中所有設備是通過物聯網關聯系起來的,物聯網關有與之相配的SDK 包,將終端設備中采集的數據、設備ID 等信息封裝打包并在局域網內廣播。在Android 開發中,只需要調用SDK 的方法,就可以讀取到對應的設備信息,設備變量數值等等。移動設備端需要與物聯網關處于同一局域網內,即可通過TCP/IP 協議獲取相應信息,再將數據包解析。
本文基于ZigBee 無線通信技術對物聯網智能家居系統進行了設計。首先對系統的總體方案進行了說明,在硬件方面對ZigBee 無線通信模塊、溫濕度采集、光照采集、空氣質量采集、照明電路、報警電路等做了設計;在軟件方面對ZigBee 協議棧、ZigBee 無線網絡組間、上位機軟件設計也做出了相應分析。通過本文設計的系統可以讓室內各種傳感器和執行器實現無線互聯,并通過上位機方便快捷的進行操作和控制,從而有效的實現了局域網內的智能家居,提升了用戶的生活質量。