基于ZigBee-WSN的溫濕度監(jiān)測系統(tǒng)
摘要:針對環(huán)境監(jiān)測系統(tǒng)布線復(fù)雜、數(shù)據(jù)的實(shí)時性和準(zhǔn)確性低等問題,提出了一種基于ZigBee技術(shù)的分布式傳感器網(wǎng)絡(luò)平臺。選用SHT75傳感器實(shí)現(xiàn)對監(jiān)測點(diǎn)溫濕度信息的精準(zhǔn)采集,并通過由CC2530芯片和CC2591射頻前端組建的ZigBee網(wǎng)絡(luò)完成數(shù)據(jù)的遠(yuǎn)距離傳輸和匯聚。數(shù)據(jù)經(jīng)過閾值比較,可以進(jìn)行聲光報警或GSM短信報警。同時,采集的溫濕度信息將通過Z-ScnsorMonitor軟件在PC端實(shí)時顯示和存儲。本系統(tǒng)提高了數(shù)據(jù)的實(shí)時性和可靠性,降低了環(huán)境監(jiān)測成本。
關(guān)鍵詞:無線傳感器網(wǎng)絡(luò);ZigBee;溫濕度;CC2530
引言
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)作為物聯(lián)網(wǎng)的一種未梢網(wǎng)絡(luò)和感知延伸層,已經(jīng)廣泛應(yīng)用于汽車電子、工業(yè)控制、家庭自動化和環(huán)境監(jiān)測等領(lǐng)域。然而,現(xiàn)有的環(huán)境監(jiān)測系統(tǒng)往往存在通信距離短、覆蓋面小、數(shù)據(jù)準(zhǔn)確性低、設(shè)備體積龐大等缺陷。同時,由于監(jiān)測點(diǎn)大部在野外、機(jī)房、企業(yè)排污點(diǎn)等無人值守的地方,需要工作人員定期到現(xiàn)場檢查設(shè)備的運(yùn)行狀態(tài)并維護(hù),因此數(shù)據(jù)的實(shí)時性和故障排除的及時性得不到保證。鑒于此,本文設(shè)計了一種基于ZigBee技術(shù)的分布式傳感器網(wǎng)絡(luò)(DSN)平臺,采用分布式采集,集中式管理策略,并以采集環(huán)境溫濕度信息為例,實(shí)現(xiàn)了遠(yuǎn)距離的實(shí)時溫濕度精準(zhǔn)采集。
1 系統(tǒng)總體結(jié)構(gòu)和功能
系統(tǒng)采用模塊化設(shè)計思想,根據(jù)無線傳感器網(wǎng)絡(luò)的系統(tǒng)架構(gòu)定義了傳感器節(jié)點(diǎn)、匯聚節(jié)點(diǎn)(協(xié)調(diào)器和路由器)和管理節(jié)點(diǎn)等三類功能單元,系統(tǒng)總體結(jié)構(gòu)如圖1所示。傳感器節(jié)點(diǎn)根據(jù)監(jiān)測需要分布在不同地點(diǎn),具有小巧、可移動和自適應(yīng)等特性。無線傳輸網(wǎng)絡(luò)負(fù)責(zé)對采集的數(shù)據(jù)進(jìn)行實(shí)時傳輸、路由中繼和匯聚等,包括ZigBee無線傳感器網(wǎng)絡(luò)和GSM移動通信網(wǎng)絡(luò)。管理節(jié)點(diǎn)可以采用手機(jī)、PDA、嵌入式處理器或PC機(jī)等,這里采用PC機(jī)接收監(jiān)測點(diǎn)信息,并提供人機(jī)交互操作接口,實(shí)現(xiàn)環(huán)境數(shù)據(jù)的實(shí)時顯示和存儲;采用手機(jī)終端實(shí)現(xiàn)異地監(jiān)控和報警。
2 系統(tǒng)硬件電路設(shè)計
2.1 無線傳輸單元
無線傳輸單元是系統(tǒng)設(shè)計的核心,采用CC2530芯片作為系統(tǒng)的MCU,它是TI公司針對2.4GHz ISM頻段推出的第二代支持ZigBee/IEEE 802.15.4協(xié)議的片上系統(tǒng)集成芯片。CC2530內(nèi)部集成了增強(qiáng)型的8051內(nèi)核,8路輸入的12位ADC以及看門狗定時器等,故只需很少的外圍電路即可構(gòu)建一個簡單的ZigBee節(jié)點(diǎn)。其中,必備的外圍電路包括晶振電路、電源電路、復(fù)位電路、無線收發(fā)電路等。由于技術(shù)相對成熟,這里不再贅述,可參看參考文獻(xiàn)。
為保證網(wǎng)絡(luò)的傳輸質(zhì)量,擴(kuò)大網(wǎng)絡(luò)的覆蓋面積,選用TI公司的高性價比、高集成度的2.4 GHz射頻前端CC2591。它適合于低功耗、低電壓的無線傳輸系統(tǒng)。CC2591內(nèi)部集成的功率放大器(PA)輸出功率可達(dá)+22dBm,保證了信號的大功率輸出;同時,還集成了接收靈敏度為6 dB的低噪聲放大器(LNA)。基于以上特性,采用CC2591射頻前端的ZigBee節(jié)點(diǎn)在無障礙情況下的傳輸距離可達(dá)500~800m,是原來距離的10倍以上,網(wǎng)絡(luò)覆蓋面積大大增強(qiáng)。CC2530芯片與CC2591射頻前端的硬件連接圖如圖2所示。
使用CC2591的4個數(shù)字引腳PAEN、EN、HGM、RXTX控制芯片的狀態(tài)。接收信號時,當(dāng)HGM=1采用高增益模式,增益為11dB;HGM=0采用低增益模式,增益為1 dB;發(fā)射信號時,無論HGM為1或0或懸空,信號均放大。另外,CC2591的RF_P、RF_N引腳須與CC2530的RF_P、RF_N對應(yīng)連接,保證RF_P、RF_N在發(fā)送期間能從功率放大器輸出正/負(fù)向射頻信號,在接收期間能輸入正/負(fù)向射頻信號到低噪聲放大器。
2.2 數(shù)據(jù)采集單元
傳統(tǒng)溫濕度采集往往采用溫度傳感器DS18B20和濕度傳感器HS1101相結(jié)合的方式,存在數(shù)據(jù)融合算法復(fù)雜、準(zhǔn)確性低等缺點(diǎn)。采用基于CMOSens技術(shù)的新型數(shù)字式溫濕度傳感器SHT75不僅提高了數(shù)據(jù)采集的精度,而且保證了系統(tǒng)的長期穩(wěn)定性。其相對測濕精度為±1.8%RH,而在25℃時的測溫精度可以達(dá)到±0.3℃,因此特別適合于特殊環(huán)境下溫濕度的精準(zhǔn)采集。
SHT75采用4引腳單排直插式封裝,供電范圍為2.4~5.5 V,溫濕度采集電路電路如圖3所示。DATA引腳為雙向的串行數(shù)據(jù)收發(fā)引腳,可以接CC2530的任意GPIO實(shí)現(xiàn)數(shù)據(jù)通信,這里連接引腳P0_3。另外,為避免信號沖突,CC2530應(yīng)采用低電平驅(qū)動DATA引腳,故連接了一個10 kΩ的上拉電阻,當(dāng)CC2530輸出低電平時,將信號拉至高電平驅(qū)動DATA引腳。SCK為串行時鐘輸入引腳,連接至CC2530的P0_2引腳實(shí)現(xiàn)同步通信,控制讀出溫濕度數(shù)據(jù)。
鑒于CC2530最小系統(tǒng)的可拓展件,每個傳感器節(jié)點(diǎn)可以連接1~3個傳感器。同時,為了便于CC2530和GPIO的數(shù)據(jù)傳輸,所有ZigBee節(jié)點(diǎn)的應(yīng)用程序必須保證多個數(shù)據(jù)鏈路,而兩個對等ZigBee節(jié)點(diǎn)間則使用同一無線信道來和多個接口創(chuàng)建虛擬鏈路,以降低系統(tǒng)的成本。
2.3 報警單元
系統(tǒng)的報警單元采用聲光報警和遠(yuǎn)程短信報警相結(jié)合的方式,確保報警的及時準(zhǔn)確,無漏警。
對于聲報警電路,鑒于無源蜂鳴器的頻率可調(diào),系統(tǒng)采用無源蜂鳴器實(shí)現(xiàn)溫濕度的區(qū)別報警。由于CC2530的I/O引腳電流最大只有20 mA,驅(qū)動能力有限,故采用一個PNP型三極管8550放大電流來驅(qū)動蜂嗚器。當(dāng)溫濕度超過安全閾值時,通過特定程序?qū)ν廨敵霾煌l率的驅(qū)動方波,發(fā)出不同報警信號。光報警電路采用普通發(fā)光二極管即可實(shí)現(xiàn),其正極通過限流電阻接3.3 V電源,確保灌電流不超過MCU的允許值,負(fù)極可直接接到CC2530的GPIO。聲光報警電路如圖4所示,兩者相互配合,可以更好地實(shí)現(xiàn)溫濕度的區(qū)別報警。
另外,為實(shí)現(xiàn)系統(tǒng)的遠(yuǎn)程異地監(jiān)控和報警,在協(xié)調(diào)器節(jié)點(diǎn)增加GSM短信報警單元。選用德國西門子公司的TC35i模塊,它能夠支持中文短信,工作在GSM 900MHz和GSM 1800 MHz雙頻段;模塊主要由GSM基帶處理器、GSM射頻模塊、供電模塊、閃存、ZIF連接器、天線接口六部分組成。它的數(shù)據(jù)輸入/輸出接口實(shí)際上是一個串行異步收發(fā)器,其18引腳RXD、19引腳TXD均為TTL電平的串口通信引腳,分別連接到CC2530的GPIO即可實(shí)現(xiàn)串口數(shù)據(jù)的收發(fā)。使用時只需通過CC2530發(fā)送AT指令即可控制TC35i進(jìn)行短信報警。
3 系統(tǒng)軟件設(shè)計
3.1 數(shù)據(jù)采集程序
SHT75的內(nèi)部前端集成有I2C總線,故數(shù)據(jù)采集程序需完全按照I2C總線的通信協(xié)議進(jìn)行即CC2530的采集指令和接收指令均應(yīng)遵照SHT75的時序編寫。CC2530向SHT75發(fā)送的測溫命令為00000011、測濕命令為00000101,所有數(shù)據(jù)均從MSB開始。在測量和通信結(jié)束后,SHT75自動轉(zhuǎn)入休眠模式。
傳感器采集的溫濕度數(shù)據(jù)可以通過串口調(diào)試助手SComAssistant在PC端顯示,圖5為SHT75采集數(shù)據(jù)??梢钥闯?,當(dāng)前環(huán)境的相對濕度范圍為49.5~50.1%RH,溫度為25.4~25.7℃,數(shù)據(jù)穩(wěn)定可靠,誤差可控,可以完成對溫濕度信息的精準(zhǔn)采集。
3.2 ZigBee-WSN軟件設(shè)計
ZigBee網(wǎng)絡(luò)的建立和運(yùn)行是整個無線傳感器網(wǎng)絡(luò)系統(tǒng)的關(guān)鍵,關(guān)系到數(shù)據(jù)的可靠性和系統(tǒng)的穩(wěn)定性。整個系統(tǒng)的工作流程如圖6所示。
系統(tǒng)上電后,首先進(jìn)行硬件初始化和網(wǎng)絡(luò)初始化。CC2530采用ZigBee2007協(xié)議棧,該協(xié)議棧的初始化可由TI公司提供的Z-Stack完成,Z-Stack是一種輪轉(zhuǎn)查詢式操作系統(tǒng),能夠完成硬件初始化、網(wǎng)絡(luò)初始化等絕大部分功能。ZigBee網(wǎng)絡(luò)的建立實(shí)際上是通過協(xié)調(diào)器與其子節(jié)點(diǎn)的“綁定”實(shí)現(xiàn)的,首先由協(xié)調(diào)器通過網(wǎng)絡(luò)層函數(shù)NLME_NetworkFormationRequest()建立網(wǎng)絡(luò),并通過zb_AllowBind()函數(shù)進(jìn)入允許綁定模式。子節(jié)點(diǎn)發(fā)出綁定請求zb_BindDevice()后,協(xié)調(diào)器建立綁定表并響應(yīng)綁定請求,綁定成功即意味著通信建立。當(dāng)其他節(jié)點(diǎn)加入網(wǎng)絡(luò)時執(zhí)行相同步驟,并不斷更新綁定表。綁定表中包含了節(jié)點(diǎn)的16位網(wǎng)絡(luò)地址、64位IEEE地址和端口號。網(wǎng)絡(luò)地址用于路由機(jī)制和數(shù)據(jù)傳輸,而IEEE地址才是節(jié)點(diǎn)的唯一標(biāo)識。ZigBee網(wǎng)絡(luò)建立過程如圖7所示。
系統(tǒng)初始化完畢后,前置節(jié)點(diǎn)便開始采集數(shù)據(jù)。數(shù)據(jù)經(jīng)無線網(wǎng)絡(luò)傳輸和匯聚將在PC端實(shí)時顯示,閾值比較后可以進(jìn)行聲光報警和短信報警。
3.3 管理節(jié)點(diǎn)軟件
管理節(jié)點(diǎn)選擇TI公司配套的Z-SensorMonitor軟件,它可以形象地顯示網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和各節(jié)點(diǎn)的狀態(tài)信息。另外,Z-SensorMonitor提供了數(shù)據(jù)存儲和恢復(fù)功能,能將十六進(jìn)制數(shù)據(jù)輸出到后綴為.log的文本中,并加入時間戳,便于今后對系統(tǒng)狀態(tài)的調(diào)閱和再現(xiàn)。故采用Z-SensorMonitor能實(shí)時地顯示各監(jiān)測點(diǎn)的溫濕度情況以及整個網(wǎng)絡(luò)的運(yùn)行狀況,圖8為實(shí)驗過程中采集到的實(shí)時網(wǎng)絡(luò)狀態(tài)信息。
結(jié)語
通過對該無線傳感器網(wǎng)絡(luò)系統(tǒng)進(jìn)行功能測試發(fā)現(xiàn),SHT75傳感器節(jié)點(diǎn)能準(zhǔn)確地采集到監(jiān)測點(diǎn)的溫濕度信息,數(shù)據(jù)符合監(jiān)測點(diǎn)的實(shí)際情況。經(jīng)過ZigBee無線傳感器網(wǎng)絡(luò)和GSM移動通信網(wǎng)絡(luò)傳輸后,數(shù)據(jù)穩(wěn)定可靠,達(dá)到了遠(yuǎn)距離、大范圍的實(shí)時溫濕度精準(zhǔn)采集要求。