趙雙萍 邢敬宏 何 輝
(蘭州工業高等專科學校軟件工程系,甘肅 蘭州 730050)
自20世紀90年代以來,無線傳感網絡技術獲得了廣泛關注。隨著技術的不斷成熟,無線傳感器網絡(wireless sensor networks,WSN)逐步進入產業化階段,以無線傳感器網絡為基礎的物物互聯技術在全球高速發展。物聯網(Internet of things,IoT)涵蓋了大量現有的專業門類和技術體系。物聯網技術將應用于工業、農業、服務業、環保、軍事、交通以及家居等幾乎所有的領域。
從物聯網的應用來看,可將物聯網技術分為三個層次:一是無線傳感網絡,即以二維碼、RFID、傳感器為主的網絡,可實現“物”的識別[1];二是傳輸網絡,即通過現有的互聯網、廣電網絡、通信網絡或未來的NGN網絡,實現數據的傳輸與計算;三是應用網絡,即輸入輸出控制終端,可基于現有的手機、PC等終端進行。
本文對以上三個層次逐步展開研究,并設計了多路通道的無線傳感網絡測控系統。
系統采用3G-WSN的第三代無線傳感技術,利用JN5148的SoC來構建性能更佳的無線傳感網絡。該技術具有對其他無線環境無污染、傳輸距離長、功耗低等諸多優點。
無線傳感器網絡是一種由傳感器節點構成的網絡,能實時監測、感知采集節點部署區內的各種信息(如光強、溫度、濕度、噪聲和有害氣體濃度等物理現象),并對這些信息進行處理,最后將處理后的信息以無線的方式發送給終端用戶。隨著通信技術、嵌入式技術、傳感器技術的飛速發展和日趨成熟,具有感知、計算、通信、路由功能的微傳感器節點不斷涌現,由這些節點構成的無線傳感器網絡正備受關注[2]。
目前,無線傳感網絡在工業控制、智能家居、醫療健康等領域得到了的廣泛應用,它已成為當今的熱點研究方向之一,被認為是對21世紀產生巨大影響的高新技術。
無線傳感器網絡系統通常由傳感器節點和終端用戶組成。大量傳感器節點被部署在監測區域,通過自組織方式構成網絡[3]。傳感器節點監測到的數據經過多跳后路由到網關節點,網關節點在對數據進行分析、融合等處理后,通過無線的方式將數據送入服務器。用戶通過監控中心對傳感器網絡進行配置和管理,發布監測命令并收集監測數據。
傳感部分共由四個節點構成,即終端節點、路由節點、中心節點和網關節點。終端節點可以以低功耗休眠方式運行,其低功耗性能更為優越[4]。終端節點中燒寫EndDevice節點程序,其主要功能是采集溫度、濕度、電壓和脈沖等傳感數據,并監聽Router節點發送的數據,或檢測到Coordinator中心節點和路由Router節點后將自己加入到網絡中。路由節點中燒寫路由Router程序,其主要功能是完成EndDevice節點轉發的數據向Coordinator節點傳輸,同時偵聽網絡和周圍的Router節點,以實現多跳方式自組網,形成完整的無線傳感網絡。中心節點中燒寫Coordinator專用程序,其主要功能是刷新整個網絡和路由表[5]。中心節點以串口的方式與ARM11嵌入式網關節點相連接,若串行速率達不到115 200 bit/s,則以SPI從節點的方式直接與ARM11的S3C6410相連接通信,以實現更高速的數據傳輸。無線傳感網絡體系結構如圖1所示。

圖1 無線傳感網絡體系結構圖Fig.1 Architecture of WSN
本文選用JN5148作為傳感器節點。JN5148是英國JENNIC公司研發的第三代WSN的SoC芯片,其搭載32 bit的RISC CPU,可支持新的ZigBee PRO、JenNet通信協議,它是目前ZigBee單芯片無線微處理器市場中唯一能提供低耗電與最大內存容量的芯片。JN5148是一款綠色環保的芯片,它對其他2.4 GHz傳輸網沒有干擾,且傳輸DES 128位加密更加安全可靠。
JN5148編程時,采用Eclipse的C++編譯環境,其C++程序經編譯后生成BIN的二進制文件。然后使用Flash Programer工具,將程序以串行方式直接燒寫至JN5148 CPU的程序存儲空間。其傳輸協議可以選擇 MAC協議、802.15.4協議或 ZigBee PRO、JenNet協議。本文選擇能夠支持線性路由和節點間可以互相通信的JenNet協議來進行構建。
網關節點在完成不同網絡間協議轉換的同時,還要對傳感器網絡進行管理和設置。網關節點需具備以下功能:掃描并選定物理信道[6],分配無線傳感器網絡內部網絡地址,初始化網絡設置;記錄WSN網絡所采用的MAC算法和路由協議,協助節點完成與鄰居節點連接的建立和路由的形成;發送監控中心控制指令,為用戶實現特定的操作功能;接收采集節點的請求和相關數據,具有數據融合、仲裁請求和路由選擇等功能。
作為感知區域內傳感器節點與外部網絡或終端用戶的橋梁,網關節點要處理大量數據,因此必須具備高速度、大存儲量和較遠傳輸距離的性能,即低成本、高效能。同時,因傳感器部署在環境惡劣的區域,頻繁更換電池很不現實,充足的能量供應必須優先考慮,低功耗設計也將成為整個設計的關鍵環節之一。
本文選用ARM11 S3C6410構建嵌入式網關,ARM11能支持WiFi、GPRS方式或Ethernet的IP網直連方式與互聯網連接,或者以 WCDMA/TD-CDMA/CDMA2000的連接方式與互聯網相連接。網關結構圖如圖2所示。

圖2 網關結構圖Fig.2 Structure of the gateway
嵌入式網關設計需要能夠支持多種網絡鏈接的中繼設備,因此必須選擇基于支持多網絡支持的嵌入系統。選用FPGA能夠實現數據的高速和并行處理,但其接口能力弱,需要進行許多擴展才能完成任務;DSP嵌入式開發板適用于對信號進行處理,其處理能力強、速度快[7],但對于多網絡的支持并不十分完美。因此,本文選擇基于Linux的ARM嵌入式操作系統來實現。在Linux下能夠較為輕松地開發支持WiFi網絡適配、GPRS撥號網絡和CDMA2000/WCDMA/TD-SCDMA的驅動程序,驅動移植較為簡單。基于ARM11的嵌入開發板能夠實現 QT4.7和QTE4.4的移植,而QT4提供了大量的庫函數。這些庫函數使得網絡、數據處理、圖表展示等功能增強。
ARM11嵌入式網關的RJ45接口與IP網絡交換機相連,實現WSN數據網絡服務器的轉發。其串行接口COM3設備與WSN的中心節點相連接,嵌入網關的USB接口不但可以插接U盤,讀取U盤上的文件;也可以插接USB攝像頭,將視頻直接顯示在LCD上,并通過IP/3G網絡傳輸到遠端服務器實現遠程監控。此外,USB接口還可以與3G適配器連接,實現遠程網絡的連接,其支持WCDMA,同時也支持TD_SCDMA和CDMA2000。因此,無論是聯通、電信或移動,只要有網絡的覆蓋,即可實現數據的采集與監控。網關的COM2口提供了可以與GPRS Modem Q2406B連接的5線串行接口,實現數據的遠程傳輸。
嵌入式網關開發環境較為復雜,首先在Windows平臺上安裝VMware,再分別在VM和Linux上安裝Linux系統和ARM交叉編譯環境。所有程序均在Linux的QT Creator上開發,以Linux終端命令make實現編譯;編譯完成后,以網絡或U盤文件方式發布在ARM上[8]。然后設置其運行權限及其在 Qtopia的desktop配置文件。
嵌入式網關采用ARM11開發,提供WiFi/3G/IP/GPRS 等連接的驅動程序,通過 WiFi、GPRS、3G、IP 的任一種連接方式,實現嵌入式網關與Internet服務器的通信。
隨著Web技術的發展,W3C制定了新的HTML5標準,并通過Web方式實現Socket。系統借用新技術,以實時消息傳輸協議(real-time messaging protocol,RTMP)傳送數據,前臺采用Adobe的Flex來實現Web組態界面。
RTMP方式能夠實現實時數據傳送,這種數據的傳送方式是由服務器端發出的。當系統啟動時,在客戶端和服務器端之間建立一個通道(RTMP隧道),當服務器端有數據需要傳送時,即可直接傳送,而無需客戶端的請求,從而實現真正的數據傳送。
本文以Java技術為基礎,自行編寫 Web組態界面。對 Web Socket的 Web啟動、數據接收以及JfreeChart實現組態界面的編制進行了嘗試,結果表明該界面非常適合跨平臺Linux等其他操作系統平臺的訪問,對手機瀏覽器的支持也非常好。
本文構建了以HTML5.0為基礎的Socket,直接接收來自ARM11網關的數據,從而實現HMI人機交互。首先要在服務器端建立Server Socket;然后偵聽下位機傳來的實時數據,一旦上位機收到數據,則對有效數據進行提取;最后利用Web ORB將實時數據傳送到Web瀏覽器端(即 Flex)上即時顯示[9]。
服務器端實時偵聽下位機傳來的數據,收到數據后即通過RTMP傳到Flex Client,服務器端使用.NET C#編寫的DLL動態連接庫。
下位機端嵌入式網關使用嵌入式Linux操作系統將無線傳感器傳來的環境變量(如溫度、濕度)定時發到 Server Socket,數據可通過 3G、GPRS、IP 等方式傳遞。服務器端工作流程如圖3所示。

圖3 服務器端工作流程圖Fig.3 Operating process of the server
系統Web Client端使用Flex技術開發。Flex是一個針對企業級富互聯網應用(rich internet application,RIA)的表示層解決方案[10],它是Flash的一種應用程序框架。
幾乎所有用戶瀏覽器都安裝了Flash Player插件,利用Flex可以實現應用程序的跨平臺。
Flex序列產品包括編譯工具和IDE。通過編寫MXML(一種類似 XML標記語言)和 ActionScript代碼,用編譯器來生成SWF文件。用戶使用瀏覽器的Flash Player插件即可進行觀看。
無線傳感網絡測控技術研究旨在構建一套基于最新物聯網技術的網絡測控體系,并探索新的一種測控模式。整個系統以JN5148這個第三代WSN的SoC為基礎構建,構建后的WSN支持ZigBee PRO協議,同時支持JenNet協議和基于IPV6的6LoWPAN協議。系統以基于S3C6410的ARM11構筑嵌入式網關,嵌入式網關以最新的 Linux2.6.36為內核,以最新發布的QT4.7For ARM為開發平臺,實現了嵌入式網關與WSN 之間的高速連接,并通過WiFi、GPRS、3G、IP 的任一種連接方式,實現了嵌入式網關與Internet連接的服務器通信。同時,構建了以HTML5.0基礎的Socket,可直接接收來自ARM11網關的數據。數據以曲線或圖表的方式呈現在Web中,構成以Web為基礎的組態軟件,實現HMI人機交互。
[1]沈蘇彬,范曲立,宗平,等.物聯網的體系結構及相關技術研究[J].南京郵電大學學報:自然科學版,2009,29(6):1-10.
[2]李凌云.無線傳感器網絡定位技術研究[J].信息技術,2008(12):148-150.
[3]楊寧,田耀.無線傳感器網絡拓撲結構研究[J].無線電工程,2006(2):11-13.
[4]鄭增威,吳朝暉.可靠傳感網聚類路由算法研究[J].浙江大學學報:工學版,2005(10):1461-1464.
[5]杜輝,舒蓮卿.基于嵌入式Web服務器的網絡設備測控系統設計[J].自動化儀表,2006,27(3):7 -10.
[6]章琛曦,陳亞珠,陳耀武.電梯嵌入式監控終端的設計與實現[J].自動化儀表,2005,26(1):44- 46.
[7]李春林,程建.基于ARM和nRF2401的嵌入式無線網絡測控平臺[J].自動化儀表,2007,28(8):8 -11.
[8]陳鳴慰.基于ARM的通用型實時測控系統設計與實現[D].南京:東南大學,2006.
[9]聶曉霞.Flex從入門到精通[M].北京:清華大學出版社,2008:10-30.
[10]趙一飛.Flex.4.0 RIA 開發寶典[M].北京:電子工業出版社,2011:5-20.