蔣昌茂,劉洪林,梁潤(rùn)華
(1.桂林師范高等專科學(xué)校 廣西 桂林 541001;2.桂林航天工業(yè)學(xué)院,廣西 桂林 541004;3.桂林電子科技大學(xué),廣西 桂林 541004)
基于ZigBee、WiFi無(wú)線傳感網(wǎng)絡(luò)的智能家居環(huán)境監(jiān)測(cè)系統(tǒng)的研究與實(shí)現(xiàn)
蔣昌茂1,劉洪林2,梁潤(rùn)華3
(1.桂林師范高等專科學(xué)校 廣西 桂林 541001;2.桂林航天工業(yè)學(xué)院,廣西 桂林 541004;3.桂林電子科技大學(xué),廣西 桂林 541004)
隨著物聯(lián)網(wǎng)技術(shù)的興起,家居智能化蓬勃發(fā)展,許多手機(jī)、路由器、電視等電子電器廠商紛紛推出智能家居產(chǎn)品,但家居環(huán)境監(jiān)測(cè)方面的產(chǎn)品不多。利用ZigBee、WiFi無(wú)線傳輸技術(shù)和傳感器技術(shù),通過(guò)微控制器組建了一個(gè)監(jiān)測(cè)系統(tǒng),以實(shí)現(xiàn)家居環(huán)境檢測(cè)的遠(yuǎn)程及自動(dòng)化控制。方案采用MSP430主控芯片,超低功耗、低成本,支持大量監(jiān)測(cè)節(jié)點(diǎn)和多種網(wǎng)絡(luò)拓?fù)?,適應(yīng)性強(qiáng),大大降低了系統(tǒng)的復(fù)雜度,實(shí)現(xiàn)了快速響應(yīng),增強(qiáng)了系統(tǒng)運(yùn)行的可靠性和安全性等。
智能家居環(huán)境監(jiān)測(cè);ZigBee;WiFi;MSP430;傳感器
隨著無(wú)線網(wǎng)絡(luò)技術(shù)的快速發(fā)展,物聯(lián)網(wǎng)在人們生活中的應(yīng)用越來(lái)越廣泛,特別是在智能家居方面,而且許多手機(jī)、路由器、電視等智能電器廠商也紛紛推出了相關(guān)產(chǎn)品。但是,智能家居作為一個(gè)龐大的系統(tǒng),所涉及到的內(nèi)容非常廣泛。鑒于目前家居環(huán)境監(jiān)測(cè)方面的產(chǎn)品很少,本設(shè)計(jì)利用ZigBee、WiFi兩種無(wú)線傳輸技術(shù)和傳感器技術(shù),通過(guò)微控制器實(shí)現(xiàn)了一個(gè)遠(yuǎn)程自動(dòng)控制的家居環(huán)境監(jiān)測(cè)系統(tǒng)。
本方案的智能家居環(huán)境檢測(cè)系統(tǒng)主要包括以下3個(gè)部分,即PC上位機(jī)監(jiān)測(cè)部分、數(shù)據(jù)傳輸部分、數(shù)據(jù)采集部分。上位機(jī)監(jiān)測(cè)界面用Visual Basic設(shè)計(jì),為用戶提供直觀的數(shù)據(jù);數(shù)據(jù)傳輸用基于IEEE802.15.4的ZigBee無(wú)線傳輸和基于IEEE 802.11的WiFi無(wú)線傳輸互相配合實(shí)現(xiàn);數(shù)據(jù)采集部分采用TI公司的MSP430超低功耗MCU作為主控芯片,選用DHT11溫、濕度傳感器、MQ2煙霧傳感器、人體紅外熱釋電傳感器等采集環(huán)境數(shù)據(jù)。本方案通過(guò)ZigBee、WiFi兩種無(wú)線傳輸技術(shù)互相配合進(jìn)行數(shù)據(jù)傳輸。ZigBee具有低功耗、低速率、支持多節(jié)點(diǎn)和多種網(wǎng)絡(luò)拓?fù)涞膬?yōu)點(diǎn),還具有低復(fù)雜度、低成本、安全、穩(wěn)定、可靠等通信特色,在數(shù)據(jù)流量比較小的傳感器和自動(dòng)化控制領(lǐng)域有很好的應(yīng)用。WiFi傳輸速率快,覆蓋范圍比較廣,與路由器對(duì)接比較方便,但功耗比較高,可擴(kuò)展的節(jié)點(diǎn)數(shù)量有限。對(duì)于傳輸傳感器采集的數(shù)據(jù)而言,其數(shù)據(jù)流量要求并不是很大,但傳感器節(jié)點(diǎn)的數(shù)量會(huì)比較多,如果全部采用WiFi傳輸,會(huì)在數(shù)據(jù)傳輸速率方面造成很大的浪費(fèi),且在節(jié)點(diǎn)數(shù)量擴(kuò)展上產(chǎn)生瓶頸。所以,本方案數(shù)據(jù)采集運(yùn)用ZigBee無(wú)線網(wǎng)絡(luò);數(shù)據(jù)傳輸通過(guò)WiFi模塊與路由器配合實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā),建立無(wú)線通信;只要做一個(gè)數(shù)據(jù)轉(zhuǎn)發(fā)端口實(shí)現(xiàn)ZigBee和WiFi網(wǎng)絡(luò)的互相轉(zhuǎn)發(fā),便可以充分發(fā)揮各自優(yōu)勢(shì),只要PC或者移動(dòng)手機(jī)等遠(yuǎn)程終端能連接到該路由器上,便可以讀取和操作采集數(shù)據(jù),實(shí)現(xiàn)家居環(huán)境檢測(cè)的遠(yuǎn)程及自動(dòng)控制。
本方案網(wǎng)絡(luò)架構(gòu)如圖1,包括無(wú)線傳感器網(wǎng)絡(luò)、本地網(wǎng)絡(luò)和遠(yuǎn)程網(wǎng)絡(luò)三部分。
對(duì)于無(wú)線傳感器網(wǎng)絡(luò)部分,無(wú)線傳感器節(jié)點(diǎn)主要負(fù)責(zé)采集環(huán)境中的溫度、濕度、煙霧等數(shù)據(jù),經(jīng)ZigBee網(wǎng)絡(luò)傳遞給ZigBee-WiFi數(shù)據(jù)轉(zhuǎn)發(fā)端口的ZigBee協(xié)調(diào)器暫存。
對(duì)于本地網(wǎng)絡(luò)部分,主要通過(guò)ZigBee-WiFi數(shù)據(jù)轉(zhuǎn)發(fā)端口,將ZigBee網(wǎng)絡(luò)與WiFi網(wǎng)絡(luò)互聯(lián),實(shí)現(xiàn)ZigBee協(xié)調(diào)器數(shù)據(jù)存儲(chǔ)轉(zhuǎn)發(fā),本地的PC上位機(jī)和移動(dòng)手機(jī)通過(guò)WiFi網(wǎng)絡(luò)連接到本地?zé)o線路由,獲取來(lái)自無(wú)線傳感網(wǎng)的采集數(shù)據(jù)信息。對(duì)于遠(yuǎn)程網(wǎng)絡(luò)部分,遠(yuǎn)程PC上位機(jī)和移動(dòng)手機(jī)通過(guò)WiFi網(wǎng)絡(luò)連接到遠(yuǎn)程端的無(wú)線路由,通過(guò)互聯(lián)網(wǎng)連接到本地路由,獲取無(wú)線傳感器網(wǎng)絡(luò)的數(shù)據(jù)。在移動(dòng)手機(jī)端,也可以通過(guò)連接3G網(wǎng)絡(luò)基站,然后通過(guò)基站連接到互聯(lián)網(wǎng)訪問(wèn)本地路由獲取無(wú)線傳感器網(wǎng)絡(luò)的數(shù)據(jù)。
本方案硬件設(shè)計(jì)的重點(diǎn)是本地的ZigBee無(wú)線傳感網(wǎng)絡(luò)和本地ZigBee-WiFi雙工通信的路由。這兩部分主要是由ZigBee無(wú)線傳輸技術(shù)組成的無(wú)線傳感器網(wǎng)絡(luò),由WiFi模塊與本地?zé)o線路由器建立連接,然后通過(guò)PC上位機(jī)監(jiān)測(cè)軟件訪問(wèn)無(wú)線傳感器網(wǎng)絡(luò)的數(shù)據(jù)。
如圖2所示,無(wú)線傳感器節(jié)點(diǎn)包括電源轉(zhuǎn)換部分,它為傳感器、主控芯片和ZigBee模塊提供合適的電源。主控芯片為MSP430系列超低功耗微控制器,微控制器讀取溫、濕度傳感器的數(shù)據(jù),判斷紅外熱釋電傳感器、煙霧傳感器等傳感器工作態(tài)并采集其數(shù)據(jù)。該過(guò)程通過(guò)ZigBee無(wú)線模塊進(jìn)行(無(wú)線傳感器—MSP430 MCU)數(shù)據(jù)通信,而這里引出的I/O接口是為了方便連接更多的外設(shè)。
圖1 監(jiān)測(cè)系統(tǒng)無(wú)線傳感網(wǎng)絡(luò)總體架構(gòu)
圖2 監(jiān)測(cè)系統(tǒng)無(wú)線傳感器節(jié)點(diǎn)基本架構(gòu)框圖
如圖3所示,數(shù)據(jù)轉(zhuǎn)發(fā)端口主要由MSP430微控制器、1個(gè)ZigBee無(wú)線模塊和1個(gè)WiFi無(wú)線模塊組成,其中,ZigBee無(wú)線模塊為ZigBee網(wǎng)絡(luò)的協(xié)調(diào)器,MSP430微控制器通過(guò)2個(gè)串口分別與ZigBee無(wú)線模塊和WiFi無(wú)線模塊連接,透?jìng)鱖igBee網(wǎng)絡(luò)和WiFi網(wǎng)絡(luò)的數(shù)據(jù)。
圖3 ZigBee-WiFi數(shù)據(jù)轉(zhuǎn)發(fā)端口結(jié)構(gòu)框圖
根據(jù)方案要求,無(wú)線傳感器信息節(jié)點(diǎn)采集到環(huán)境數(shù)據(jù)后,主動(dòng)向ZigBee協(xié)調(diào)器發(fā)送數(shù)據(jù),具體程序流程如圖4所示。
圖4 無(wú)線傳感器節(jié)點(diǎn)程序流程圖
系統(tǒng)上電復(fù)位初始化,將看門狗關(guān)閉,將系統(tǒng)主時(shí)鐘(MCLK)和次主時(shí)鐘(SMCLK)選擇為內(nèi)部的DOC振蕩器(FSC=1 MHz),在完成ZigBee-WiFi數(shù)據(jù)轉(zhuǎn)發(fā)等端口初始化后,配置好串口并進(jìn)入停等周期。MQ-2煙霧傳感器上電需要短暫預(yù)熱,不能馬上正常檢測(cè)煙霧。因?yàn)轭A(yù)熱周期檢測(cè)端的阻抗相對(duì)比較小,會(huì)有觸發(fā)報(bào)警器誤報(bào)的情況,所以,程序執(zhí)行需要一定的停等周期,以便于屏蔽預(yù)熱期間的煙霧報(bào)警器。
當(dāng)煙霧傳感器進(jìn)入正常工作態(tài),定時(shí)器T0_A0開始進(jìn)行500 ms計(jì)時(shí)中斷,微控制器處于低功耗空閑模式。定時(shí)器每隔500 ms對(duì)微控制器進(jìn)行中斷喚醒,讀取紅外熱釋電傳感器對(duì)人體感應(yīng)和煙霧傳感器對(duì)煙霧狀態(tài)的采集數(shù)據(jù),另設(shè)置2.5 s定時(shí)讓MSP430周期性讀取溫、濕度傳感器采集的數(shù)據(jù),喚醒并等待ZigBee無(wú)線模塊建立網(wǎng)絡(luò)連接后,LED指示燈點(diǎn)亮,采集信息節(jié)點(diǎn)的數(shù)據(jù)通過(guò)串口發(fā)送給ZigBee模塊,最后通過(guò)ZigBee網(wǎng)絡(luò)傳輸?shù)絑igBee協(xié)調(diào)器暫存。
本方案沒有用到更多的數(shù)據(jù)預(yù)處理功能,僅使用透?jìng)鞴δ苤苯舆M(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā)。由于MSP430F149芯片配置了2個(gè)UART,完美的雙串口處理能力非常強(qiáng)大,程序設(shè)計(jì)上變得非常簡(jiǎn)單。具體程序流程如圖5所示。
上電復(fù)位,系統(tǒng)初始化后,看門狗關(guān)閉,配置P3并口P3.4、P3.5和P3.6、P3.7引腳第二功能即串口功能,另配置雙串口的波特率為115 200 MHz。讓微處理器進(jìn)入休眠狀態(tài),并開啟串口中斷功能,不管來(lái)自哪個(gè)網(wǎng)絡(luò)的數(shù)據(jù),每收到一幀數(shù)據(jù)都會(huì)發(fā)生一次中斷,將數(shù)據(jù)轉(zhuǎn)發(fā)至另一個(gè)網(wǎng)絡(luò)中。在設(shè)計(jì)中,2個(gè)串口模塊使用的是相同的波特率,因此,在數(shù)據(jù)配置上是相等的。如果2個(gè)串口模塊使用的波特率不一樣,則需要分別計(jì)算,并根據(jù)計(jì)算得到的數(shù)值配置。
圖5 ZigBee-WiFi數(shù)據(jù)轉(zhuǎn)發(fā)端口程序流程圖
圖6 上位機(jī)VB監(jiān)測(cè)界面
上位機(jī)主要負(fù)責(zé)顯示當(dāng)前環(huán)境的各種狀態(tài)和溫濕度數(shù)據(jù),本設(shè)計(jì)使用Visual Basic語(yǔ)言編寫設(shè)計(jì)上位機(jī)監(jiān)測(cè)界面。編程的關(guān)鍵是對(duì)VB中的Winsock控件的合理利用,這也讓編程實(shí)現(xiàn)變得相對(duì)簡(jiǎn)單。
利用Winsock控件的理由是,它提供了訪問(wèn)TCP和TDP等網(wǎng)絡(luò)服務(wù)的便捷途徑。當(dāng)利用它編寫網(wǎng)絡(luò)程序時(shí),不必了解TCP等協(xié)議的細(xì)節(jié)或調(diào)用低級(jí)的WinsockAPI函數(shù),只需通過(guò)設(shè)置控件的屬性并調(diào)用其方法就可以輕松連接到1臺(tái)遠(yuǎn)程上位機(jī)器上進(jìn)行會(huì)話和數(shù)據(jù)傳輸。具體工作原理是:服務(wù)器不間斷地偵聽客戶端的請(qǐng)求程序,客戶端有需要?jiǎng)t向服務(wù)器端發(fā)送請(qǐng)求連接,當(dāng)兩者協(xié)議一致,握手成功,服務(wù)器端與客戶端的連接建立。客戶端可以持續(xù)請(qǐng)求或發(fā)送或接收數(shù)據(jù),服務(wù)器端則對(duì)這些進(jìn)程給予響應(yīng)。所以,本系統(tǒng)需要將WiFi模塊設(shè)置成服務(wù)器模式,協(xié)議類型設(shè)置為TCP協(xié)議進(jìn)行連接訪問(wèn)控制。那么,對(duì)上位機(jī)監(jiān)測(cè)界面的設(shè)計(jì),只要在VB中調(diào)用Winsock控件,配置好Winsock控件使用TCP協(xié)議,然后在文本窗口輸入IP和相應(yīng)連接端口號(hào),上位機(jī)便可與WiFi模塊建立連接,接收并處理來(lái)自ZigBee網(wǎng)絡(luò)的環(huán)境數(shù)據(jù)。如圖6所示,連接成功后,上位機(jī)監(jiān)測(cè)界面顯示的檢測(cè)數(shù)據(jù)2.5 s更新一次。
為了滿足無(wú)人值守、遠(yuǎn)程監(jiān)測(cè)的要求,本方案只需通過(guò)配置路由器DDNS參數(shù)和IP端口轉(zhuǎn)發(fā)映射即可實(shí)現(xiàn),具體做法是:①配置好路由器的DDNS,將路由器的動(dòng)態(tài)域名配置成runhua.jios.org。②配置端口轉(zhuǎn)發(fā)功能,將WiFi模塊的IP 192.168.199.246和端口號(hào)50000映射到路由器的IP和1990號(hào)端口。配置好后,在遠(yuǎn)程端便可以使用TCP協(xié)議,通過(guò)域名runhua.jios.org和端口1990連接到路由內(nèi)部的WiFi模塊,從而接收Z(yǔ)igBee網(wǎng)絡(luò)的數(shù)據(jù)。路由器的DDNS和端口轉(zhuǎn)發(fā)功能的配置需要進(jìn)入路由器后臺(tái)的設(shè)置界面分別設(shè)置。DDNS參數(shù)配置如圖7所示,端口轉(zhuǎn)發(fā)功能如圖8所示。
圖7DDNS參數(shù)配置
圖8 端口轉(zhuǎn)發(fā)功能配置
本方案經(jīng)過(guò)不間斷測(cè)試,結(jié)合測(cè)試中出現(xiàn)的各種狀況,一步一步地改進(jìn)和調(diào)試,達(dá)到了預(yù)期的效果,圖6為連續(xù)24 h的VB監(jiān)測(cè)界面。利用無(wú)線傳感器網(wǎng)絡(luò),可以采集記錄每個(gè)傳感節(jié)點(diǎn)的數(shù)據(jù)。接下來(lái)的研究將進(jìn)一步挖掘MSP430主控芯片強(qiáng)大的功能,使執(zhí)行器對(duì)環(huán)境檢測(cè)結(jié)果做出響應(yīng),真正實(shí)現(xiàn)智能家居自動(dòng)化控制。所以,本設(shè)計(jì)預(yù)留了很多插針,為往后進(jìn)行更深入的研究和開發(fā)做準(zhǔn)備。
[1]陳莉.基于ZigBee協(xié)議的環(huán)境監(jiān)測(cè)無(wú)線傳感器網(wǎng)絡(luò)測(cè)量節(jié)點(diǎn)的設(shè)計(jì)[D].上海:上海交通大學(xué),2008.
[2]劉光.基于ZigBee與以太網(wǎng)的智能家居系統(tǒng)設(shè)計(jì)[D].大連:大連理工大學(xué),2012.
[3]仲偉波,王婷婷,張澤武.基于ZigBee與WiFi的環(huán)境智能傳感系統(tǒng)研制[J].農(nóng)機(jī)化研究,2012(12):186-189.
[4]姜新華,張麗娜.基于ZigBee與WiFi相結(jié)合的溫室環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].內(nèi)蒙古大學(xué)學(xué)報(bào),2011,42(6):699-702.
[5]Wail M,Yaser K,Reem J,et al.Interference Problem between ZigBee and WiFi[J].2012 IACSIT Hong Kong Conferences,2012(30):133-138.
[6]Zhang Lihong,Sun Lei,Zhao Jinchuan,et al.An environment parameters monitoring system of large-scale henhouse based on ZigBee technology[J].2010 4th International Conference on Intelligent Information TechnologyApplication,65-68.
TP273.5;TN92
A
10.15913/j.cnki.kjycx.2018.01.045
2095-6835(2018)01-0045-04
蔣昌茂(1971—),男,廣西桂林人,高級(jí)工程師,碩士,研究方向?yàn)镮P通信及物聯(lián)網(wǎng)應(yīng)用。劉洪林(1967—),男,廣西桂林人,教授級(jí)高級(jí)工程師,學(xué)士,研究方向?yàn)槎嗝襟w技術(shù)、網(wǎng)絡(luò)通信和新型硬件電路設(shè)計(jì)應(yīng)用。
〔編輯:白潔〕