余貴水 趙 奎 朱倪瑤 左 雷
(海軍工程大學電子工程學院 武漢 430033)
?
基于Zigbee技術的大氣溫濕數據采集系統設計與實現*
余貴水 趙 奎 朱倪瑤 左 雷
(海軍工程大學電子工程學院 武漢 430033)
論文設計實現了基于ZigBee技術的大氣溫度、濕度參數采集系統,ZigBee無線傳感網絡在家居、工業、醫療等領域應用的發展暗示著它已經成為一種新的技術趨勢。為了快速構建大氣溫濕參數采集無線通信網絡,從應用方面著手對ZigBee技術的網絡拓撲結構進行研究和介紹。在IAR開發環境下,采用TI公司的Z-STACK協議棧,以CC2530芯片為核心構建了一個由若干節點組成的星型無線傳感網絡。各終端器利用溫濕度傳感器DHT11采集溫度、濕度數據,并通過網絡匯聚到協調器。實現了基于ZigBee網絡的溫度、濕度參數采集及通信。
CC2530; ZigBee; IAR; 無線傳感網絡
Class Number TP212
隨著現代技術的發展,無線通信技術在許多領域的優勢使之得到了越來越多的應用。使用無線傳感器網絡系統能彌補有線網絡系統需要進行大量布線,成本較高,且在惡劣的環境中無法進行布線的缺點。近年來成為國內外的研究熱點。自Zigbee聯盟推出規范以來,Zigbee技術一直得到國內外無線傳感領域的重視,目前已經廣泛應用在工業、農業、家庭、醫院等各個領域。
世界上各大廠商紛紛推出實現ZigBee物理層功能的芯片,代表性的有Jennic的JN5139,Freescal的MC13192和Ember的EM250等。德州儀器也推出了一系列系統級芯片。其中CC2530是一款兼容IEEE 802.15.4的片上系統,集成了增強型8051內核,結合TI Z-STACK協議棧可方便的組建自己的無線通信網絡[1]。
本系統通過構建ZigBee網絡測量同一時刻,同一地點,不同高度條件下的大氣溫度、濕度參數,其系統總結構圖如圖1所示。

圖1 系統總結構圖
ZigBee的協議結構是建立在IEEE 802.15.4標準基礎之上的。IEEE 802.15.4標準定義了ZigBee的物理層(PHY)和媒體訪問控制層(MAC);ZigBee聯盟則定義了ZigBee協議的網絡層(NWK)、應用層(APL)和安全服務規范。如圖2是ZigBee協議棧的結構圖。ZigBee協議以OSI七層參考模型為基礎,只定義了其中與LR-WPAN應用相關的協議層。

圖2 ZigBee協議棧模型
ZigBee協議棧的每層為其上層提供一套服務功能:數據實體提供數據傳輸服務,管理實體提供其它的服務。所有的服務實體通過服務接入點(SAP)為上層提供一個接口,每個SAP都支持一定數量的服務原語(即請求、指示、響應和證實)來實現所需要的服務功能[2]。
IEEE 802.15.4的物理層提供兩類服務:物理層數據服務和物理層管理服務。PHY層功能包括無線收發信機的開啟和關閉、能量檢測(ED)、鏈路質量指示(LQI)、信道評估(CCA)和通過物理媒體收發數據包。MAC層提供MAC層數據服務和MAC層管理服務,其主要功能包括采用CSMA/CA進行信道訪問控制、信標幀發送、同步服務和提供MAC層可靠傳輸機制。
ZigBee網絡層提供設備加入/退出網絡的機制、幀安全機制、路由發現以及維護機制。ZigBee協調器的網絡層還負責新網絡并為新關聯的設備分配地址。ZigBee應用層包括應用支持子層(APS)、ZigBee設備對象(ZDO)和制造商定義的應用對象。APS子層負責維護綁定列表,根據設備的服務和需求對設備進行匹配,并在綁定的設備之間傳送信息。ZDO負責發現網絡中的設備并明確其提供的應用服務。
ZigBee網絡由一系列網絡節點組成,一個網絡節點可以包含多個設備,每個設備可支持240個端點。端點作為網絡通信中的數據通道,編號為1~240的端點對應可以定義240個應用對象。此外端點0作為ZigBee設備對象(ZDO)的數據接口。每個端點可定義多個群集(Cluster)。
在ZigBee網絡中進行數據收發都是建立在應用規范(Profile)基礎上的,設定Profile是一種規定不同設備對消息幀的處理行為,使不同的設備之間可以通過發送命令、數據請求來實現互操作。它由ZigBee聯盟提供或用戶自行建立,在從ZigBee聯盟得到分配的ProfID后,就可以定義設備描述符和群集(Clusters)。其中描述符用來描述設備類型和應用方式,包括節點、電源、簡單、復雜和用戶描述符。簡單描述符需要在節點的各個終端(endpoint)中定義,而其他描述符則適用于整個節點。
在ZibBee網絡中,設備可以分為兩類,即完整功能設備(FFD)和簡化功能設備(RFD)。完整功能設備(FFD)可以作為協調器或路由器在任何拓撲結構中工作,能同其他FFD或RFD通信。而RFD只能作為終端網絡節點,并且只能同網絡中的FFD通信。FFD和RFD在硬件結構上相同,但在網絡層結構中有差異。

圖3 ZigBee網絡拓撲
ZigBee網絡支持三種網絡拓撲結構,為星型網絡拓撲、網狀網絡拓撲和樹狀網絡拓撲[2]。三種拓撲結構見圖3。星型網絡中,PAN協調器提供組織網絡和路由功能,終端網絡節點通過協調器進行通信。這種拓撲結構主要用在智能家居、PC外設等領域。網狀網絡中每個節點都具智能化,網絡中任意節點故障時,附近的無線節點會自動代替該故障的節點,繼續進行信息的傳輸和轉發,從而大大提高系統可靠性[3]。
Z-Stack是德州儀器推出的ZigBee協議棧軟件,其為應用開發者提供了一個模板,在其基礎上進行開發可以大大加快應用開發周期[4]。
Z-Stack采用操作系統的思想來構建,采用事件輪詢機制,系統按照任務優先級依次來處理事件,而在事件處理完后,進入低功耗模式,降低了系統的功耗。操作系統抽象層(OSAL)的工作就是對多個任務進行系統資源分配,核心是通過參數傳遞的事件類型來判斷對應處理相應任務的事件。在系統中,通過tasksEvents指針輪詢訪問事件表的每一項,如果有事件發生,則查找函數表找到事件處理函數進行處理,處理完成后,繼續訪問事件表,查看是否有事件發生,進而執行事件處理函數,完成各個任務事件處理。其中任務事件的觸發有兩種方式,一種是通過設置一個軟件定時器osal_start_timeEx()函數等待溢出來觸發,一種是調用系統消息傳遞機制來觸發。
在進行應用開發時,需要定義添加相應的任務。其中主要包括任務初始化函數和事件處理函數。任務初始化函數定義一個TasksArr數組,存放所有任務事件處理函數的地址,給每個任務分配唯一的任務標識號,最后注冊系統服務。ZStack協議棧中按照由高到低的優先級已經定義好了MAC層、網絡層、硬件驅動抽象層、應用設備對象層的任務,只需按照自己的需求編寫應用層的任務及事件處理函數即可,一般情況下,用戶只需額外添加三個文件就可以完成一個項目,一個是主文件,存放具體的任務處理函數,一個是這個主文件的頭文件,另外一個是操作系統接口文件(以Osal開頭),如圖4所示。大大增加了項目的通用性和易移植性。

圖4 用戶開發程序所需要新增編寫文件
CC2530是一個片上系統解決方案。CC2530芯片的RF性能佳,閃存容量大,封裝尺寸小,協議支持也多樣。在該芯片基礎上設計的溫濕采集節點在室外的最高傳輸距離可達300m。本節主要講解溫濕采集器硬件設計及SHT11溫濕度傳感器工作原理。
終端節點是ZigBee網絡中負責數據采集的節點,傳感器選擇是其重要組成部分。系統選用瑞士Sensirion公司生產的SHT11型傳感器。該傳感器具有相對濕度和溫度一體測量、超快的響應時間等優良特性。
SHT11是新型智能溫濕度傳感器,它將溫濕度傳感器、信號放大調理、A/D轉換、二線串行接口全部集成于一個芯片內,融合了CMOS芯片技術與傳感器技術[5]。SHT11傳感器默認的測量溫度和相對濕度的分辨率一般分別為14位、12位,通過狀態寄存器可降至12位、8位。濕度測范圍是0~100RH,對于12位的測量精度為±3.0%RH;測溫范圍為-40℃~+123.8℃,對于14位的測量精度為±0.4℃。
溫濕度傳感器SHTl1送出的溫度、濕度數據必須經過數據轉換,才能表示實際的溫度和濕度,其公式如下:
Tc=d1+d2×SOT
(1)
(2)
RHTure=(Tc-25)×(t1+t2×SORH)+RHLinear
(3)
式中:Tc為攝氏溫度;RHTure為經過溫度補償的相對濕度;d1和d2為和溫度分辨率有關的校正系數c1、c2、c3、t1、t2為和濕度的分辨率有關的校正系數;SOT為從SHT11中讀出的溫度值;SORH為從SHT11中讀出的濕度值。其對應關系見表1和表2。

表1 溫度矯正系數

表2 濕度矯正系數
終端節點溫濕度采集流程為:終端節點接收到來自協調器節點的采集指令后,將SHT11傳感器定期采集的溫濕度數據進行預處理,然后通過無線網絡與協調器節點進行通訊。溫濕度采集流程圖如圖5所示,終端節點通常為節能考慮而間歇性工作,在傳輸數據之后會進入一定時間的休眠,等待下一個采集指令的到來。

圖5 溫濕度采集流程圖
本系統的硬件操作,需要軟件的設計來實現。利用美國德州儀器公司的Z-STACK協議棧。Z-STACK協議基于輪轉查詢式操作系統來實現。軟件設計主要分為終端節點軟件及協調器節點軟件兩部分。本節介紹終端節點、協調器節點的軟件設計部分。協調器節點上電后,會按照編譯時給定的參數,選擇合適的信道、合適的網絡號,建立ZigBee無線網絡。終端節點上電后,會進行硬件電路初始化,然后搜索是否有ZigBee無線網絡,如果有ZigBee無線網絡時,終端節點申請加入網絡,協調器節點準許加入并分配一個16位的網絡短地址,等待采集的溫濕數據命令,然后將接收的所有數據包通過串口通信發送到PC機上,以便更容易地進行溫濕數據分析和數據存儲。協調器節點、終端節點軟件流程圖如圖6、圖7所示。

圖6 協調器軟件流程圖

圖7 終端節點軟件流程圖
搭建好硬件環境后,在本系統中,終端節點每隔1min采集一次溫濕度數據并通過無線網絡發送給協調器節點,協調器節點再通過RS232串口總線將數據發送到PC機上,串口設置為COM1,波特率設置為19200bps。在實驗過程中本系統采集了五組數據,同時用江蘇無線電科學研究所有限公司的ZQZ-CY移動氣象站來對比本系統測得的溫濕度數據。通過表格的形式可以直觀地分析數據的準確性。通過表格可以發現,溫度傳感器測量值與移動氣象站測得的溫度誤差在-0.1℃~+0.4℃之間,濕度傳感器測量值與移動氣象站測得濕度誤差在-0.7RH~+1.1RH之間,均符合實驗測量誤差值范圍,分析結果見表3。通過Matlab軟件畫圖更加直觀看出實驗結果,如圖8所示。

表3 實驗數據與移動式氣象站對比表


圖8 實驗數據與移動式氣象站對比圖
本文主要介紹了基于ZigBee網絡的大氣溫度、濕度測量系統硬件結構和軟件流程,使用該系統進行實地測量,并與移動氣象站輸出數據進行比較。結果證明該方案構建合理,能夠同時測量多點溫濕度參數,具有測量精度較高且功耗較低的優點。可進一步完善系統設計并推廣。
[1] 李俊斌,胡永忠.基于CC2530的ZigBee通信網絡的應用設計[J].電子設計工程,2011(8):108-111.
[2] ZigBee Aliance. ZigBee Specification[EB/OL]. (2008). http://www.ZigBee.org./
[3] 李文仲,段朝玉.ZigBee無線網絡技術入門與實戰[M].北京:北京航空航天大學出版社,2007.
[4] 夏飛.基于Z-Stack協議的無線傳感器網絡節點研究[J].電子元器件應用,2009,11(12):74-76.
[5] 張艷麗,楊仁弟.數字溫濕度傳感器SHT11及其應用[J].工礦自動化,2007(3):113.
[6] 王小強,歐陽駿,黃寧淋.ZigBee無線傳感器網絡設計與實現[M].北京:化學工業出版社,2012.
[7] 高守瑋,吳燦陽.ZigBee技術實踐教程—基于CC2430/31的無線傳感器網絡解決方案[M].北京:北京航空航天大學出版社,2009.
[8] 呂治安.ZigBee網絡原理與應用開發[M].北京:北京航空航天大學出版社,2008.
[9] 樊建明,陳淵睿.基于SHT11的溫室多點測量系統設計[J].國外電子測量技術,2006(25):4-8.
[10] 沙國榮,趙不賄,景亮,等.基于ZigBee無線傳感器網絡的溫室大棚環境測控系統設計[J].電子技術應用,2012,32(1):60-65.
Design and Implementation of Atmospheric Temperature and Humidity Data Acquisition System Based on ZigBee Technology
YU Guishui ZHAO Kui ZHU Niyao ZUO Lei
(School of Electronic Engineering, Naval University of Engineering, Wuhan 430033)
The paper designed and implemented an acquisition system which was used to collect temperature and humidity parameters based on ZigBee technology. The application of ZigBee wireless sensor network in the fields of intelligent home, industry, medical health and others implies that Zigbee was becoming one trend of new technology. In order to rapid construct the acquisition wireless communication network, the paper introduced and researched the network topology of ZigBee technology from a perspective of application. A kind of a star wireless network including several nodes was built using the SOC chip CC2530 and TI’s Z-STACK protocol under the development environment IAR. Each terminal could acquisite temperature and humidity data using DHT11 sensor, then converged the data to the coordinator through network, finally implemented the data acquisition and communication base on ZigBee network.
CC2530, ZigBee, IAR, wireless sensor network
2014年11月13日,
2014年12月29日
余貴水,男,副教授,研究方向:雷達信號處理。趙奎,男,碩士研究生,研究方向:雷達信號處理。朱倪瑤,女,碩士研究生,研究方向:雷達信號處理。左雷,男,講師,研究方向:雷達超視距。
TP212
10.3969/j.issn1672-9730.2015.05.025