?

基于ZigBee無線傳感的空氣溫濕度監測系統設計

2015-09-16 23:14何蘊良耿淑琴汪金輝
現代電子技術 2015年18期
關鍵詞:監測系統

何蘊良 耿淑琴 汪金輝

摘 要: 設計了一種基于ZigBee無線傳感的空氣溫濕度監測系統。其由一個協調器和多個路由器、終端設備形成ZigBee無線網絡,把傳感器采集數據處理后發送到協調器節點,協調器節點通過串口發送到PC進行顯示。利用IAR集成開發環境和TI公司Zstack協議棧進行軟件系統的設計,TI公司的CC2530芯片作為硬件系統的處理器,實現了對于空氣溫濕度的隨時觀測。設計從系統架構、硬件、軟件3個方面進行思考和設計,成功建立了ZigBee無線傳感網絡。系統移植能力強,可擴展連接其他傳感器,應用到其他領域。

關鍵詞: ZigBee; 無線傳感; 空氣溫濕度監測; 監測系統

中圖分類號: TN92?34; TP277 文獻標識碼: A 文章編號: 1004?373X(2015)18?0133?04

Abstract: The air temperature and humidity monitoring system based on ZigBee wireless sensing was designed. The ZigBee wireless network is formed by a coordinator, multi routers and terminal device. The data acquired by the sensor are transmitted to coordinators nodes after processing, and then transmitted from the coordinators nodes to PC through the serial port for display. The software system is designed by means of IAR integrated development environment and Zstack protocol stack of TI. The observation of air temperature and humidity was realized by taking TI CC2530 chip as the processor of the hardware system. Three aspects of system architecture, hardware and software were considered in the process of the system design, and ZigBee wireless sensing network was built successfully. This system has better transplantation ability, can be extended and connected with else sensors, and be applied to other fields.

Keywords: ZigBee; wireless sensing; air temperature and humidity mornitoring; monitoring system

隨著空氣溫度和濕度對生產生活的影響日益顯著,人們對空氣溫度和濕度的關注程度也越來越高。與傳統的空氣溫濕度監測系統相比,無線傳感網絡是當前國際上備受關注的、涉及多學科高度交叉、知識高度集成的前沿熱點研究領域。他綜合了傳感器、嵌入式計算、現代網絡及無線通信和分布式信息處理等技術,能夠通過各類集成化的微型傳感器協同完成對各種環境或檢測對象的信息實時監測、感知和采集,這些信息通過無線方式被發送,并且以自組多跳的網絡方式傳送到用戶終端,從而實現物理世界、計算機世界以及人類社會這三元世界的連通[1]。近年來,無線網絡得到了快速的發展,出現了各種無線網絡數據傳輸標準,如Wi?Fi、藍牙、Wireless USB、ZigBee等。

傳感器和自組織網絡為代表的無線應用不需要較高的傳輸帶寬,但卻需要較低的傳輸延時和極低的功率消耗。因此,迫切需要一種符合傳感器特點,低端的、面向控制和應用簡單的專用標準,ZigBee 協議的特點滿足了上述需求,它可與無線傳感器網絡完美地結合在一起[2]。因此,本文設計了一種基于ZigBee無線傳感網絡的空氣溫濕度監測系統。

1 ZigBee無線傳感網絡

1.1 ZigBee技術

ZigBee是一種近距離、低復雜度、低功耗、低成本的雙向無線通信技術,主要用于距離短、功耗低、且傳輸速率不高的各種電子設備之間的數據傳輸(包括典型的周期性數據、間歇性數據和低反應時間數據)[3]。ZigBee作為一種被廣泛應用的通信技術,有完善的協議架構,ZigBee協議架構建立在IEEE 802.15.4標準的基礎之上[4],協議架構如圖1所示。協議采用分層實現的思想,主要分為物理層、介質訪問控制層、網絡層和應用層。其中物理層和介質訪問控制層有IEEE 802.15.4標準定義,其他層有ZigBee聯盟定義。不同的層負責實現不同的功能,數據只能在相鄰的層之間流動。

ZigBee協議可支持自組網技術。自組網相對常規通信網絡而言,最大的區別就是可以在任何時刻、任何地點不需要現有信息基礎網絡設施的支持,快速構建起一個移動通信網絡[5]。在無線傳感器網絡應用時,節點通常被放置在沒有基礎設施的地方,節點位置不能預先知道,節點之間鄰居關系也不知道,一般通過隨機布散的方式放置終端設備。這就要求無線傳感系統具有自組織能力,能夠自動進行配置和管理,自動形成網絡系統。

1.2 ZigBee網絡組成

構成網絡的基本成員稱為設備。根據設備所具有的通信能力,可以分為全功能設備(Full?Function Device,FFD)和精簡功能設備(Reduced?Function Device,RFD)[6]。按照設備在網絡中功能的不同可以分為協調器,路由器和終端設備,如圖2所示。協調器和路由器是FFD,而終端設備是RFD。全功能設備具備完整的協議棧,可以在網絡中作為協調器建立網絡或者路由器實現路由組織功能。簡化功能的設備只能用作終端設備加入已有的網絡,并且只能與而網絡中的全功能設備通信。協調器是整個網絡的中心,它的功能包括建立、維持和管理網絡,分配網絡地址等,在整個網絡啟動完成以后,它的功能就相當于路由器的功能。路由器主要負責路由發現、消息傳輸、允許其他節點加入所在網絡。在距離遠的時候,路由器也可以作為數據的“跳板”或者是“接力棒”,使得傳輸距離可以大大加長。終端設備主要負責數據的采集和控制功能,然后將獲得的信息發送給路由器或者協調器節點。

2 系統硬件設計

2.1 系統核心芯片

硬件設計主要包括終端設備設計、路由器設計和協調器設計。設計均采用TI公司的CC2530F256芯片,它結合了TI業界領先的ZigBee協議棧Zstack,提供了一個強大的解決方案。CC2530芯片上系統(SoC)是高度集成的解決方案,可支持快速、廉價的ZigBee節點的構建[7]。這比以往所用的CC2430芯片有了性能上的提高。它的內部模塊大致分為3種類型CPU與內存相關模塊、射頻相關模塊、外設、時鐘和電源管理模塊。CC2530芯片集成了2.4 GHz的射頻收發器、增強型工業標準的8051 MCU、最大256 KB可編程FLASH、8 KB的RAM,并提供有一套廣泛的外設(包括2個USART、12位ADC和21個通用GPIO)[8]。

2.2 終端設備設計

協調器主要是建立和啟動整個網絡,路由器主要是傳輸數據,而系統連接的各類傳感器和整個系統的數據的來源,都取決于終端設備的設計。因此終端設備的設計幾乎代表了整個系統的主要作用與功能,在此著重說明終端設備的設計。

圖3為終端設備的電路原理圖,由于CC2530內部集成功能強大的外設資源,所以它在片外所需的電路設計大大精簡。電源VDD采用3.3 V直流供電,復位電路為低電平復位。溫濕度傳感器DHT11采集溫濕度的信息,然后通過芯片I/O口P0_6傳送給CC2530芯片。DHT11的輸出是數字信號,因此可以配置端口為普通I/O口,方向為輸入。值得提出的是,這個芯片內部集成了ADC轉換電路模塊,使得一些模擬傳感器的信號端也可以直接連接到芯片的I/O引腳上,配置AD對應的端口即可完成模/數轉換,因而省去了外接ADC的電路復雜度。晶振有32 MHz和32.765 kHz兩種,可支持系統有不同的工作模式。終端設備電路可以處于工作或休眠狀態,當終端設備不需要實時采集數據時,系統可以休眠。休眠時候的功耗很低,因此終端設備可以通過電池供電,方便了它的可移動性。協調器和路由器的電路結構和大部分終端設備相同,增加了UART傳輸部分構成,而沒有傳感器部分。因為協調器和路由器的工作量和工作時間要比終端設備要大得多,要具有實時性,所以不宜采用電池供電。

3 系統軟件設計

3.1 軟件開發概述

軟件設計包括終端設備軟件設計、路由器節點軟件設計和協調器節點軟件設計。系統軟件設計所用的工具包括瑞典公司的IAR System集成開發環境和TI公司開發的Zstack協議棧。TI在推出其CC2530芯片的同時,也向用戶推出了自己的ZigBee協議棧軟件Zstack,Zstack功能強大,它為用戶提供了許多必要的應用函數接口,用戶可以直接調用這些函數來實現特定功能。本文在Zstack的基礎之上,利用其已有的軟件架構,開發出了空氣溫濕度監測軟件系統。

3.2 OSAL運行機制

從ZigBee 2006協議棧開始,ZigBee協議棧內加入了實時操作系統,稱為OSAL(Operating System Abstraction Layer)。OSAL作為一種資源管理機制,可以為多個任務分配資源,實現了類似操作系統的某些功能但其實質與真正意義上的操作系統還是有一定區別[9]。OSAL作為一種支持多任務運行的系統資源分配機制,是整個Zstack協議棧的核心,在開發過程中需要創建OSAL任務來開發應用程序,每一個任務只有一個任務ID號。OSAL中有3個重要的變量tasksCnt,taskEvents和taskArr。其中tasksCnt是無符號整形變量,保存了任務的總個數;taskEvents是一個指針變量,指向了事件表首地址;taskArr 是一個數組,該數組的每一項都一個函數指針,指向對應任務處理函數地址,如圖4所示。

OSAL的工作原理如下:通過taskEvents指針訪問事件表的每一項,如果有事件發生,則查找函數表找到事件處理函數進行處理,處理完后,繼續訪問事件表,查看是否有事件發生,無限循環[10]。協議棧中的每一層都設計了一個事件處理函數,用來處理這一層操作相關的各種事件。利用Zstack中已被定義好的層,重新定義和編寫用戶自定義層,加入了實現設計中特定功能的代碼。

3.3 數據流與代碼實現

終端設備上的傳感器采集數據信息,傳遞給其CPU,CPU負責對接收到的數據進行讀取并經過處理后保存。然后通過終端設備的射頻發送模塊無線發送這些數據到該節點的父節點。一般父節點是路由器,經過轉發,數據最終匯聚到協調器。協調器處理和保存數據,并通過UART端口輸到PC顯示。由于終端設備連接有傳感器,在終端設備的程序代碼中包括了傳感器的編程。編寫溫濕度傳感器DHT11的數值讀取函數為DHT11_Read(),定義一個數組str[8]。編寫溫濕度讀取函數readRH(),把DHT11_Read()的返回值保存到str[8]中。

編寫函數MyApp_SendTheMessage(),先調用readRH()讀取數據,之后配置地址、方式等信息,再調用AF_DataRequest()就可以實現數據發送,AF_DataRequest()的具體實現過程在協議棧已經定義,只需要在調用時傳遞所需的實參。傳感器數據會被封裝成消息,然后被發送到了協調器路由器。同理,可在該函數中調用采集其他傳感器數據的函數,得到其他傳感器采集的數據,一起發往協調器或者路由器,實現多種數據的采集和發送。路由器在數據流中實現的是數據的轉發功能,統一轉發給協調器節點,由協調器再進行串口傳輸。編寫協調器接收數據的函數,根據任務ID號識別含有待接收數據的消息,調用協議棧函數osal_memcpy()從消息包中讀取出終端設備傳遞來的數據之后,再調用HalUARTWrite()函數發給串口,即可在串口調試工具中實現觀測數據。

4 測試結果

通過串口調試工具AccessPort,可以協調器傳輸過來的數據顯示出來?,F在需要配置串口調試工具選項。設置串口為COM5,由于軟件UART配置的時候設置的波特率為115 200 b/s,所以在此處必須和配置的波特率一致,同為115 200 b/s,無校驗位,數據為8,停止位為1。配置好之后點擊確定打開串口。

開打串口,硬件初始化完成后,由終端設備發送到協調器的實驗數據可以顯示出來,如圖5所示。當前溫度為28 ℃,濕度為33%,經過多種環境和實地驗證,實驗結果正確。由此證明整個硬件系統和軟件系統運轉正常。

5 結 語

設計實現了利用ZigBee無線傳感技術對空氣溫濕度的實時監測,成功地把ZigBee無線通信技術與傳感器相結合,實現了傳感器數據的無線傳輸。整個ZigBee無線傳感器網絡成功建立起來,可在終端設備連接若干個不同類型的傳感器,實現多種傳感器數據的同時測量。與傳統的傳感器數據采集和傳輸相比,利用ZigBee進行無線數據傳輸,大大減少了布線的復雜度和成本,監測范圍和可移動性更廣,使得數據采集和傳輸變得更加靈活與便捷。作為一種新型的網絡,ZigBee無線傳感網在軍事、工業、農業、交通、醫療和家庭辦公自動化等領域有著廣泛的用途,其在國家安全和經濟發展等方面發揮了巨大作用。隨著無線傳感器網絡不斷的快速發展,它還將被擴展到越來越多新的應用領域。

參考文獻

[1] 姜仲,劉丹.ZigBee技術與實訓教程[M].北京:清華大學出版社,2014.

[2] 彭燕.基于ZigBee的無線傳感器網絡研究[J].現代電子技術,2011,34(5):49?51.

[3] 青島東合信息技術有限公司.ZigBee開發技術及實踐[M].西安:西安電子科技大學出版社,2014.

[4] LANMAN Standards Committee. IEEE Std 802.15.4?2003. Wireless medium access control (MAC) and physical layer (PHY)specifications for low?rate wireless personal area networks (LR?WPANs) [S]. New Jersey: IEEE Computer Society, 2003.

[5] SCHILLER J H. Mobile communications [M]. 2nd ed. New York: Addison?Wesley, 2000.

[6] 孫彩云.基于ZigBee的無線組網技術研究[D].太原:中北大學,2011.

[7] 樊娜.基于ZigBee的智能糧倉溫度監測系統研究與設[J].微型機與應用,2015,34(5):70?72.

[8] 徐健,楊珊珊.基于CC2530的ZigBee協調器節點設計[J].物聯網技術,2012(5):55?57.

[9] 廖小琴.基于CC2430的ZigBee協議棧的研究與應用[D].南昌:南昌大學,2013.

[10] 王小強,歐陽俊,黃寧淋.ZigBee無線傳感器網絡設計與實現[M].北京:化學工業出版社,2012.

猜你喜歡
監測系統
室內有害氣體監測系統設計研究
基于數據融合的掘進機截齒磨損狀態監測
基于廣播模式的數據實時采集與處理系統
GIS設備局部放電監測系統的研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合