陶加祥,豆春該,萬 建,張博康
(1.中國地質(zhì)大學(xué)(武漢)機械與電子信息學(xué)院,湖北 武漢 430742;2.武漢廣播電視臺,湖北 武漢 430742)
隨著科技的進步,人們對生活居住環(huán)境的要求也在逐漸提高。在“互聯(lián)網(wǎng)+”思維引導(dǎo)以及智慧平臺的推廣下,人們對于生活居住環(huán)境的要求不再僅僅是室內(nèi)裝修雅觀,而對智能化的生活環(huán)境也有要求。眾所周知,隨著智慧平臺建設(shè)以及國家對物聯(lián)網(wǎng)的大力支持,人們的生活居住環(huán)境逐漸邁向智能化,已成為這個時代發(fā)展的必然趨勢。智能小區(qū)的家庭網(wǎng)關(guān)是家庭智能化的核心,它的主要任務(wù)是完成家庭內(nèi)部網(wǎng)絡(luò)的自組建,以及同外部網(wǎng)絡(luò)間的信息交流[1],以實現(xiàn)對家庭終端設(shè)備的智能化控制管理。本文針對以往智能家庭網(wǎng)關(guān)在組網(wǎng)復(fù)雜、網(wǎng)關(guān)功能和界面單一、價格昂貴等方面存在的缺點,結(jié)合ZigBee、Qt、互聯(lián)網(wǎng),嵌入式等信息傳感技術(shù),設(shè)計了一種智能小區(qū)家庭網(wǎng)關(guān)系統(tǒng),以滿足智能家庭網(wǎng)關(guān)系統(tǒng)在家居生活中的實際需求。
本文設(shè)計了一種較為智能、實用的小區(qū)家庭網(wǎng)關(guān)系統(tǒng)。該系統(tǒng)的自組網(wǎng)方式采用ZigBee網(wǎng)絡(luò)拓?fù)渲械男切途W(wǎng)絡(luò)。當(dāng)ZigBee協(xié)調(diào)器建立好新網(wǎng)絡(luò)后,ZigBee家庭終端節(jié)點攜帶設(shè)備媒體訪問控制地址(media access control address,MAC)信息自動加入網(wǎng)絡(luò)[2],同時將設(shè)備信息發(fā)送給協(xié)調(diào)器;協(xié)調(diào)器再將設(shè)備信息通過串口發(fā)送給家庭網(wǎng)關(guān)主控核心Raspberry Pi。根據(jù)Qt事件監(jiān)聽機制和ZigBee入網(wǎng)協(xié)議,當(dāng)網(wǎng)關(guān)平臺監(jiān)測到有設(shè)備信息就會彈出設(shè)備添加窗口。用戶自定義編寫設(shè)備名稱等信息后點擊確定按鈕,ZigBee家庭終端節(jié)點添加成功。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
當(dāng)終端節(jié)點添加成功后,用戶就可以通過可視化圖形界面查看家庭環(huán)境參數(shù)和控制家庭終端設(shè)備。當(dāng)家庭中出現(xiàn)緊急危險情況,可以通過TCP/IP傳輸協(xié)議發(fā)送至小區(qū)物業(yè)管理系統(tǒng),并通知物業(yè)人員來處理。該網(wǎng)關(guān)集成了WiFi模塊[3],實現(xiàn)了與智能手機的數(shù)據(jù)交互,以達(dá)到用戶遠(yuǎn)程控制的效果。
該系統(tǒng)的硬件設(shè)計包含兩部分:網(wǎng)關(guān)模塊設(shè)計和ZigBee通信模塊設(shè)計。網(wǎng)關(guān)模塊是該系統(tǒng)的總控制器;ZigBee通信模塊負(fù)責(zé)組建家庭內(nèi)部網(wǎng)絡(luò),并且通過該模塊把家庭內(nèi)部網(wǎng)絡(luò)與互聯(lián)網(wǎng)連接,以達(dá)到實現(xiàn)數(shù)據(jù)交互的目的。
該系統(tǒng)的網(wǎng)關(guān)硬件模塊選用的是基于1.2 GHz 四核Broadcom BCM2837 64位ARMv8的處理器為中心的Raspberry Pi開發(fā)板。整個硬件平臺以Raspberry Pi開發(fā)板為基礎(chǔ)。該開發(fā)板具備所有計算機的基本功能,并且只有一張信用卡的大小。它豐富的外設(shè)功能也增加了網(wǎng)關(guān)的便捷性和實用性。該網(wǎng)關(guān)連接Internet通過板載WiFi模塊和以太網(wǎng)模塊,方便用戶遠(yuǎn)程控制家電和查詢家居環(huán)境信息。ZigBee 協(xié)調(diào)器通過串口通信實現(xiàn)家庭網(wǎng)關(guān)和ZigBee家居終端節(jié)點間的通信,能夠?qū)崟r監(jiān)測和控制終端節(jié)點。采用高清多媒體界面(high defintion multimedia interface,HDMI)模塊連接顯示屏顯示網(wǎng)關(guān)的用戶圖形界面,采用CAMERA模塊連接攝像頭監(jiān)控家居環(huán)境周圍影像。網(wǎng)關(guān)硬件結(jié)構(gòu)如圖2所示。
圖2 網(wǎng)關(guān)硬件結(jié)構(gòu)圖
ZigBee是一種遵從IEEE 802.15.4的國際化標(biāo)準(zhǔn)的遠(yuǎn)程監(jiān)控控制和傳感器網(wǎng)絡(luò)應(yīng)用技術(shù)。它的低數(shù)據(jù)速率、低功耗、安全性以及可靠性等優(yōu)點能夠滿足家庭自動化、醫(yī)療保健、電信服務(wù)和工業(yè)自動化領(lǐng)域的應(yīng)用需求。
ZigBee通信模塊主要負(fù)責(zé)家庭內(nèi)部ZigBee協(xié)調(diào)器和終端節(jié)點無線網(wǎng)絡(luò)的組網(wǎng)和網(wǎng)絡(luò)管理。網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)采用星型結(jié)構(gòu)。該結(jié)構(gòu)簡單,適用于小范圍的家居室內(nèi)環(huán)境。其中,微控制器是硬件設(shè)計的核心部分。
作為ZigBee新一代的系統(tǒng)芯片(system on a chip,SoC),CC20530結(jié)合了領(lǐng)先的射頻(radio frequency,RF)收發(fā)器的優(yōu)良性能,業(yè)界標(biāo)準(zhǔn)的增強型8051中央處理器(central processing unit,CPU),系統(tǒng)內(nèi)可編程閃存且具有8 kB的隨機存取存儲器(random access memory,RAM)。其硬件模塊大致可以分為三類:CPU和內(nèi)存相關(guān)的模塊;外設(shè)、時鐘和電源管理相關(guān)的模塊,以及無線電相關(guān)的模塊。它的運行環(huán)境溫度為-40~+125 ℃,運行供電電壓2~3.6 V,且具有不同的運行模式,使得它尤其適用于低功耗要求的系統(tǒng)。因此,本系統(tǒng)選擇CC2530作為主控制器。
系統(tǒng)的整體軟件設(shè)計主要分四部分:網(wǎng)關(guān)智能增刪設(shè)備,ZigBee家居終端節(jié)點自動入網(wǎng),用戶圖形界面以及網(wǎng)關(guān)數(shù)據(jù)庫管理的設(shè)計。
網(wǎng)關(guān)添加設(shè)備示意圖如圖3所示。
圖3 網(wǎng)關(guān)添加設(shè)備示意圖
智能家庭網(wǎng)關(guān)若要實現(xiàn)能夠智能的增刪終端設(shè)備,需要結(jié)合Qt圖形界面的監(jiān)聽和ZigBee自動入網(wǎng)協(xié)議[4]。 當(dāng)ZigBee家庭終端節(jié)點和ZigBee協(xié)調(diào)器上電,首先ZigBee協(xié)調(diào)器建立一個新網(wǎng)絡(luò),并開始接受新的節(jié)點加入該網(wǎng)絡(luò);ZigBee終端通過信道掃描找到該網(wǎng)絡(luò)并進行關(guān)聯(lián)過程自動入網(wǎng)。入網(wǎng)成功后,ZigBee家庭終端節(jié)點就會不停地向協(xié)調(diào)器發(fā)送自己的設(shè)備MAC地址。當(dāng)協(xié)調(diào)器接收到終端的MAC地址再通過串口發(fā)給ARM平臺的Qt圖形界面[5],當(dāng)其監(jiān)聽到有設(shè)備MAC地址,就會彈出添加設(shè)備的窗口。此時,用戶就可以自定義編寫設(shè)備信息和選擇是否添加該設(shè)備。
當(dāng)協(xié)調(diào)器建立一個新網(wǎng)絡(luò)后,如果終端節(jié)點想要加入該網(wǎng)絡(luò),就要先和協(xié)調(diào)器建立連接。建立連接的過程是節(jié)點首先向協(xié)調(diào)器提出連接請求。當(dāng)協(xié)調(diào)器收到連接請求后決定是否允許該節(jié)點連接,然后對其請求作出響應(yīng)。
終端節(jié)點自動入網(wǎng)分為五個步驟,如下所示。
①主動查找網(wǎng)絡(luò)協(xié)調(diào)器。終端節(jié)點上電后會掃描查找周圍網(wǎng)絡(luò)的協(xié)調(diào)器。如果掃描期限內(nèi)檢測到信標(biāo),那么就會獲得協(xié)調(diào)器的有關(guān)信息,同時向其發(fā)出連接請求。
②發(fā)送關(guān)聯(lián)請求命令。節(jié)點將關(guān)聯(lián)請求命令發(fā)送給協(xié)調(diào)器,協(xié)調(diào)器收到后立即回復(fù)一個確認(rèn)幀。同時,根據(jù)上層的資源情況決定是否同意此節(jié)點的加入請求,然后給節(jié)點的MAC層發(fā)送響應(yīng)。
③等待協(xié)調(diào)器處理。當(dāng)節(jié)點接收到協(xié)調(diào)器發(fā)送的確認(rèn)字符(acknowledgement,ACK)后,節(jié)點MAC將等待一段時間,接受協(xié)調(diào)器的連接響應(yīng)。此時的協(xié)調(diào)器會給該節(jié)點分配一個16 bit的短地址,完成與該節(jié)點的連接建立;如果資源不夠,該節(jié)點會重新發(fā)送請求信息。
④發(fā)送數(shù)據(jù)請求命令。在上一步中協(xié)調(diào)器會產(chǎn)生關(guān)聯(lián)響應(yīng)命令。當(dāng)響應(yīng)時間過后,節(jié)點會發(fā)送數(shù)據(jù)請求命令給協(xié)調(diào)器;協(xié)調(diào)器會立刻回復(fù)ACK并將關(guān)聯(lián)響應(yīng)命令發(fā)給節(jié)點[6]。
⑤回復(fù)。節(jié)點收到關(guān)聯(lián)響應(yīng)命令后,立即向協(xié)調(diào)器回復(fù)一個確認(rèn)幀,保存以確認(rèn)接收到連接響應(yīng)命令。此時,節(jié)點已經(jīng)獲得協(xié)調(diào)器分配的短地址和擴展地址,至此關(guān)聯(lián)加入網(wǎng)絡(luò)。
終端節(jié)點自動入網(wǎng)流程如圖4所示。
圖4 終端節(jié)點自動入網(wǎng)流程圖
該系統(tǒng)的用戶圖形界面[7]采用由Qt Company開發(fā)的跨平臺C++圖形用戶界面應(yīng)用程序開發(fā)框架——Qt。Qt具有優(yōu)良的跨平臺特性,它支持Windows、Linux、OS390等多種操作系統(tǒng),并且具有豐富的應(yīng)用程序編程接口(application programming interface,API)和大量的開發(fā)文檔,支持2D/3D圖形渲染。
該系統(tǒng)的操作界面[8]主要由首頁、設(shè)置、門禁、安防、家居、物業(yè)、功能七部分組成。設(shè)置主要包含串口的打開和關(guān)閉,Qt實現(xiàn)串口通信一般采用第三方庫qextserialport,并且可以自動識別串口設(shè)備號。門禁包括開門功能和監(jiān)控房屋外周圍環(huán)境以確保是否存在安全隱患。安防[9]包括煙霧類和入侵類:煙霧類主要包括用戶自定義添加的氣體監(jiān)測傳感器,入侵類主要包括入侵監(jiān)測傳感器;家居包含空調(diào)類,燈光類和窗簾類;物業(yè)包含連接物業(yè)和斷開連接,小區(qū)物業(yè)管理系統(tǒng)是一個服務(wù)器,家庭網(wǎng)關(guān)屬于一個客戶端,連接物業(yè)部分就是向物業(yè)系統(tǒng)端服務(wù)器發(fā)送連接請求。連接成功后,一旦家庭內(nèi)出現(xiàn)危急情況就可以啟動一鍵報警模式通知小區(qū)物業(yè);功能包含聲音大小和屏幕亮度大小的調(diào)節(jié)以及娛樂模式。Raspberry Pi開發(fā)板具備所有計算機端的功能,除了應(yīng)用家庭網(wǎng)關(guān)用戶界面以外,還可以實現(xiàn)其他的娛樂項目。用戶界面功能如圖5所示。
圖5 用戶界面功能圖
對家庭網(wǎng)關(guān)來說,數(shù)據(jù)庫的應(yīng)用是必不可少的。用數(shù)據(jù)庫來儲存和管理家庭終端節(jié)點的設(shè)備信息是一種非常靈活和便捷的選擇。Qt中的QtSql模塊提供了對數(shù)據(jù)庫的支持。該模塊的眾多類基本可以分為三層:用戶接口層、Sql接口層、驅(qū)動層。該系統(tǒng)使用的數(shù)據(jù)庫是一個輕量級、獨立、可嵌入的數(shù)據(jù)庫SQLite。
網(wǎng)關(guān)數(shù)據(jù)庫設(shè)計圖如圖6所示。
圖6 網(wǎng)關(guān)數(shù)據(jù)庫設(shè)計圖
該系統(tǒng)設(shè)計了四個表,分別為設(shè)備信息表、燈光類控制表、窗簾類控制表、空調(diào)類控制表。設(shè)備信息表儲存了設(shè)備地址、設(shè)備位置等家庭終端節(jié)點信息。燈光類控制表、窗簾類控制表、空調(diào)類控制表分別對應(yīng)不同類別的家庭終端節(jié)點的控制命令信息。
該文設(shè)計了一種智能小區(qū)家庭網(wǎng)關(guān)系統(tǒng)。系統(tǒng)從智能家居結(jié)構(gòu)出發(fā),對家庭網(wǎng)關(guān)系統(tǒng)的硬件、軟件進行了分析和設(shè)計。硬件設(shè)計主要是網(wǎng)關(guān)核心板和ZigBee[10]通信芯片的選擇,軟件設(shè)計主要包括功能和圖形界面的設(shè)計。該系統(tǒng)實現(xiàn)了網(wǎng)關(guān)的智能增刪終端節(jié)點、緊急情況下向小區(qū)物業(yè)報警、家電自動控制等功能。與傳統(tǒng)的智能家庭網(wǎng)關(guān)[11]相比,本系統(tǒng)價格低廉,易于實現(xiàn)和維護,使用方便,具有良好的應(yīng)用前景。