丁唯君


摘 要: 針對無線傳感器網絡技術在網絡監測中的特點,在分析ZigBee協議棧體系結構的基礎上,研究了對網絡協調器、路由器及終端節點的程序設計。針對節點計算能力、通信帶寬、存儲容量有限等特點,本文運用了無阻塞設計等方法,實現了傳感數據的采集和傳輸。
關鍵詞: ZigBee; 無線傳感器; 節點
中圖分類號: TN 92 文獻標志碼: A 文章編號: 1671-2153(2015)06-0083-04
0 引 言
無線傳感器網絡是一門獲取和處理信息的新興技術,它綜合了微電子技術、無線通信技術、嵌入式計算技術、分布式處理技術等先進技術,其主體是低成本、低功耗、多功能的集成化微型傳感器;它能夠實時感知、監測、采集、處理和傳輸各類監測對象或周圍環境的信息,具有動態性、自組織等優點,目前正廣泛應用于各行各業。
典型的無線傳感器網絡是由匯聚節點,傳感器節點和管理節點組成。本文主要針對環保數據監測,因此在分析ZigBee協議體系結構的基礎上,在選好網絡監測的硬件后,主要針對協調器節點和終端設備節點進行程序設計。
1 ZigBee協議簡介[1]
ZigBee協議主要用于消耗低、距離短、成本低和傳輸速率不高的雙向無線通信。在IEEE802.15.4標準基礎之上建立了ZigBee協議架構,它包括MAC層、PHY層、NWK層。
Jennic公司在ZigBee協議棧的基礎上提供了Basic Operating System(BOS)。BOS調用用戶程序的接口由若干個接口函數組成。
2 無線傳感網絡監測的硬件選擇
無線傳感器網絡的重要組成部分就是無線傳感器節點,設計時需要考慮:微型化,擴展性和靈活性,穩定性和安全性,低成本,低功耗,高強壯性和容錯性等特點。為了減少外圍器件的數量, ZigBee無線處理器集處理器和射頻收發器于一體,大大降低硬件開發難度與成本。綜合考慮處理器價格、CPU處理能力、高集成度、低功耗、等因素,本文選用Jennic公司的JN5139-Z01-M00通信模塊。
3 無線傳感網絡節點設計
3.1 軟件開發平臺
節點設計中,軟件設計起著舉足輕重的作用。為了本著易用方便的原則, 用戶可以方便地從Jennic公司處拿到IEEE802.15.4MAC和ZigBee協議包,按照說明進行安裝,就可開發基于ZigBee協議的程序,調試和編譯也只需在CodeBlocks集成開發環境中進行。用戶程序被編譯成二進制文件后,通過Programmer軟件下載到JN5139的Flash中,就可以在JN5139模塊上運行。
3.2 協調器節點程序設計
ZigBee協調器節點的主要任務是建立網絡,包括以下幾步[2]:創建PAN coordinator、選擇PAN ID和coordinator的短地址、選擇射頻頻率、啟動網絡。當節點上電時,首先對設備進行初始化,以及BOS的啟動。其次將協調器作為注冊節點,并設置短地址和網絡ID,協調器選擇射頻通道后啟動網絡,同時相應終端設備或路由器申請加入網絡的要求。BOS是Jennic ZigBee協議中一個基本操作系統。同時,BOS控制ZigBee協議棧任務和用戶任務的執行。協調器接收并向串口發送數據部分程序代碼如下:
3.3 傳感器節點程序設計
傳感器節點的主要功能是采集數據并發送至協調器。節點接電、初始化后進行信道查詢,選擇合適的網絡申請加入。成功加入網絡后,讀取傳感器數據并發送至協調器。
以光強數據采集為例,介紹傳感器節點的數據采集功能。TSL2561是一個光-數字傳感器,它以I2C總線標準為依據,將光強轉換成數字信號輸出。
I2C[3-4]總線不在進行任何操作控制時,時鐘線SCL與數據線SDA總是處于高電平輸出狀態。當控制系統被操作時,I2C總線的主機將發出啟動信號,使數據線SDA由高電平變為低電平,同時時鐘線SCL也發出時鐘信號。JN5139向TSL2561發送命令的時序如圖1所示。
部分代碼程序如下:
字符數據傳送函數send_byte(),將地址或數據發送出去,等待回應,此時對狀態位進行操作(被控器無應答或損壞時,狀態變為不應答或非應答,ack=0);發送數據正常則ack=1。
重點在于無阻塞節點的設計:
(1) AD轉換
由于從傳感器傳送到JN5139的信號都是0~2.4V標準電壓,它通過ReadADC()函數來完成模數轉換常見的數據量。AD轉換會消耗一些時間,在轉換過程中,BOS不能執行其他任何任務,它一直在等待,因此會出現阻塞,降低了CPU的利用率。針對這種情況,本文采用無阻塞方法來執行AD轉換,即:在每一次讀取指令到來時,如果CPU處于忙碌狀態,那么自動跳到中斷,防止ADC通道阻塞,節省了時間。無阻塞流程圖如圖2所示。
(2)數據發送
傳感器節點程序的重要組成就是數據發送。它將傳感器節點的環境參數、網絡地址等重要信息以多跳方式發送給協調器節點。本設計中,采用格式更為靈活的MSG幀格式,其定義如圖3所示。
MSG服務促使一個應用剖面用自由形式的幀格式工作,它由自己的應用剖面定義,對數據格式不作要求,適合任何格式的數據傳輸。因此可以用于傳送數據量大的信息。
4 結束語
本文主要介紹了監測系統的節點設計,包括利用JN5139開發ZigBee網絡流程,協調器、傳感器、路由器等部分主要程序的設計。隨著無線傳感技術的不斷發展、不同領域的傳感器網絡的設計與實現,無線傳感器網絡技術一定有著廣闊的發展空間,促進信息技術應用更加普及。同時,隨著人們生活水平的不斷提高,對生活舒適度的不斷追求,相信在不久的將來,無線傳感器網絡將完全融入到人們的日常生活當中,為人們的日常工作服務。
參考文獻:
[1] 翟雷,劉盛德,胡咸斌. ZigBee技術及應用[M]. 北京:北京航空航天大學出版社,2007.
[2] 徐志遠,許賀楠,凌志浩. JN5121無線控制器的功能剖析及應用探討[M]. 自動化儀表,2008,5(29):61-63.
[3] 李國平,武海艷. C51實現I2C總線的應用研究[J]. 福建電腦,2006(9):168-168,182.
[4] DENG J, HAN Y S,HEINZELMAN W B,et al.Seheduling sleeping nodes in high density cluster-based sensor networks,ACM/Kluwer Mobile Networks and Applieations(MONET)speeial issu on[J]. Energy Constraints and Lifetime Performance in Wireless Sensor Networks,2004(9):18-19.
[5] 袁道敏,萬健,何必仕. 一種使用的ZigBee網絡路由算法[M]. 杭州電子科技大學學報,2009,2(29):44-47.