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