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