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