崔波,周圓
(天津大學電子信息工程學院,天津300072)
基于6LoWPAN和ARM的校園無線傳感網絡設計※*
崔波,周圓
(天津大學電子信息工程學院,天津300072)
為了實現對校園多種傳感信息的實時采集、處理和監控,以及對電器實現智能控制。本文采用TI公司的CC2530無線模塊實現了無線傳感網絡的自定義組建與通信。客戶端采用PC、iOS和Android三種實現,能夠隨時登陸查看相應信息,并遠程控制電器。本方案解決了校園與互聯網的信息無縫連接問題,具有廣闊的應用前景。
無線傳感網絡;嵌入式網關;6LoWPAN;網絡協議
近年來智能校園、綠色校園的理念已經深入人心。首先,人們可以通過對校園內各種資源的有效監測,進一步節約能源。其次,通過對各種環境因素進行監測,有助于保障安全、方便學習與工作。最后,可以通過實現物聯網[1]和互聯網的無縫連接,發掘海量數據的潛在價值。但是這幾個方面實現的基礎,是無線傳感網絡。在智能家居[3]、遠程抄表[4]、定位[5]等方面,無線傳感網技術衍生了一系列有價值的應用。本文實現了校園無線傳感網絡的設計,包括整個系統的軟硬件設計、自定義組網運行和客戶端應用。以嵌入式系統結合中心節點實現網關的設計,從而實現對無線網絡的監控調節、數據處理顯示等,海量數據將存儲在服務器上以備數據挖掘之用。客戶端一方面在PC上實現,另一方面考慮到智能移動終端的普及,在iOS和Android系統下也進行了實現。
完整的網絡體系是實現無線傳感網及其應用的基礎,包括終端節點、嵌入式網關、網絡拓撲與協議,以及客戶端應用。本文采用TI公司的CC2530作為傳感器終端和網關的無線通信模塊,其MAC層和物理層基于802.15.4標準,高層采用6LoWPAN協議棧。網關方面采用基于ARM Cortex-M3內核的STM32F107最小片上系統,配合功能齊全的外設以及CC2530,實現多方面的功能。網關系統示意圖如圖1所示。

圖1 無線傳感網及網關系統示意圖
1.1 傳感網絡節點組成
傳感網絡節點的無線收發模塊采用TI公司的CC2530芯片,其集成了 51單片機內核,基本電路圖略——編者注。
在傳感器方面,需要考慮多種不同用途的配置,包括樓宇監測傳感器、水環境監測傳感器以及電器控制傳感器。本文使用6種傳感器節點:第一種為樓宇監測傳感器節點,定時采集4種傳感信息,能對異常環境報警;第二種為電器控制傳感器節點,主要實現對室內電器的智能遠程控制;剩余4種均為水環境監測節點,分別在不同的水環境下使用。
1.1.1 樓宇監測傳感器節點
樓宇監測的傳感信息主要包括溫度、煙霧、濕度、噪聲。溫度傳感器選擇DS18B20,是Maxim公司的一款數字溫度傳感器,只需要一個端口即可通信。電路無需外部元件,可用數據總線供電,也可外接VCC。工作電壓為3.0~5.5 V,測量溫度范圍為-55~+125℃,在-10~+85℃范圍內精度為±0.5℃。
樓宇中首先要防范的是火災,使用煙霧傳感器NIS-05A來監測煙霧。這種傳感器是低放射型的標準傳感器,最大供電電壓為24 V。由于阻抗高,NIS-05A輸出電流很小,需采用輸入電流較小的運放,如LMC6042。
濕度傳感器選擇HS1101,該傳感器為變容式相對濕度傳感器,具有檢測速度快、精度高、可靠性強、穩定性好和使用方便、體積小等特點,具有很好的線性輸出,且濕度輸出受溫度影響極小。
聲學測量要求傳聲器性能穩定、動態范圍寬、頻響平直,故噪聲傳感器選用AWA14423,它是自由場型測試電容傳聲器,動態范圍為10~130 dB,頻率范圍為0~20 kHz,標稱靈敏度為50 mV/Pa。傳感數據全部為int類型,共16字節,此外傳感器類型1字節,傳感器ID 1字節,故有效載荷為18字節。
1.1.2 水環境監測傳感器節點
為了實現對各種水資源進行分類監測,將水資源分為景觀水、給水、再生水、污水,使用多種水傳感器對水質進行監測。再生水需要測量的數據包括水量、水壓、濁度、COD(化學需氧量)。景觀水包括水溫、溶解氧、葉綠素、COD。污水包括氨氮、濁度、PH、COD。給水需要測量的參數包括水量、水壓、水溫、余氯。數據為double類型,共32字節,再加上節點類型和傳感器ID,有效載荷為34字節。
1.1.3 電器控制的傳感器節點
除了能夠監測環境信息,無線傳感器節點還可以對電器進行控制,主要針對樓宇內辦公室、實驗室中的空調、照明燈、飲水機等設備。開關控制設備由繼電器和配電箱改造而成,繼電器是連接弱電和220 V市電的橋梁,通過單片機I/O口發出控制信令,實現弱電控制強電。
1.2 網關系統設計
對于任何無線網絡,一個穩定、高性能的網關,是必不可少的,CC2530的外設難以滿足對數據處理、顯示以及各種擴展網關應用的要求,而嵌入式設備具有便利靈活、性價比高、嵌入性強等特點。所以選擇合適的嵌入式設備與無線中心節點(CC2530)結合,可以實現無線網絡網關的優化設計。
網關系統選用Cortex-M3微處理器芯片為核心,搭建嵌入式平臺最小系統。外圍擴展電路包括 LCD觸摸屏、RJ45以太網接口、UART串口以及其他外設。其中,LCD觸摸屏為校園傳感信息的集中監控和智能控制提供人機界面;RJ45以太網卡電路為將6LoWPAN網絡接入Internet提供硬件支持(連接服務器);UART串口用于協調器和嵌入式處理器通信,以及網關應用功能的數據交互。STM32F107最小片上系統略——編者注。
1.3 網關功能
校園傳感網系統網關的軟件設計分為前臺和后臺兩部分。前臺功能即實現在LCD觸摸屏對本系統的集中監控,包括查看多種傳感器節點的數據信息、檢測傳感器信息并在必要時報警、查看并控制家電的工作狀態。在Linux嵌入式操作系統下,按照Qt GUI開發應用程序來實現以上功能。后臺功能主要是為來自 Internet客戶端的數據請求提供接口,本系統為客戶端遠程提供數據接口,如查看傳感信息、出現異常向客戶端報警,以及電器控制命令接口。本系統不僅實現了基于C/S結構的智能手機以及平板電腦客戶端應用程序的訪問接口,還實現了B/S結構的客戶端瀏覽器的訪問接口。
在程序設計中,使用3個類實現3種功能。Campus_ Sensors類用于傳感器參數的實時顯示,Campus_Control類用于家電的開關狀態顯示和控制,本系統可以支持4個電器設備,包括燈光、空調、攝像頭和電腦。此外,還可以將樓宇內常見的RFID門禁系統加入進來,設計一個Lab_ RFID類負責管理門禁系統的人員信息。
為了使整個無線傳感網系統有效可靠地通信,并且能夠保障各種應用的時效性,本文設計了完善的通信格式和網絡協議。
2.1 通信格式
2.1.1 無線傳感網絡通信格式
傳感數據采集采用基于UDP和6LoWPAN/IPv6的傳輸層和路由層打包方案。802.15.4 MAC層留下81字節來傳輸IPv6報文分組,在沒有6LoWPAN適配層的情況下,在802.15.4上傳輸IPv6的效率會很低。因為從81字節中扣除IPv6基本報頭的40字節之后,僅剩下41個字節用來承載傳輸層的報文。在傳輸層使用UDP協議,還需要占用8個字節空間來存放UDP報頭,那么最后只剩下33字節用來傳輸真正的應用層數據,有效載荷傳輸效率非常低,為此必須在適配層中提供對冗余報頭的壓縮算法。本文采用有效的包頭壓縮[6]來解決該問題,無線通信發送與接收的流程圖如圖2所示。

圖2 無線節點發送與接收流程圖
2.1.2 網關與服務器通信格式
網關與服務器的通信采用XML格式。XML把數據從HTML分離,能夠簡化數據共享和數據傳輸,有利于與客戶端通信。網關對不同傳感器節點的數據加以組織,加上節點類型、ID和接收時間,最終形成XML語言描述示例如下:
<sensor>
<type>0</type>//傳感節點類型,0代表再生水監測節點
<id>2</id>//傳感節點ID
<time>2014-6-1 02:59</time>//時間
<data> //監測數據
<mount>120.8</mount>//水量
<pressure>1000</pressure>//水壓
<turbidity>0.02</turbidity>//濁度
<COD>0.01</COD>//COD
</data>
</sensor>
其中,第一行為XML注釋信息,包含版本信息和編碼方式信息。根元素<sensor>包括<type>、<id>、<time>和<data>四個子元素,數據部分<data>包括<mount>、<pressure>、<turbidity>和<COD>四部分數據。采用XML編碼方式,編碼和解析比較方便,數據結構的可擴展性也很強,如果需要添加新的傳感節點或新類型的傳感節點,只需標明相關屬性。
2.2 運行網絡設計
2.2.1 問答式網絡運行設計
問答式網絡主要應用于室內電器智能控制。在實際的組網與運行中,所有可能入網的設備均在中心節點有地址備份。所謂問答式組網,即是網絡通信全部由中心發起,通過單獨與某子設備通信,發送數據包或接收子設備的數據包。與設備通信是由網關的控制部分——嵌入式系統通過串口發送命令進行的。比如遠程訪問1號設備的信息,中心節點接收到命令后向1號設備發送數據,要求其發送傳感信息數據包,1號設備收到后向中心節點發送相應數據包,中心節點接收到后此次通信結束,再等待串口發來的命令進行下一次通信。
在這種網絡運行方式中,同步并不是必須的,因為該網絡為星形結構,所有通信過程都是由中心節點發起的。可以設定中心節點發送兩種命令幀:一種用來向其他設備詢問數據,如傳感器測量信息等;另一種用來發送命令控制電器。
2.2.2 時隙分配式網絡運行設計
時隙分配式網絡適用于水環境傳感網和樓宇檢測傳感網。超幀結構是IEEE 802.15.4標準的一大特色。中心節點廣播發起通信,在數據包有效載荷里,為每個子設備分配其占有的時隙。比如2號設備在接收數據包里讀取接收有效載荷數組的第2個數,就能知道在哪個時隙發送數據。設定起始時隙由中心節點發送信標幀占據;剩余5個時隙由信標幀分配給其他設備。0號設備為中心節點,其余5個設備編號為1~5。圖3顯示的是時間軸上各設備占據信道的順序。

圖3 自定義超幀結構
在這種情況下,可以根據實際情況設定超幀的時隙個數。在整個超幀結構中,第一個時隙仍然是由中心節點發送信標幀占據,在信標幀后其他設備在自己的時隙中發送數據包。
2.2.3 簇狀網設計
在水質傳感網中,由于節點布置距離可能較遠,單跳通信并不適用,因此采用簇狀網設計,如圖4所示。系統中每一個ZigBee網絡都是由一個中心(即協調器)發起建立的。

圖4 簇形網絡及網關系統示意圖
建網過程為:首先由充當協調器的中心節點建立網絡,網絡層請求MAC層對規定的信道,或由物理層默認的信道進行能量檢測掃描以測定干擾,掃描結果將按遞增順序排序,超過允許能量水平的新到編號被拋棄,剩余信道選取能量水平最低的作為建網信道,如多個信道滿足要求,則選擇邏輯編號最小的信道。
協調器建網后設定PAN ID,同時創建一個網絡鄰接表,為每個路由器分配一個16位地址,并將信息添加到該網絡鄰接表中,網絡節點的添加就完成了。
當路由器下層的家居設備想加入該網絡時,將自身信息發送給路由器,再由路由器將此信息轉發給網絡協調器,網絡協調器根據不同路由器轉發來的信息進行分組,為每個設備分配一個16位的網內地址,再將此設備添加到網絡鄰接表中,標志終端設備被添加到此網絡中。這樣簇狀網建立,通信過程可以是分級輪詢或分級時隙分配。
另外,在樓宇傳感網中,由于節點布置距離較遠,且基本沿直線分布,因此需要改進簇狀網絡設計。此時全部節點都要選擇使用全功能設備,即具備路由功能,采用AODV協議[7]作為路由協議,可有效實現多跳通信。
客戶端硬件設計示意圖略——編者注。軟件分為PC端和移動客戶端兩部分,其中PC端通過瀏覽器訪問Web服務器即可,這里不再贅述。
移動客戶端通過無線網絡,從 Web服務器獲取水質監控信息,包括用戶登錄、監控數據獲取及用戶注銷3部分,其實現方式與監控數據的獲取完全一致,即通過發送HTTP數據包,將請求內容寫入數據包中,發送至服務器端進行實現。
這里,將模擬采集到的水質監控數據形成的XML數據文件放在服務器端,以供客戶端軟件通過網絡進行訪問。程序示意圖略——編者注。
3.1 Android系統開發
對于Android客戶端應用程序,按需求將應用功能分成傳感器監測功能和與電器控制功能。SenActivity實現傳感器顯示界面,UI數據由后臺服務 BuildingSenService提供;AppCtrlActivity是用戶與電器控制設備的交互界面,電器開關狀態的顯示數據也由后臺服務 BuildingSenService提供。
3.2 iOS系統開發
對于iOS客戶端的實現,設定傳感器數據的請求以及對電器的控制在初始頁面 RootViewController類進行實現,即程序啟動時向網絡端發起數據請求。設計采用異步請求“sendAsyRequest:queue:completeHandler:”方法,對返回結果的處理寫在“connection:didReceiveData:”方法和“connection:didFailWithError:”方法中,分別對應請求成功與請求失敗兩種情況。
本文設計了一種面向智慧校園和綠色校園的無線傳感網絡及其應用。基于6LoWPAN協議棧設計了合理的網絡協議,以服務器存儲和客戶端隨時接入充分發揮監測作用,實現智能應用。
編者注:本文為期刊縮略版,全文見本刊網站www. mesnet.com.cn。
[1]孫其博,劉杰,黎羴,等.物聯網:概念、架構與關鍵技術研究綜述[J].北京郵電大學學報,2010,33(3):1-9.
[2]孫利民,李建中.無線傳感器網絡[M].北京:清華大學出版社,2005.
[3]鄭影,崔連和,鄭曉東.ZigBee技術在智能家居系統中應用研究[J].消費電子,2012(5):11-12.
[4]張成武,譚斌.單片機Zigbee技術在遠程抄表系統中的應用[J].微計算機信息,2006,22(11-2):96-98.
[5]張長森,董鵬永,徐景濤.基于ZigBee技術的礦井人員定位系統的設計[J].工礦自動化,2008(2):48-50.
[6]何朝陽.基于 6LoWPAN的物聯網應用平臺研究與實現[D].哈爾濱:哈爾濱工業大學,2011.
[7]Perkins,Charles E,Elizabeth M.Ad-hoc on-demand Distance Vector Routing[C]//Mobile Computing Systems and Applications,Second IEEE Workshop on.IEEE,1999.
Campus Wireless Sensor Network Based on 6LoWPAN and ARM※
Cui Bo,Zhou Yuan
(School of Electronic Information Engineering,Tianjin University,Tianjin 300072,China)
To realize real-time multi-sensor data collection,campus monitoring and alarming for emergencies,we establish a wireless sensor network and keep it running in a self-defined way using CC2530 which is the product of TI.We have realized client software on PC and mobile operating systems such as iOS and Android,then the corresponding information can be seen at any time and also can remote control the electrical applicances.The solution is suitable for connecting campus with the Internet,and has broad application perspective.
wireless sensor network;embedded gateway;6LoWPAN;network protocol
TP39
A
薛士然
2014-11-10)
國家級-國家自然科學基金(61201179)。