引 言
物聯(lián)網(wǎng)技術的進步推動著人們對智能家居系列產(chǎn)品需求的增長。無線通信技術的選用極大程度上決定了產(chǎn)品的性能優(yōu)劣,而 ZigBee 技術相比藍牙、WiFi 等具有網(wǎng)絡容量大、傳輸安全性好、功率低等優(yōu)點 [1],適用于智能家居系統(tǒng)
本文旨在設計一種基于 ZigBee 的智能窗系統(tǒng),能夠?qū)崟r根據(jù)風雨、霧霾情況實現(xiàn)自動開關窗戶,方便用戶使用終端APP 控制窗戶,并實時查看窗戶的開閉狀態(tài)。從現(xiàn)實意義上看本品不僅可以提高用戶的生活質(zhì)量,更與人們?nèi)找嬖鲩L的生活需要相契合
1 系統(tǒng)總體設計
系統(tǒng)框圖如圖 1 所示。智能窗系統(tǒng)由五部分組成,分別為用戶訪問平臺、智能窗云平臺服務器、網(wǎng)絡服務器、ZigBee 協(xié)調(diào)器和終端節(jié)點。用戶訪問平臺指移動客戶端,用戶可通過客戶端實時查看室內(nèi)外環(huán)境參數(shù)并控制窗戶開閉。智能窗平臺服務器實現(xiàn)客戶端對智能窗的遠程控制指令和環(huán)境參數(shù)的處理與傳輸,并將數(shù)據(jù)信息保存在數(shù)據(jù)庫中。網(wǎng)絡服務器負責將ZigBee 網(wǎng)絡中的數(shù)據(jù)與以太網(wǎng)進行通信。ZigBee 協(xié)調(diào)器負責終端節(jié)點和網(wǎng)絡服務器之間的數(shù)據(jù)交互。終端節(jié)點分為采集節(jié)點和控制節(jié)點,利用傳感器采集窗外環(huán)境數(shù)據(jù),并通過傳感器網(wǎng)絡進行短距離數(shù)據(jù)傳輸。人體紅外傳感器節(jié)點、煙霧煤氣檢測節(jié)點、光照采集節(jié)點、溫濕度采集節(jié)點、風速檢測節(jié)點粉塵檢測節(jié)點等均為采集節(jié)點。控制節(jié)點指電機控制節(jié)點,用來控制窗戶開閉。同時一個 ZigBee 協(xié)調(diào)器負責多個房間不同窗戶的終端節(jié)點。本系統(tǒng)支持上下雙向數(shù)據(jù)傳輸。由感知層至應用層時,首先通過各傳感器來采集窗外溫濕度、粉塵濃度光照強度、風速等信息數(shù)據(jù),利用 ZigBee 無線技術來完成數(shù)據(jù)從傳感器到嵌入式網(wǎng)關的傳輸,再通過 3G/4G/ 有線寬帶網(wǎng)絡并依據(jù)TCP 協(xié)議,完成數(shù)據(jù)從嵌入式網(wǎng)關到 Web 服務器的傳輸,對數(shù)據(jù)進行分析并形成信息在安卓客戶端顯示。由應用層至感知層時,移動客戶端通過互聯(lián)網(wǎng)發(fā)送指令至智能窗云平臺服務器,經(jīng)由 3G/4G/ 有線寬帶網(wǎng)絡,將用戶指令發(fā)給嵌入式網(wǎng)關進行通信協(xié)議轉(zhuǎn)換,最后由 ZigBee 網(wǎng)絡傳送到電機節(jié)點,從而控制窗戶開閉
該系統(tǒng)方便數(shù)據(jù)上下行傳輸,具有安全性好,功耗低組網(wǎng)簡便等優(yōu)點 [2],符合智能家居的設計要求且節(jié)能環(huán)保
2 系統(tǒng)網(wǎng)絡架構設計
本系統(tǒng)網(wǎng)絡架構包括終端節(jié)點、路由器、協(xié)調(diào)器、網(wǎng)絡服務器、云服務器五部分。協(xié)調(diào)器用于開啟網(wǎng)絡、廣播網(wǎng)絡信息是連接終端節(jié)點和網(wǎng)絡服務器的一個透明中繼。終端節(jié)點負責采集數(shù)據(jù)、收集指令,采用兩跳與協(xié)調(diào)器進行雙向無線通信路由器用于轉(zhuǎn)發(fā)終端節(jié)點和協(xié)調(diào)器之間的數(shù)據(jù)。由于實際應用需要,常在某一個房間里布置 ZigBee 協(xié)調(diào)器??紤]到要與分布在不同房間窗戶上的終端節(jié)點進行通信,而 ZigBee 通信穿透性較弱[3],安裝在不同房間窗戶上的 ZigBee 節(jié)點在傳輸數(shù)據(jù)到協(xié)調(diào)器所在房間時由于信號要穿過墻壁,導致丟包率增大,因此采用樹型拓撲結構。ZigBee 協(xié)調(diào)器作為樹型結構的根節(jié)點,匯聚不同房間路由器傳送的數(shù)據(jù)。每個房間中設立一個路由器用于轉(zhuǎn)發(fā)此房間里終端節(jié)點和協(xié)調(diào)器間的數(shù)據(jù),從而克服ZigBee 穿透能力差的缺點,降低丟包率。樹型拓撲結構具有如下優(yōu)勢
(1) 路由器能有效降低傳輸丟包率 [4]
(2) 網(wǎng)絡架構相對簡單,易于擴展
(3) 網(wǎng)絡響應速度較快
(4) 方便維護
本系統(tǒng)協(xié)調(diào)器與網(wǎng)絡服務器通過 RS 232 串口連接,網(wǎng)絡服務器接入互聯(lián)網(wǎng),與智能窗云服務器通過 3G/4G/ 有線寬帶網(wǎng)絡,依據(jù) TCP/IP 協(xié)議建立通信鏈路
3 系統(tǒng)平臺設計
3.1 系統(tǒng)硬件設計
文中設計的智能窗系統(tǒng)硬件由服務網(wǎng)關和終端節(jié)點兩部分組成
3.1.1 終端節(jié)點設計
在硬件選擇上,出于低功耗的考慮,選取 TI 公司設計的CC2530 單片機作為終端節(jié)點的主控芯片 [5]
終端節(jié)點分為采集節(jié)點和控制節(jié)點,其硬件結構框圖如圖 2 所示。采集節(jié)點由傳感設備、主控芯片、電源模塊和射頻天線組成,用以采集窗內(nèi)外環(huán)境的數(shù)據(jù)信息,并將數(shù)據(jù)上傳給ZigBee 協(xié)調(diào)器??刂乒?jié)點由控制設備、主控芯片、電源模塊和射頻天線四部分組成,負責執(zhí)行 ZigBee 協(xié)調(diào)器下發(fā)的控制指令來控制智能窗的開閉
3.1.2 服務網(wǎng)關設計
作為嵌入式系統(tǒng)的核心,網(wǎng)絡服務器的選擇要有綜合性能、可靠性、功耗、成本等方面的考量。因而采用 TI 公司生產(chǎn)的 AM335x 作為主控芯片,它在性能上完全可滿足家庭網(wǎng)關處理的需要 [6]。ZigBee 模塊采用CC2530 作為主控芯片,作為協(xié)調(diào)器與網(wǎng)絡服務器經(jīng)由 RS 232 進行數(shù)據(jù)傳輸
服務網(wǎng)關結構框圖如圖 3 所示。服務網(wǎng)關由主控芯片RJ 45 接口、3G/4G 模塊、電源模塊、CC2530 協(xié)調(diào)器、射頻天線六部分組成。家庭網(wǎng)關主要負責實現(xiàn)外部網(wǎng)絡和家居無線網(wǎng)絡的數(shù)據(jù)交互。其中ZigBee 網(wǎng)絡由ZigBee 協(xié)調(diào)器負責組建,網(wǎng)絡建立后,收集來自采集節(jié)點的數(shù)據(jù)并通過 RS 232 實現(xiàn)與主控制器的數(shù)據(jù)交互,通過 RJ 45 接口或 3G/4G 模塊將家庭網(wǎng)絡接入Internet,實現(xiàn)遠程監(jiān)控
3.2 系統(tǒng)軟件設計
智能窗系統(tǒng)軟件由終端節(jié)點軟件部分、ZigBee 協(xié)調(diào)器軟件部分和通信協(xié)議等組成。終端節(jié)點軟件部分解決與 ZigBee 協(xié)調(diào)器數(shù)據(jù)的交互問題,ZigBee 協(xié)調(diào)器軟件部分解決與網(wǎng)絡服務器的數(shù)據(jù)通信問題,通信協(xié)議的設計使得數(shù)據(jù)能準確可靠地傳輸
3.2.1 終端節(jié)點軟件設計
終端節(jié)點上電初始化后,搜尋并加入?yún)f(xié)調(diào)器所建立的網(wǎng)絡,入網(wǎng)成功后開啟串口接收函數(shù) [7],然后開始輪轉(zhuǎn)等待主機命令。當接收標志位完成后,根據(jù)數(shù)據(jù)幀類型判斷數(shù)據(jù)來自采集節(jié)點還是 ZigBee 協(xié)調(diào)器。若數(shù)據(jù)來自采集節(jié)點,則將數(shù)據(jù)打包添加幀頭、幀尾、數(shù)據(jù)長度以及兩位 CRC 校驗位,然后通過 ZigBee 無線網(wǎng)絡發(fā)送給 ZigBee 協(xié)調(diào)器 ;若數(shù)據(jù)來自ZigBee 協(xié)調(diào)器,則通過 ZigBee 無線網(wǎng)絡將數(shù)據(jù)幀發(fā)送給控制節(jié)點,然后將數(shù)據(jù)幀解幀,將幀頭、幀尾、數(shù)據(jù)長度、兩位CRC 校驗位拆除,節(jié)點采用串口通信模式,將解幀后的數(shù)據(jù)發(fā)送給控制模塊,電機根據(jù)數(shù)據(jù)位內(nèi)容采取對應的操作當終端節(jié)點未接收到數(shù)據(jù)時,進入低功耗模式并繼續(xù)監(jiān)聽等待圖 4所示為終端節(jié)點軟件設計流程圖
3.2.2 ZigBee協(xié)調(diào)器軟件設計
系統(tǒng)運行時,ZigBee 協(xié)調(diào)器主要負責啟動網(wǎng)絡、維持網(wǎng)絡正常工作以及收集終端采集節(jié)點的數(shù)據(jù)并通過串口與網(wǎng)絡服務器通信。ZigBee 協(xié)調(diào)器上電初始化后,根據(jù)設計好的參數(shù)建立ZigBee 無線網(wǎng)絡,建網(wǎng)完成后開啟串口接收函數(shù),系統(tǒng)開始輪轉(zhuǎn)查詢是否有數(shù)據(jù)傳入。當接收標志位完成后,根據(jù)數(shù)據(jù)幀類型判斷數(shù)據(jù)來自智能窗云服務器還是終端節(jié)點。若數(shù)據(jù)來自云服務器,則將數(shù)據(jù)打包添加幀頭、幀尾、數(shù)據(jù)長度以及兩位CRC 校驗位,然后通過 ZigBee 無線網(wǎng)絡發(fā)送給終端節(jié)點 ;若數(shù)據(jù)來自終端節(jié)點,則將收到的數(shù)據(jù)進行解幀將幀頭、幀尾、數(shù)據(jù)長度、兩位 CRC 校驗位拆除,再通過3G/4G/ 有線寬帶網(wǎng)絡將數(shù)據(jù)發(fā)送給云服務器,云服務器收到數(shù)據(jù)后再實時推送到移動客戶端上,與用戶交互。ZigBee 協(xié)調(diào)器流程如圖 5 所示
3.2.3 通信協(xié)議的設計
本文根據(jù)系統(tǒng)實際需要設計了6 種類型的通信幀,分別為上行數(shù)據(jù)幀、上行應答幀、上行信息幀、下行應答幀、下行控制指令幀、下行配置指令幀。其中上行數(shù)據(jù)幀是采集節(jié)點向云服務器發(fā)送的窗內(nèi)外環(huán)境數(shù)據(jù)信息。上行應答幀是終端節(jié)點執(zhí)行指令情況的反饋幀,云服務器可以從此幀知道終端節(jié)點是否正確執(zhí)行了指令。上行信息幀表示將采集節(jié)點實時的工作狀態(tài)發(fā)送給智能窗云服務器,從而反映采集節(jié)點是否正常工作下行應答幀是云服務器收到終端節(jié)點信息的反饋幀,終端節(jié)點可由此知道數(shù)據(jù)是否正確傳給了云服務器。下行控制指令幀表示云服務器向控制節(jié)點發(fā)送的控制指令。下行配置指令幀表示云服務器配置采集節(jié)點數(shù)據(jù)采集的頻率和控制節(jié)點開關的狀態(tài)。通過對不同功能通信幀的制定,數(shù)據(jù)交互更具穩(wěn)定性和準確性
同時,為了保證通信正常準確的進行,必須設計出合理的數(shù)據(jù)幀格式,幀內(nèi)數(shù)據(jù)按 16 進制方式存儲。數(shù)據(jù)幀的組成部分包括幀頭、數(shù)據(jù)長度、數(shù)據(jù)區(qū)、校驗位和幀尾,其中數(shù)據(jù)區(qū)由數(shù)據(jù)類型、窗戶 ID、設備類型、設備 ID、有效數(shù)據(jù) 5 個部分組成,格式見表 1 所列。幀頭表示此數(shù)據(jù)幀采用串口通信協(xié)議,同時作為是否接收此數(shù)據(jù)幀的標記,表示為 0xEE,占用一個字節(jié)。數(shù)據(jù)長度指數(shù)據(jù)區(qū)的字節(jié)數(shù),此標志對數(shù)據(jù)個數(shù)進行識別,以確保數(shù)據(jù)的準確性,占用一個字節(jié)。類型是信號幀的識別標志,分為方向位和數(shù)據(jù)類型位,占用一個字節(jié),其格式如圖 6 所示。
方向位包括上行和下行,數(shù)據(jù)類型包括數(shù)據(jù)幀、信息幀、應答幀、控制指令幀、配置指令幀五種。方向位和數(shù)據(jù)類型位的組合,可實現(xiàn) 6 種不同類型的通信幀的表示。窗戶 ID 表示一個窗戶的編號,占用 2 B。設備類型表示幀結構要發(fā)送到的終端節(jié)點的設備類型編號,占用 2 B。設備 ID 表示對應終端節(jié)點的編號,占用 8 B。有效數(shù)據(jù)表示幀中要傳送的有用數(shù)據(jù),長度不定。校驗位是對傳送數(shù)據(jù)(除去幀頭和幀尾外的所有字節(jié))的校驗碼,接收方通過辨別校驗位來檢驗是否接收了準確的數(shù)據(jù),占用 2 B。幀尾表示幀信號的結束,由 0xFF表示,占用1 B。
4 結 語
本文設計的智能窗系統(tǒng)選用 ZigBee 技術組建傳感器網(wǎng)絡,并通過 3G/4G/ 有線寬帶網(wǎng)絡傳輸方式使家庭網(wǎng)關能接入Internet,實現(xiàn)云服務器和終端節(jié)點的通信。用戶只要能接入網(wǎng)絡,便可以登錄客戶端,遠程實時監(jiān)控家庭環(huán)境、控制窗戶開閉。文中從系統(tǒng)總體設計、網(wǎng)絡架構、軟硬件設計以及通信協(xié)議等方面做出了詳細分析和研究,能達到對窗戶進行遠程控制以及對窗內(nèi)外環(huán)境進行監(jiān)控的目的。