《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于CC2530的無線傳感器網(wǎng)絡監(jiān)控平臺
基于CC2530的無線傳感器網(wǎng)絡監(jiān)控平臺
來源:電子技術應用2012年第10期
任珍文, 黃玉清
西南科技大學 信息工程學院,四川 綿陽 621010
摘要: 設計了一種基于ZigBee的低復雜度、低功耗和低成本的無線傳感器網(wǎng)絡環(huán)境監(jiān)控平臺,該平臺可動態(tài)顯示網(wǎng)絡拓撲結構。主要由ZigBee無線傳感器網(wǎng)絡、通信網(wǎng)關和ARM控制臺三部分構成。以ARM9作為控制臺環(huán)境,ZigBee芯片CC2530為核心搭建無線網(wǎng)絡,掛載溫/濕度傳感器、振動傳感器及壓力傳感器等構成完整的環(huán)境監(jiān)測平臺。測試結果表明,設計的系統(tǒng)運行穩(wěn)定,數(shù)據(jù)采集準確,網(wǎng)絡健碩,具有可擴展性。
中圖分類號: TP315
文獻標識碼: B
文章編號: 0258-7998(2012)10-0122-04
Monitoring platform of WSN based on CC2530
Ren Zhenwen, Huang Yuqing
School of Information Engineering, Southwest University of Science and Technology, Mianyang, 621010, China
Abstract: This paper introduces a design of wireless sensor network environment monitoring platform, which is based on ZigBee low complexity, low power consumption and low cost. The platform can dynamically display the network topology structure,and the platform is composed of ZigBee wireless sensor network, communication gateway, and ARM console.In order to complete this system, this paper uses the ARM9 microprocessor as CPU, ZigBee chip CC2530 as the core of building wireless network, mounting temperature/humidity sensors, vibration sensors, and the pressure sensors. Test results proved that the system runs stably, the collected data is accurate and the network is reliable and extensible.
Key words : wireless sensor network; CC2530; ZigBee; gateway; remote control

    隨著計算機技術和無線通信技術的快速發(fā)展,各種智能化產(chǎn)品不斷涌現(xiàn),其中無線傳感器網(wǎng)絡WSN(Wireless Sensor Networks)[1]具有無線通信、感知、協(xié)作等特點,并很快融入到生活的方方面面。在大型超市、高檔小區(qū)、辦公樓里常常需要適時監(jiān)測區(qū)域環(huán)境內(nèi)的溫度、濕度及有毒氣體的濃度,以保障生命財產(chǎn)安全。傳統(tǒng)的環(huán)境監(jiān)測系統(tǒng)布線煩瑣,消耗人力。ZigBee技術作為一種新興的短距離無線傳感器網(wǎng)絡通信標準,具有低功耗、低延遲、自組織等優(yōu)點[2],因而廣泛應用到生產(chǎn)、生活領域,市場前景非常廣闊。

    ZigBee標準基于IEEE 802.15.4低速率無線個人局域網(wǎng),支持介質(zhì)訪問控制層和物理層標準,并在此之上包含網(wǎng)絡層、安全層和應用層,具備很強的設備聯(lián)網(wǎng)能力,它支持網(wǎng)狀結構、星狀結構及樹狀結構三種自組織無線網(wǎng)絡拓撲類型結構[3]。本文基于ARM9控制平臺實現(xiàn)了傳感器網(wǎng)絡信息的實時顯示和ZigBee節(jié)點設備的控制。該無線傳感器網(wǎng)絡室內(nèi)環(huán)境遠程監(jiān)控平臺,以ZigBee芯片CC2530作為傳感器節(jié)點控制和無線通信芯片,實現(xiàn)溫度、濕度和氣壓等環(huán)境信息的感知。
1 系統(tǒng)方案設計
    控制平臺基于WSN技術和嵌入式技術,借鑒了國內(nèi)外優(yōu)秀環(huán)境監(jiān)測研究經(jīng)驗,設計了基于CC2530芯片采集傳感器數(shù)據(jù)的ZigBee無線網(wǎng)絡和基于ARM9的網(wǎng)絡控制臺。
1.1 系統(tǒng)總體功能介紹
    本系統(tǒng)實現(xiàn)圖形化網(wǎng)絡拓撲結構的動態(tài)構建和管理,以及圖形化控制ZigBee節(jié)點設備;支持多跳網(wǎng)絡;支持外界環(huán)境狀態(tài)信息感知,傳感器數(shù)據(jù)精確采集、無線傳輸和顯示,當環(huán)境信息超過臨界值時報警等功能。
1.2 系統(tǒng)框架設計
    系統(tǒng)由ARM控制臺模塊、基于ZigBee的無線傳感器網(wǎng)絡通信模塊及網(wǎng)關模塊三個主體部分構成,系統(tǒng)框架結構如圖1所示。

    控制臺模塊采用ARM9芯片作為處理器,基于Linux操作系統(tǒng),搭配自制底板作為控制臺軟件運行環(huán)境,采用QT-4.5.3作為應用程序開發(fā)框架進行控制臺軟件開發(fā)。
    無線傳感器網(wǎng)絡通信模塊采用基于IEEE 802.15.4標準的ZStack-CC2530協(xié)議棧開發(fā),完成ZigBee網(wǎng)絡建立、維護以及傳感器數(shù)據(jù)采集、節(jié)點控制等功能。傳感器節(jié)點由ZigBee節(jié)點融合傳感器構成。
    (1) ZigBee節(jié)點。包括協(xié)調(diào)器節(jié)點,路由器節(jié)點和終端節(jié)點,采用ZigBee芯片CC2530自主設計和繪制電路圖以及外圍硬件電路。CC2530是一款SoC芯片,集成了處理器、無線電和串口等外設。
    (2) 傳感器。包括溫濕度傳感器,振動傳感器及壓力傳感器等,用于對環(huán)境狀態(tài)信息的動態(tài)感知。
    網(wǎng)關模塊采用集成于ARM平臺的串行口,通過UART方式連接ZigBee協(xié)調(diào)器與控制臺,根據(jù)預定的幀進行通信。上行和下行的數(shù)據(jù)都通過網(wǎng)關在網(wǎng)絡上傳輸,由其負責數(shù)據(jù)包的解析和轉(zhuǎn)發(fā)。
1.3 系統(tǒng)通信協(xié)議及數(shù)據(jù)格式設計
    本系統(tǒng)在控制臺與ZigBee協(xié)調(diào)器之間,使用UART傳輸數(shù)據(jù);在ZigBee網(wǎng)絡節(jié)點之間都按照ZigBee協(xié)議實現(xiàn)通信。控制臺、網(wǎng)關、ZigBee網(wǎng)絡之間按照約定的數(shù)據(jù)幀格式進行數(shù)據(jù)包傳遞,幀結構由幀頭、數(shù)據(jù)負載、幀尾三部分組成,如圖2所示。

    (1) 1 B的幀頭0XFB和1 B的幀尾0XFE。
    (2) 1 B的幀長度和1 B的幀負載屬性。
    (3) 多個字節(jié)的業(yè)務負載數(shù)據(jù),ZigBee網(wǎng)絡中的數(shù)據(jù)業(yè)務主要有節(jié)點設備描述符、節(jié)點設備數(shù)據(jù)、狀態(tài)和控制業(yè)務。
    節(jié)點設備描述符用于描述當前ZigBee節(jié)點的短地址、長地址,以及節(jié)點所掛載的傳感器類型和數(shù)目;節(jié)點設備數(shù)據(jù)為傳感器實時采集的環(huán)境數(shù)據(jù);狀態(tài)和控制業(yè)務為用戶發(fā)出指令。
2 無線傳感器網(wǎng)絡程序設計
    無線傳感器網(wǎng)絡基于ZStack-CC2530-2.2.0-1.3.0開發(fā),實現(xiàn)了ZigBee網(wǎng)絡的構建,內(nèi)部使用小型操作系統(tǒng)OSAL[3],實現(xiàn)任務和消息的管理。數(shù)據(jù)采集和傳輸由自定義傳感器數(shù)據(jù)采集任務在應用層登記串口消息后,交由OSAL管理完成。
2.1 傳感器數(shù)據(jù)采集與傳輸程序設計
    本文所述的網(wǎng)絡是由協(xié)調(diào)器、路由器和終端節(jié)點構成的樹狀網(wǎng)絡。協(xié)調(diào)器節(jié)點建立網(wǎng)絡,其他節(jié)點則主動尋找連接協(xié)調(diào)器的最小代價路由[3]。所有節(jié)點上電之初將發(fā)送節(jié)點的設備描述符,并周期上傳節(jié)點在線狀態(tài)信息。終端節(jié)點采集傳感器數(shù)據(jù)經(jīng)路由器轉(zhuǎn)發(fā)至協(xié)調(diào)器。
2.2 串口數(shù)據(jù)傳輸程序設計
    串口作為命令和數(shù)據(jù)傳輸接口,協(xié)議棧默認登記在MT層[4],本系統(tǒng)將串口消息登記到應用層,并在應用層完成處理。初始化串口并注冊好回調(diào)函數(shù)后,當串口接收緩沖非空時,就會觸發(fā)系統(tǒng)消息事件。回調(diào)函數(shù)首先檢測串口命令的起始標識,獲得起始標識后,按照系統(tǒng)定義的串口命令格式讀取緩沖區(qū),同時填充到預先分配的結構內(nèi)存區(qū)間。結束標識用于校驗該串口命令是否發(fā)生誤操作、誤傳輸。若傳輸正確,則將串口命令按照定義的消息格式登記到應用層處理。
3 控制臺軟件程序設計
    控制臺主要由網(wǎng)關通信功能塊、網(wǎng)絡拓撲控制與顯示功能塊,設備控制與顯示功能塊構成,實現(xiàn)人機交互,實現(xiàn)對設備的控制和對數(shù)據(jù)的處理、顯示。
3.1 控制臺總體結構介紹
    控制臺有4個功能界面,分別為網(wǎng)絡拓撲主界面、設備列表界面、全局控制界面及設備控制界面。各界面之間彼此聯(lián)系、共享數(shù)據(jù),總體框架如圖3所示。

3.2 控制臺功能設計
    控制臺實現(xiàn)兩方面的功能:(1)處理來自網(wǎng)關模塊的數(shù)據(jù),根據(jù)節(jié)點描述符完成ZigBee網(wǎng)絡拓撲結構動態(tài)構建和節(jié)點狀態(tài)信息動態(tài)直觀展示,并根據(jù)傳感器數(shù)據(jù)動態(tài)顯示相應信息。(2)接收用戶指令,發(fā)送相應的控制數(shù)據(jù)包給網(wǎng)關模塊,并轉(zhuǎn)發(fā)至ZigBee協(xié)調(diào)器,完成對設備的精確控制,如打開、關閉設備,控制采集頻率等。
    圖3中網(wǎng)絡拓撲主界面用于ZigBee網(wǎng)絡拓撲結構動態(tài)構建和節(jié)點狀態(tài)信息動態(tài)展示;設備列表界面展示每個ZigBee節(jié)點上傳感器硬件信息;全局控制界面針對特定ZigBee節(jié)點進行整體控制;設備控制界面區(qū)別于全局控制界面,用來控制ZigBee節(jié)點上指定標簽的傳感器設備。
3.3 通信網(wǎng)關程序設計
    網(wǎng)絡通信接口作為網(wǎng)關,負責ZigBee網(wǎng)絡協(xié)調(diào)器與控制臺軟件之間數(shù)據(jù)包的解包與封包,并按照數(shù)據(jù)幀結構進行通信。通過串口連接實現(xiàn)數(shù)據(jù)接收和發(fā)送。
    通信網(wǎng)關結構如圖4所示,網(wǎng)關不僅負責將上位機接收到的用戶下行命令封包,并遞送到ZigBee協(xié)調(diào)器,并轉(zhuǎn)發(fā)到相應無線節(jié)點,而且還負責ZigBee網(wǎng)絡上行數(shù)據(jù)包的解包,并遞送到控制臺。

 

 

    由于ZigBee網(wǎng)絡數(shù)據(jù)包接收速率和控制臺處理速率之間不匹配,本系統(tǒng)采用循環(huán)隊列對數(shù)據(jù)進行緩沖,以匹配兩端數(shù)據(jù)速率的不平衡。讀、寫循環(huán)隊列函數(shù)采用多線程實現(xiàn),線程一實現(xiàn)讀取串口數(shù)據(jù)并寫入隊列;線程二實現(xiàn)讀取循環(huán)隊列數(shù)據(jù)交由控制臺處理。線程之間利用互斥鎖和條件對臨界區(qū)進行保護,以實現(xiàn)同步。通過信號來喚醒。程序主體部分由一個主進程負責維護兩個子線程,兩個子線程分別對循環(huán)隊列進行讀寫操作。環(huán)形緩沖區(qū)以互斥鎖實現(xiàn)單生產(chǎn),單消費模式,可有效節(jié)省空間,提高數(shù)據(jù)的處理速度。
    在無線傳輸過程中可能發(fā)生丟包或者亂碼。產(chǎn)生丟包則網(wǎng)關讀取的數(shù)據(jù)不是完整的一幀;而出現(xiàn)亂碼則雖然收到完整的一幀數(shù)據(jù),但是其中部分字節(jié)已經(jīng)出現(xiàn)錯誤。只有當收到數(shù)據(jù)為完整的數(shù)據(jù)幀并且無亂碼時,才能調(diào)用解析函數(shù)進行解析。
    針對傳輸中的丟包和亂碼,網(wǎng)關模塊使用了兩種數(shù)據(jù)校驗方法:一種是幀頭、幀尾檢測法,用于驗證完幀的完整性;另一種為增加校驗碼法,用于檢驗數(shù)據(jù)包是否發(fā)生丟包。
    網(wǎng)關程序流程如圖5所示,圖中由主進程產(chǎn)生兩個子線程,主進程運行run_module,負責初始化,包括打開串口,設置循環(huán)隊列,產(chǎn)生子線程等。由主進程產(chǎn)生的兩個子線程分別為寫線程write_rs232和讀線程read_rs232。寫線程讀取串口的數(shù)據(jù),并將數(shù)據(jù)存儲到循環(huán)隊列中,讀線程從循環(huán)隊列讀取并解析數(shù)據(jù)。如果寫線程有數(shù)據(jù),將會使讀線程阻塞并等待寫線程完畢,讀線程讀取數(shù)據(jù)后也會發(fā)送信號到阻塞的寫線程,采用互斥鎖和條件變量的同步方式保護了共享數(shù)據(jù)區(qū)不被破壞,實現(xiàn)了數(shù)據(jù)同步。

3.4 網(wǎng)絡拓撲控制與顯示程序設計
    網(wǎng)絡拓撲控制與顯示功能部分對來自ZigBee網(wǎng)絡的數(shù)據(jù),裁決模塊將根據(jù)最近30 s收到的傳感器節(jié)點信息來判定某ZigBee節(jié)點是否掉線,掉線或復活都將重構網(wǎng)絡拓撲圖,并更新全局存儲區(qū)。
    在網(wǎng)絡拓撲頁設置周期2 s的定時器QTimer,用于周期更新網(wǎng)絡拓撲結構。時間到,則提取共享存儲區(qū)中的全局變量,檢測是否存在超出30 s還未向控制臺報告存活狀態(tài)信息的節(jié)點。若存在,則初始化這樣的ZigBee節(jié)點為灰色,并失活此節(jié)點,如果再次檢測到該節(jié)點上線,則恢復其缺省顏色并激活。采用另一個共享內(nèi)存區(qū)存儲網(wǎng)絡結構,提高網(wǎng)絡拓撲顯示速度,若網(wǎng)絡拓撲有變動,則更新此共享區(qū)。
    本平臺采用的設備描述符包含64 bit長地址,避免了因個別節(jié)點死掉后重新上線,而協(xié)調(diào)器將重新分配短地址避免導致網(wǎng)絡拓撲結構中出現(xiàn)一個實際節(jié)點對應多個顯示節(jié)點的錯誤。在構建拓撲圖的過程中,線性掃描每個終端節(jié)點,遞歸建立網(wǎng)絡拓撲。
3.5 傳感器數(shù)據(jù)顯示與設備控制程序設計
    控制臺接收用戶指令,根據(jù)指令裁決器決定設備列表顯示或傳感器數(shù)據(jù)顯示。對設備控制結果由控制回饋模塊顯示,成功則表明指令已經(jīng)傳至網(wǎng)關,但不能確定遠程ZigBee節(jié)點是否收到該指令。
    控制臺讀取用戶給定的指令,交由裁決器判斷用戶指令類型,若為傳感器數(shù)據(jù)顯示指令,則進入傳感器指令顯示界面,并提取傳感器數(shù)據(jù)全局變量,以1 s為周期動態(tài)顯示傳感器數(shù)據(jù);若為設備控制指令,則進入設備控制界面,根據(jù)用戶指定的設備地址和編號,發(fā)送控制命令至遠程節(jié)點。
4 平臺測試與數(shù)據(jù)指標
    無線網(wǎng)絡由 1個協(xié)調(diào)器節(jié)點、1個路由器節(jié)點及7個終端節(jié)點構成。終端節(jié)點都掛有溫/濕度傳感器,振動傳感器及壓力傳感器。節(jié)點距離在10 m~20 m之間,多個終端節(jié)點和協(xié)調(diào)器之間有墻體阻擋, 通過路由器接入網(wǎng)絡進行測試。
    測試1:每個ZigBee節(jié)點加入網(wǎng)絡,網(wǎng)絡拓撲結構都能正確顯示,且路由器斷電后,其子節(jié)點尋找最近的父節(jié)點并加入網(wǎng)絡,重構網(wǎng)絡拓撲。
    測試2:控制臺正確顯示遠程ZigBee節(jié)點上的傳感器設備。
    測試3:傳感器關閉、打開、周期采集等控制功能測試正常。
    測試4:分別測試各個ZigBee節(jié)點不同時間的傳感器數(shù)據(jù)值,結果顯示準確。
    測試5:在測試1的基礎上,測試網(wǎng)絡丟包和數(shù)據(jù)速率。實際測試得到ZigBee無線網(wǎng)絡穩(wěn)定數(shù)據(jù)速率為20.5 kb/s,發(fā)送速率越高,則丟包率越高。
    本文設計的基于CC2530的ZigBee無線傳感器網(wǎng)絡監(jiān)控平臺具有較強的網(wǎng)絡穩(wěn)定性,且丟包率和失誤率較小,網(wǎng)絡拓展能力較強,可搭建不同的網(wǎng)絡拓撲結構以適應復雜的實際環(huán)境;能實時感知環(huán)境狀態(tài)信息并交互處理,控制遠程傳感器設備。將此技術用于環(huán)境監(jiān)控是一種可行的技術方案,也是未來物聯(lián)網(wǎng)發(fā)展的一個方向。
參考文獻
[1] 李長庚,劉威鵬,胡純意,等.基于ARM和ZigBee的WSN節(jié)點設計與實現(xiàn)[J].計算機工程,2010,36(17):135-137.
[2] 尹慧琳,王磊,馮占軍. 無線傳感器網(wǎng)絡節(jié)點分布式信息融合算法研究[J].計算機工程與應用,2007,43(17):18-20.
[3] 謝川.ZigBee中改進的Cluster-Tree路由算法[J].計算機工程,2011,37(7):115-117.
[4] 刑偉偉,白瑞林,孟偉.ZigBee無線網(wǎng)關在MODBUS通信中的應用[J].計算機工程與應用,2011,47(29):81-84.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載。
主站蜘蛛池模板: 五月桃花网婷婷亚洲综合 | 色中色影视| 日韩精品在线看 | 天天操狠狠操夜夜操 | 亚洲欧美视频在线播放 | 中国美女大战黑人国产 | 精品色视频 | 亚洲插 | 亚洲欧美另类在线 | 曰批全过程免费观看视频 | 日韩一级片在线播放 | 国产精品密蕾丝视频 | 韩国伦理片在线 | 九九99九九在线精品视频 | 精品一卡二卡三视频 | 午夜国产精品久久影院 | 亚洲国产午夜 | 欧美日本道免费二区三区 | 欧美精品1区2区 | 日本天堂在线观看 | 日本一区二区三区在线看 | 免费麻豆国产黄网站在线观看 | 日韩美女免费线视频网址 | 大香网伊人久久综合网2020 | 欧美手机在线 | 国产精品综合色区在线观看 | 1024亚洲精品国产 | 免费无遮挡毛片 | 日韩欧美区 | 最新国产三级 | 国产日本欧美高清免费区 | 欧美日韩第二页 | 欧美一级高清免费播放 | 国产1024在线永久免费观看 | 成人18免费观看的动漫 | 成人免费观看高清在线毛片 | 天天干天天干天天干天天干天天干 | 羞羞视频在线观看视频 | 国产精品视频国产永久视频 | 最近2019年中文字幕一页 | 在线亚洲激情 |