陶加祥,豆春該,萬 建,張博康
(1.中國地質大學(武漢)機械與電子信息學院,湖北 武漢 430742;2.武漢廣播電視臺,湖北 武漢 430742)
隨著科技的進步,人們對生活居住環境的要求也在逐漸提高。在“互聯網+”思維引導以及智慧平臺的推廣下,人們對于生活居住環境的要求不再僅僅是室內裝修雅觀,而對智能化的生活環境也有要求。眾所周知,隨著智慧平臺建設以及國家對物聯網的大力支持,人們的生活居住環境逐漸邁向智能化,已成為這個時代發展的必然趨勢。智能小區的家庭網關是家庭智能化的核心,它的主要任務是完成家庭內部網絡的自組建,以及同外部網絡間的信息交流[1],以實現對家庭終端設備的智能化控制管理。本文針對以往智能家庭網關在組網復雜、網關功能和界面單一、價格昂貴等方面存在的缺點,結合ZigBee、Qt、互聯網,嵌入式等信息傳感技術,設計了一種智能小區家庭網關系統,以滿足智能家庭網關系統在家居生活中的實際需求。
本文設計了一種較為智能、實用的小區家庭網關系統。該系統的自組網方式采用ZigBee網絡拓撲中的星型網絡。當ZigBee協調器建立好新網絡后,ZigBee家庭終端節點攜帶設備媒體訪問控制地址(media access control address,MAC)信息自動加入網絡[2],同時將設備信息發送給協調器;協調器再將設備信息通過串口發送給家庭網關主控核心Raspberry Pi。根據Qt事件監聽機制和ZigBee入網協議,當網關平臺監測到有設備信息就會彈出設備添加窗口。用戶自定義編寫設備名稱等信息后點擊確定按鈕,ZigBee家庭終端節點添加成功。系統總體結構如圖1所示。

圖1 系統總體結構圖
當終端節點添加成功后,用戶就可以通過可視化圖形界面查看家庭環境參數和控制家庭終端設備。當家庭中出現緊急危險情況,可以通過TCP/IP傳輸協議發送至小區物業管理系統,并通知物業人員來處理。該網關集成了WiFi模塊[3],實現了與智能手機的數據交互,以達到用戶遠程控制的效果。
該系統的硬件設計包含兩部分:網關模塊設計和ZigBee通信模塊設計。網關模塊是該系統的總控制器;ZigBee通信模塊負責組建家庭內部網絡,并且通過該模塊把家庭內部網絡與互聯網連接,以達到實現數據交互的目的。
該系統的網關硬件模塊選用的是基于1.2 GHz 四核Broadcom BCM2837 64位ARMv8的處理器為中心的Raspberry Pi開發板。整個硬件平臺以Raspberry Pi開發板為基礎。該開發板具備所有計算機的基本功能,并且只有一張信用卡的大小。它豐富的外設功能也增加了網關的便捷性和實用性。該網關連接Internet通過板載WiFi模塊和以太網模塊,方便用戶遠程控制家電和查詢家居環境信息。ZigBee 協調器通過串口通信實現家庭網關和ZigBee家居終端節點間的通信,能夠實時監測和控制終端節點。采用高清多媒體界面(high defintion multimedia interface,HDMI)模塊連接顯示屏顯示網關的用戶圖形界面,采用CAMERA模塊連接攝像頭監控家居環境周圍影像。網關硬件結構如圖2所示。

圖2 網關硬件結構圖
ZigBee是一種遵從IEEE 802.15.4的國際化標準的遠程監控控制和傳感器網絡應用技術。它的低數據速率、低功耗、安全性以及可靠性等優點能夠滿足家庭自動化、醫療保健、電信服務和工業自動化領域的應用需求。
ZigBee通信模塊主要負責家庭內部ZigBee協調器和終端節點無線網絡的組網和網絡管理。網絡拓撲結構采用星型結構。該結構簡單,適用于小范圍的家居室內環境。其中,微控制器是硬件設計的核心部分。
作為ZigBee新一代的系統芯片(system on a chip,SoC),CC20530結合了領先的射頻(radio frequency,RF)收發器的優良性能,業界標準的增強型8051中央處理器(central processing unit,CPU),系統內可編程閃存且具有8 kB的隨機存取存儲器(random access memory,RAM)。其硬件模塊大致可以分為三類:CPU和內存相關的模塊;外設、時鐘和電源管理相關的模塊,以及無線電相關的模塊。它的運行環境溫度為-40~+125 ℃,運行供電電壓2~3.6 V,且具有不同的運行模式,使得它尤其適用于低功耗要求的系統。因此,本系統選擇CC2530作為主控制器。
系統的整體軟件設計主要分四部分:網關智能增刪設備,ZigBee家居終端節點自動入網,用戶圖形界面以及網關數據庫管理的設計。
網關添加設備示意圖如圖3所示。

圖3 網關添加設備示意圖
智能家庭網關若要實現能夠智能的增刪終端設備,需要結合Qt圖形界面的監聽和ZigBee自動入網協議[4]。 當ZigBee家庭終端節點和ZigBee協調器上電,首先ZigBee協調器建立一個新網絡,并開始接受新的節點加入該網絡;ZigBee終端通過信道掃描找到該網絡并進行關聯過程自動入網。入網成功后,ZigBee家庭終端節點就會不停地向協調器發送自己的設備MAC地址。當協調器接收到終端的MAC地址再通過串口發給ARM平臺的Qt圖形界面[5],當其監聽到有設備MAC地址,就會彈出添加設備的窗口。此時,用戶就可以自定義編寫設備信息和選擇是否添加該設備。
當協調器建立一個新網絡后,如果終端節點想要加入該網絡,就要先和協調器建立連接。建立連接的過程是節點首先向協調器提出連接請求。當協調器收到連接請求后決定是否允許該節點連接,然后對其請求作出響應。
終端節點自動入網分為五個步驟,如下所示。
①主動查找網絡協調器。終端節點上電后會掃描查找周圍網絡的協調器。如果掃描期限內檢測到信標,那么就會獲得協調器的有關信息,同時向其發出連接請求。
②發送關聯請求命令。節點將關聯請求命令發送給協調器,協調器收到后立即回復一個確認幀。同時,根據上層的資源情況決定是否同意此節點的加入請求,然后給節點的MAC層發送響應。
③等待協調器處理。當節點接收到協調器發送的確認字符(acknowledgement,ACK)后,節點MAC將等待一段時間,接受協調器的連接響應。此時的協調器會給該節點分配一個16 bit的短地址,完成與該節點的連接建立;如果資源不夠,該節點會重新發送請求信息。
④發送數據請求命令。在上一步中協調器會產生關聯響應命令。當響應時間過后,節點會發送數據請求命令給協調器;協調器會立刻回復ACK并將關聯響應命令發給節點[6]。
⑤回復。節點收到關聯響應命令后,立即向協調器回復一個確認幀,保存以確認接收到連接響應命令。此時,節點已經獲得協調器分配的短地址和擴展地址,至此關聯加入網絡。
終端節點自動入網流程如圖4所示。

圖4 終端節點自動入網流程圖
該系統的用戶圖形界面[7]采用由Qt Company開發的跨平臺C++圖形用戶界面應用程序開發框架——Qt。Qt具有優良的跨平臺特性,它支持Windows、Linux、OS390等多種操作系統,并且具有豐富的應用程序編程接口(application programming interface,API)和大量的開發文檔,支持2D/3D圖形渲染。
該系統的操作界面[8]主要由首頁、設置、門禁、安防、家居、物業、功能七部分組成。設置主要包含串口的打開和關閉,Qt實現串口通信一般采用第三方庫qextserialport,并且可以自動識別串口設備號。門禁包括開門功能和監控房屋外周圍環境以確保是否存在安全隱患。安防[9]包括煙霧類和入侵類:煙霧類主要包括用戶自定義添加的氣體監測傳感器,入侵類主要包括入侵監測傳感器;家居包含空調類,燈光類和窗簾類;物業包含連接物業和斷開連接,小區物業管理系統是一個服務器,家庭網關屬于一個客戶端,連接物業部分就是向物業系統端服務器發送連接請求。連接成功后,一旦家庭內出現危急情況就可以啟動一鍵報警模式通知小區物業;功能包含聲音大小和屏幕亮度大小的調節以及娛樂模式。Raspberry Pi開發板具備所有計算機端的功能,除了應用家庭網關用戶界面以外,還可以實現其他的娛樂項目。用戶界面功能如圖5所示。

圖5 用戶界面功能圖
對家庭網關來說,數據庫的應用是必不可少的。用數據庫來儲存和管理家庭終端節點的設備信息是一種非常靈活和便捷的選擇。Qt中的QtSql模塊提供了對數據庫的支持。該模塊的眾多類基本可以分為三層:用戶接口層、Sql接口層、驅動層。該系統使用的數據庫是一個輕量級、獨立、可嵌入的數據庫SQLite。
網關數據庫設計圖如圖6所示。

圖6 網關數據庫設計圖
該系統設計了四個表,分別為設備信息表、燈光類控制表、窗簾類控制表、空調類控制表。設備信息表儲存了設備地址、設備位置等家庭終端節點信息。燈光類控制表、窗簾類控制表、空調類控制表分別對應不同類別的家庭終端節點的控制命令信息。
該文設計了一種智能小區家庭網關系統。系統從智能家居結構出發,對家庭網關系統的硬件、軟件進行了分析和設計。硬件設計主要是網關核心板和ZigBee[10]通信芯片的選擇,軟件設計主要包括功能和圖形界面的設計。該系統實現了網關的智能增刪終端節點、緊急情況下向小區物業報警、家電自動控制等功能。與傳統的智能家庭網關[11]相比,本系統價格低廉,易于實現和維護,使用方便,具有良好的應用前景。