摘 要:無線傳感器網絡因其在生產生活中將產生的重大意義而受到越來越多的關注。介紹了一種新興的低功耗、低成本、低數據率、低復雜度的無線網絡技術—— Zigbee技術及其在無線傳感器網絡中的應用。最后在相應的硬件和軟件平臺上實現對溫度的遠距離接收,并對其性能進行測試。
關鍵詞:Zigbee;無線傳感器網絡;低功耗;TinyOS necC
中圖分類號:TP393 文獻標識碼:B
文章編號:1004-373X(2008)02-192-03
Application of Zigbee in Wireless Sensor Network
SUN Maoyi,CHEN Lixue
(Southwest Petroleum University,Chengdu,610500,China)
Abstract:For the great significance in production and daily life,wireless sensor network attracts more and more sight.This paper introduces a new wireless network technology with low cost of power,low cost of money,low data rate,and less complexity structure-Zigbee technology and its usage in wireless sensor network.At last we actualize getting remote temperature on relevant hardware and software platforms,and test its performance.
Keywords:Zigbee;wireless sensor network;low cost of power;Tinyos necC
隨著人們在生產生活中對數據獲取和對過程控制的需要,無線傳感器網絡技術因其自身的先天優勢在當前國際上備受關注。無線傳感器網絡技術綜合了傳感器技術、嵌入式計算機技術、現代網絡及無線通信技術等前沿技術,能夠通過各種集成化的微型傳感器協作實時監測、感知和采集 各種環境監測對象的信息,通過嵌入式系統對信息進行處理。并通過隨機自組織無線多條中繼方式將感知信息傳送到用戶端。 Zigbee技術,因其超低功耗、抗干擾和網絡的健壯性等優點,使其在無線傳感器領域發揮出巨大的作用。
1 Zigbee概述
ZigBee是一組基于IEEE批準通過的802.15.4無線標準研制開發的,有關組網、安全和應用軟件方面的技術標準。IEEE僅處理低級MAC層和物理層協議,ZigBee聯盟對其網絡層協議和API進行了標準化。完全協議用于一次可直接連接到一個設備的基本節點的4 kB或作為Hub或路由器的協調器的32 kB。每個協調器可連接多達255個節點,而幾個協調器則可形成一個網絡,對路由傳輸的數目則沒有限制。ZigBee聯盟還開發了安全層,以保證這種便攜設備不會意外泄漏其標識,而且這種利用網絡的遠距離傳輸不會被其他節點獲得。
完整的Zigbee協議套件由高層應用規范、應用會聚層、網絡層、數據鏈路層和物理層組成。網絡層以上協議由ZigBee聯盟制定,IEEE 802.15.4負責物理層和鏈路層標準。圖1所示為Zigbee協議棧的構架。
Zigbee的特點突出,尤其在低功耗、低成本上,主要有以下幾個方面:
(1) 低功耗
在低耗電待機模式下,2節5號干電池可支持1個節點工作6~24個月,甚至更長時間。這是Zigbee的突出優勢。相比較,藍牙能工作數周、WiFi可工作數小時。
(2) 低成本
通過大幅簡化協議(成本不到藍牙的1/10),降低了對通信控制器的要求,按預測分析,以8051的8位微控制器測算,全功能的主節點需要32kB代碼,子功能節點少至4 kB代碼,而且Zigbee免協議專利費。
(3)低速率
[JP3]Zigbee工作在20~250 kb/s的較低速率,分別提供250 kb/s(2.4 GHz),40 kb/s(915 MHz)和20 kb/s(868 MHz)的原始數據吞吐率,滿足低速率傳輸數據的應用需求。
(4) 近距離
傳輸范圍一般介于10~100 m之間,在增加RF發射功率后,亦可增加到1~3 km。這指的是相鄰節點間的距離。如果通過路由和節點間通信的接力,傳輸距離將可以更遠。
(5) 短時延
Zigbee的響應速度較快,一般從睡眠轉入工作狀態只需15 ms,節點連接進入網絡只需30 ms,進一步節省了電能。相比較,藍牙需要3~10 s、WiFi需要3 s。
(6) 高容量
Zigbee可采用星狀、片狀和網狀網絡結構,由一個主節點管理若干子節點,最多一個主節點可管理254個子節點;同時主節點還可由上一層網絡節點管理,最多可組成65 000個節點的大網。
(7) 高安全
Zigbee提供了3級安全模式,包括無安全設定、使用接入控制清單(ACL)防止非法獲取數據以及采用高級加密標準(AES128)的對稱密碼,以靈活確定其安全屬性。
(8) 免執照頻段
采用直接序列擴頻在工業科學醫療(ISM)頻段,2.4 GHz(全球),915 MHz(美國)和868 MHz(歐洲)
Zigbee主要應用在距離短、功耗低且傳輸速率不高的各種電子設備之間,典型的傳輸數據類型有周期性數據、間歇性數據和低反應時間數據。根據設想,他的應用目標主要是:工業控制(如自動控制設備、無線傳感器網絡),醫護(如監視和傳感),家庭智能控制(如照明、水電氣計量及報警),消費類電子設備的遙控裝置、PC外設的無線連接等領域。
2 硬件結構
2.1 Zigbee無線傳感器網絡原理
無線傳感器網絡由許多個小型的節點所構成。以這些工作節點為依托,通過無線通信組成各種網絡托普結構。為降低成本,系統中大部分的節點為子節點,從組網通信上看,他們只是其功能的一個子集,稱為RFD(精簡功能設備),這種設備不具有路由的功能;另外還有一些節點負責與控制子節點通信、匯集數據和發布控制,或起到通信路由的作用,稱為FFD(全功能設備或協調器)。圖2所示為一個典型的遠程數據采集并返回到計算機終端的應用。
每個節點由一個MCU作為主控設備。每個信號采集節點通過ADC從模擬傳感器得到實時數據,按照Zigbee協議把數據打包并通過射頻芯片及前端天線發送給簇內的RFD,再由RFD路由轉發到遠端計算機,以做進一步處理。在每個節點的外部可外接相應的PIO芯片和其他外圍電路進行交互。
2.2 節點的硬件結構
此試驗所用硬件選用MoteWorkTM開發平臺來做開發。此平臺的硬件結構如圖3所示。
無線傳感器節點由傳感器模塊、處理器模塊、無線電通信模塊和能量供應模塊4部分組成。此節點的節點采用了一款Atmel公司的AVR系列8位單片機ATmega128作為處理器芯片。ATmega128 具有如下特點:128 kB的系統內可編程FLASH(具有在寫過程中還可以讀的能力,即RWW)、4 kB的E2PROM、4 kB的SRAM、53 個通用I/O 口線、32個通用工作寄存器、實時時鐘RTC、4 個靈活的具有比較模式和PWM 功能的定時器/ 計數器(T/C)、2個USART、面向字節的兩線接口TWI、8 通道10 位ADC( 具有可選的可編程增益)、具有片內振蕩器的可編程看門狗定時器、SPI 串行端口、與IEEE 1149.1 規范兼容的JTAG 測試接口,以及6種可以通過軟件選擇的省電模式。無線收發模塊則采用TI公司的CC1000通用無線通信模塊。此開發板可外接多種傳感器設備,此次實驗選用了一款高精度溫度傳感器。
3軟件設計
加州大學伯克利分校的研發人員走在無線傳感器領域的前沿,并專門為此設計一種新型的嵌入式系統——TinyOS。
3.1 TinyOS體系
TinyOS操作系統為用戶提供一個良好的用戶接口,具有更強的網絡處理和資源收集能力,滿足無線傳感器網絡的要求。為滿足無線傳感器網絡的要求,在TinyOS中引入4種技術:輕線程、主動消息、事件驅動和組件化編程。整個系統由組件構成,通過組件對硬件進行抽象,提高了軟件重用度和兼容性。
TinyOS操作系統及其應用程序使用產生代碼相對較小的necC來開發。
3.2 部分程序代碼
…
Includes sensorboardApp ;
Configuration MyApp_Sensor {}
Implementation {
Components Main,MyApp_SensorM,TimerC,Leds,PhotoTemp,GennericComm as Comm ;
Main.StdControl -> TimerC.StdControl ;
Main.StdControl -> MyApp_SensorM.StdControl ;
Main.StdControl -> Comm.Control ;
MyApp_SensorM.Timer -> TimerC.Timer[unique(\"Timer\")] ;
MyApp_SensorM.Leds -> LedsC.Leds ;
MyApp_SensorM.TempControl -> PhotoTemp.TempStdControl ;
MyApp_SensorM.Temperature -> PhotoTemp.ExternalTempADC ;
MyApp_SensorM.SendMsg -> Comm.SendMsg[AM_XSXMSG] ;}
…
implementation{
bool sending_packet = 1 ;
TOS_Msg msg_buffer ;
XDataMsg *pack ;
Command result_t StdControl.int() {
callLeds.init() ;
callTempControl.init() ;
atomic{
pack = (XDataMsg *)(msg_buffer.data) ;
pack -> xSensorHeader.board_id = SENSOR_BOARD_ID ;
pack -> xSensorHeader.node_id = TOS_LOCAL_ADDRESS ;
pack -> xSensorHeader.rsvd = 0 ;
}}…}…
4 測 試
4.1 測試環境
硬件平臺:PC機一臺,Zigbee節點5個。
軟件平臺:PC機操作系統Windows Professional XP SP2。
開發環境:PN2、MoteConfig 2.0,MoteView 1.4B。
4.2 數據結果
數據結果如表1所示。
5 結 語
由于條件限制的測試僅使用了5個節點,但在測試中可以看到,這5個節點仍然可以很好地完成節點慢速相對移動下的200 m距離內的數據平穩傳輸。由于Zigbee路由協議建立在AODV之上,組成AD Hoc網絡。可以預測,隨著節點的增多,網絡傳輸的穩定性和所覆蓋的范圍可以大大提高。通過對射頻前端的發射功率進行調整也會對單個節點的覆蓋范圍和功耗產生較大的影響。通過增加節點數量,縮短節點間的距離,可以在較小的發射功率下同樣覆蓋較大的范圍。在實際使用中,應該根據現場的需求在節點數量和功耗間進行合理地選擇。對構建無線傳感器的設計人員在選擇實現技術上具有一定的參考價值。
參 考 文 獻
[1]Akyildiz I F,Weilian Su,Sankarasubramaniam Y,et al.A Survey on Sensor Networks Communications Magazine[J].IEEE,2002,40(8):102-114.
[2]孫利民.無線傳感器網絡[M].北京:清華大學出版社,2005.
[3]David Gay,Philip Levis,David Culler.Eric Brewer nesC 1.1 Language Reference Manual.
[4]Alan Mainwaring,David Culler,Joseph Polastre,et al.Wireless Sensor Networks for Habitat Monitoring.Proceedings of the 1st ACM International Workshop on Wireless Sensor Networks and Applications,2002.
[5] Korhonen,Parkka J,Van M GILS.Health Monitoring in the Home of The Future[J].IEEE Engineering in Medicine and Biology Magazine,2003:66-73.
[JP3][6]Knaian N.A Wireless Sensor Network for Smart Roadbeds and Intelligent Transportation Systems.MSc Thesis,MIT 2000.
[7]Jacob Munk Stander,Martin Skovgaard,Toke Nielsen.Implementing a ZigBee Protocol Stack and Light Sensor in TinyOS.Department of Computer Science University of Copenhagen,2005.
[8]IEEE.802.15.4,Part 15.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specications for Low-Rate Wireless Personal Area Networks (LR-WPANs),2003.
[9]ZigBee Alliance.ZigBee Device Description,Switching Load Controller,Version 1.00 _ ZigBee Document 03394r7,December 14th,2004.
[10]Atmega 128技術手冊.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。