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