周鼎 曹以龍
摘 要:針對(duì)現(xiàn)有的智能家居操作系統(tǒng)復(fù)雜、移植性差、后期維護(hù)成本高等缺點(diǎn),文中提出了一種基于AM3358內(nèi)核的BeagleBone Black、Web版微信、ZigBee無線組網(wǎng)技術(shù)的智能家居監(jiān)控系統(tǒng)。該系統(tǒng)由作為中央處理器的BBB、Web版微信登錄、ZigBee無線傳感網(wǎng)絡(luò)以及各種可攜帶傳感器的終端組成。本系統(tǒng)完成了智能家居的硬件和軟件設(shè)計(jì),內(nèi)網(wǎng)由CC2530和各類傳感器組建,外網(wǎng)采用Web微信登錄機(jī)制與內(nèi)網(wǎng)通信,完成通過協(xié)調(diào)器對(duì)各個(gè)終端數(shù)據(jù)的采集,并能通過Web版微信控制內(nèi)網(wǎng)節(jié)點(diǎn)的狀態(tài)。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)能穩(wěn)定運(yùn)行,登錄Web版微信便可實(shí)現(xiàn)對(duì)家居電器設(shè)備的控制。
關(guān)鍵詞:監(jiān)控系統(tǒng);ZigBee;智能家居;Web版微信
中圖分類號(hào):TP277 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2018)01-0-03
0 引 言
智能家居以住宅為平臺(tái),利用先進(jìn)的網(wǎng)絡(luò)通信技術(shù)將各種設(shè)備有機(jī)地結(jié)合在一起,實(shí)現(xiàn)家居自動(dòng)一體化,為用戶提供高效便捷的家居環(huán)境。本設(shè)計(jì)以BBB作為上位機(jī),外網(wǎng)采用微信個(gè)人登錄的方式對(duì)家居進(jìn)行控制,內(nèi)網(wǎng)采用TI公司的CC2530芯片作為無線收發(fā)器。終端傳感器多次對(duì)用戶信息進(jìn)行采集,通過BQ神經(jīng)網(wǎng)絡(luò)算法模擬出一種自適應(yīng)用戶習(xí)性擬合數(shù)據(jù),反饋至BeagleBlack Bone存儲(chǔ),可以通過發(fā)送指令控制家居調(diào)整至用戶需要的設(shè)置,從而達(dá)到使家居滿足用戶需求的效果。
1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
1.1 內(nèi)網(wǎng)組建方式
一般來說,智能家居系統(tǒng)分為內(nèi)網(wǎng)與外網(wǎng),內(nèi)網(wǎng)是用于家庭內(nèi)部設(shè)備與網(wǎng)關(guān)通信的網(wǎng)絡(luò)。本文設(shè)計(jì)指的是各類傳感器與協(xié)調(diào)器及協(xié)調(diào)器與BBB之間的通信,無線智能家居內(nèi)網(wǎng)組建采用ZigBee無線通信方式,不僅功耗低,其成本相對(duì)于藍(lán)牙等其他無線技術(shù)更低。
1.2 外網(wǎng)的組建
外網(wǎng)是指BBB與以太網(wǎng)的通信,微信登錄發(fā)送指令與BBB組成的網(wǎng)絡(luò)?,F(xiàn)有的用于遠(yuǎn)程監(jiān)控的平臺(tái)大部分采用微信公眾號(hào)或者商家自帶的App。Web版微信登錄方式不僅移植性強(qiáng),而且相比于公眾號(hào)更方便、安全、快捷;相比于App控制,后期維護(hù)成本更低,且操作簡(jiǎn)單。
1.3 總體結(jié)構(gòu)設(shè)計(jì)
系統(tǒng)的總體設(shè)計(jì)由以下部分構(gòu)成:Web版微信作為外網(wǎng)登錄獲取并控制內(nèi)網(wǎng)信息、BBB開發(fā)板作為中央處理器(相當(dāng)于PC機(jī))、數(shù)據(jù)中轉(zhuǎn)站的ZigBee協(xié)調(diào)器以及連接著多個(gè)傳感器的終端設(shè)備。整體系統(tǒng)結(jié)構(gòu)如圖1所示。
2 智能家居系統(tǒng)硬件設(shè)計(jì)
2.1 BeagleBone Black處理器
系統(tǒng)的中央處理器是BeagleBone Black,通常稱為BBB,這是一塊面向Maker設(shè)計(jì)的嵌入式Linux開發(fā)板,內(nèi)部采用ARM Cortex-A系列核心的TI處理器。在本系統(tǒng)中,該處理器的作用類似“大腦”,負(fù)責(zé)數(shù)據(jù)處理、存儲(chǔ)數(shù)據(jù)、指令轉(zhuǎn)發(fā)等一系列工作。
2.2 ZigBee協(xié)調(diào)器與終端設(shè)備設(shè)計(jì)
ZigBee 模塊是組建家庭內(nèi)網(wǎng)的基本單元。通過ZigBee協(xié)調(diào)器無線接收的各個(gè)終端數(shù)據(jù)通過串口轉(zhuǎn)發(fā)給BBB,ZigBee終端設(shè)備則用于直接接收各類傳感器的信息并發(fā)送給協(xié)調(diào)器。通過ZigBee模塊把家庭內(nèi)網(wǎng)與互聯(lián)網(wǎng)連接起來,實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)發(fā)。ZigBee模塊芯片采用CC2530,通過ZigBee協(xié)議棧,為ZigBee通信提供一個(gè)完美的解決方案。終端與各類傳感器的連接如圖2所示。
2.3 電源模塊設(shè)計(jì)
本文設(shè)計(jì)一共需要兩種不同幅值的電壓輸入,分別是直流5 V和直流3.3 V。其中,5 V電壓是由手機(jī)電源適配器提供,3.3 V由5 V變換得到。系統(tǒng)中需要采用3.3 V電壓給ZigBee芯片、溫濕度傳感器、光敏傳感器模塊供電,沒有較大的電流需求,只要求電源電壓的紋波較低,故本系統(tǒng)采用線性穩(wěn)壓電源模塊,通過5 V電源降壓得到3.3 V電源。LM1117是一款低壓差的線性穩(wěn)壓器,它可以實(shí)現(xiàn)5 V到3.3 V電源的轉(zhuǎn)換。3.3V直流電源設(shè)計(jì)原理如圖3所示。
3 智能家居系統(tǒng)軟件設(shè)計(jì)
本文設(shè)計(jì)采用BBB開發(fā)板,以Z-Stack作為網(wǎng)絡(luò)通信協(xié)議,微信作為外網(wǎng)與內(nèi)網(wǎng)的通信方式。
3.1 ZigBee組網(wǎng)
系統(tǒng)使用IAR systems公司的集成開發(fā)環(huán)境IAR Embedded Workbench,IAR Embedded Workbench 是一個(gè)用于編譯和調(diào)試嵌入式應(yīng)用程序的集成開發(fā)環(huán)境, 支持 C/C++語言。系統(tǒng)使用TI公司的ZigBee協(xié)議棧, ZigBee協(xié)議棧運(yùn)行在一個(gè)稱為OSAL(Operation system Abstraction Layer)的操作系統(tǒng)上,OSAL基于任務(wù)調(diào)度機(jī)制, 其工作原理為:將每個(gè)事件都設(shè)置一個(gè)事件號(hào),根據(jù)事件號(hào)的優(yōu)先級(jí),輪換查詢事件是否被觸發(fā),當(dāng)事件被觸發(fā),調(diào)用相應(yīng)的任務(wù)處理程序。在ZigBee網(wǎng)絡(luò)中有三種設(shè)備類型,即Coordinator(協(xié)調(diào)器),Router(路由),End-Device(終端)。ZigBee網(wǎng)絡(luò)由一個(gè)協(xié)調(diào)器、多個(gè)路由和多個(gè)終端組成,將相應(yīng)的程序燒錄到不同的設(shè)備上,上電后自動(dòng)組網(wǎng)。
3.2 協(xié)調(diào)器節(jié)點(diǎn)軟件設(shè)計(jì)
協(xié)調(diào)器和終端設(shè)備在組網(wǎng)時(shí)會(huì)自動(dòng)分配給各個(gè)節(jié)點(diǎn)一個(gè)16位的MAC地址,協(xié)調(diào)器發(fā)送命令數(shù)據(jù)采用點(diǎn)播的方式在外網(wǎng)Web版微信登錄后,發(fā)送一個(gè)指令,BBB接收后通過串口的方式發(fā)送給協(xié)調(diào)器,之后再轉(zhuǎn)發(fā)給相應(yīng)的終端設(shè)備。協(xié)調(diào)器的工作原理流程如圖4所示。
3.3 終端節(jié)點(diǎn)軟件設(shè)計(jì)
終端節(jié)點(diǎn)用于收集各類傳感器的數(shù)據(jù),當(dāng)協(xié)調(diào)器下達(dá)命令時(shí),通過終端節(jié)點(diǎn)將指令轉(zhuǎn)發(fā)至相應(yīng)的傳感器,從而達(dá)到控制家庭設(shè)備的目的。終端節(jié)點(diǎn)使用一塊電池供電,其工作流程如圖5所示。
3.4 Web版微信登錄原理
由于本文外網(wǎng)設(shè)計(jì)是通過 Web版微信登錄控制內(nèi)網(wǎng)的設(shè)備,所以Web版微信登錄機(jī)制也是軟件設(shè)計(jì)的重要部分。當(dāng)用戶請(qǐng)求登錄Web版微信時(shí),微信服務(wù)器返回一個(gè)會(huì)話ID,生成一個(gè)隨機(jī)的二維碼,通過掃描二維碼來標(biāo)識(shí)當(dāng)前的登錄,微信服務(wù)器輪回查詢用戶手機(jī)端是否已經(jīng)掃描二維碼并確認(rèn)在Web端登錄。微信服務(wù)器訪問登錄地址并獲取uin、sid、pass_ticket、skey,在后續(xù)通信的過程中都會(huì)使用到這幾個(gè)值。登錄完成后,服務(wù)器通過返回給用戶的會(huì)話ID對(duì)用戶進(jìn)行微信好友以及公眾號(hào)的信息同步,不斷查詢是否有消息接收。當(dāng)接受到一個(gè)消息之后,在數(shù)據(jù)庫里查詢是否有相關(guān)的指令回復(fù),并向發(fā)消息的用戶回復(fù)相應(yīng)節(jié)點(diǎn)的信息。Web版微信登錄具體流程如圖6所示。
4 智能家居系統(tǒng)遠(yuǎn)程監(jiān)控功能測(cè)試
外網(wǎng)登錄Web版微信后,就可以與內(nèi)網(wǎng)通信。
圖7所示為當(dāng)發(fā)送一個(gè)字符時(shí),系統(tǒng)做出回應(yīng),默認(rèn)“.”為起始指令,用戶發(fā)送”.”,查看是否登錄成功。
“.all initial”指令用來初始化內(nèi)網(wǎng)信息,命令協(xié)調(diào)器更新網(wǎng)絡(luò)中節(jié)點(diǎn)的數(shù)量,如圖8所示。
“.all status”命令用以查詢各個(gè)節(jié)點(diǎn)的狀態(tài),返回各個(gè)終端節(jié)點(diǎn)包含的傳感器的信息,如圖9所示。
圖10所示為終端節(jié)點(diǎn)重命名功能圖,用于對(duì)終端節(jié)點(diǎn)的重命名,重命名成功后返回成功信息。
通過微信端發(fā)送的指令,可以人為地改變?cè)O(shè)備的狀態(tài),待后臺(tái)回復(fù)消息后,更新設(shè)備狀態(tài),同時(shí)也可以查詢各終端節(jié)點(diǎn)的信息,如圖11所示。
輸入相應(yīng)的節(jié)點(diǎn)名字與設(shè)備名稱,返回該傳感器測(cè)量到的數(shù)值,如圖12所示。
5 結(jié) 語
本文主要對(duì)現(xiàn)存的智能家居系統(tǒng)進(jìn)行了細(xì)節(jié)展示,搭建了一個(gè)微型的智能家居平臺(tái),并且運(yùn)用外網(wǎng)與內(nèi)網(wǎng)的連接達(dá)成了用戶對(duì)家居的總體控制。通過實(shí)驗(yàn)結(jié)果可知,所設(shè)計(jì)系統(tǒng)穩(wěn)定,各傳感器工作正常,并且能順利實(shí)現(xiàn)用戶命令的效果。同時(shí),使用Web版微信登錄方式,不僅移植性強(qiáng),相比于公眾號(hào)也更方便、安全、快捷,具有較好的實(shí)用價(jià)值。
參考文獻(xiàn)
[1]鄭艷華,蔡佳林.一種基于微信平臺(tái)的智能家居系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2016,6(12):45-47.
[2]孫會(huì)民.基于物聯(lián)網(wǎng)ZigBee技術(shù)的智能家居監(jiān)控系統(tǒng)[J].軟件導(dǎo)刊,2015,15(9):97-99.
[3]李泊鋒,王亞剛.基于ZigBee無線技術(shù)的智能家居系統(tǒng)設(shè)計(jì)[J].電子科技 ,2016,29(3):86-89.
[4]張景宇,劉汝濤,徐韶,等.基于人工魚群神經(jīng)網(wǎng)絡(luò)的GPS高程擬合研究[J].城市勘測(cè),2017(1):86-90.
[5]鄧中祚.智能家居控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué),2015.
[6]王泰惠.基于無線網(wǎng)絡(luò)的智能家居組網(wǎng)研究與實(shí)現(xiàn)[D].大連:大連理工大學(xué),2015.
[7]王云崗.基于ZigBee的嵌入式智能家居系統(tǒng)設(shè)計(jì)[D].綿陽:西南科技大學(xué),2015.
[8]陳淡寧.基于物聯(lián)網(wǎng)的智能家居環(huán)境監(jiān)測(cè)系統(tǒng)的研究[D].長春:吉林大學(xué),2014.
[9]馬舟.基于ZigBee協(xié)議的智能家居家庭環(huán)境監(jiān)測(cè)系統(tǒng)的研究與設(shè)計(jì)[J].北京:華北電力大學(xué),2014.
[10]聶佰玲,劉亞,李宇,等.基于微信控制的智能家居系統(tǒng)研究與設(shè)計(jì)[J].山西農(nóng)經(jīng).2016(2):97-98.
[11]王加梁.基于ZigBee技術(shù)的智能家居系統(tǒng)的設(shè)計(jì)與應(yīng)用[J].電子技術(shù)與軟件工程,2016(18):34-35.
[12]吳義黃,唐丹宏,郭坤,等.基于微信端的智能家居監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2016(11):208-210.