汪華斌,徐浩冬,劉亮奇,王藝棉,陳文超,郭曉杰
(惠州學院 計算機科學系,廣東 惠州,516007)
無線傳感器網絡(wireless sensor networks,WSN)是由具有計算能力和無線通信能力的傳感器節點以自組織方式構成的無線網絡.它綜合了傳感器技術、嵌入式計算機技術、網絡通信技術、分布式信息處理技術、微電子制造技術等多種技術[1],在網絡覆蓋區域內具備采集感知對象的信息及進行基本處理的功能.無線傳感網絡具有低成本、低功耗、組網靈活等特點,使其在特殊環境中廣泛應用.但在智能交通、移動辦公、智能物流等應用中被其傳輸距離短、傳輸速率低等因素制約,因此針對這些應用場景需要改進[2-3].以太網是一種成熟的網絡技術,具有接口簡單、通信速率高、傳輸距離遠、通信協議完善、傳輸穩定和易擴展等優點,滿足建立模塊化、網絡化和開放式監測系統的需求,實現現場監測和遠程監測中心之間的無縫鏈接[4-5].
目前大多數無線傳感器均為非IP終端設備,將非IP設備接入以太網,以便從遠程監測中心獲得被監測對象的實時數據,并對實時監測數據進行分析處理,從而進行遠程控制,在實現資源優化、提高運行效率、提升行業競爭力方面具有重要意義[6].本文以Zigbee網絡和以太網技術的優點為基礎,設計一套遠程數據監測系統,通過Zigbee終端節點采集實時數據,利用以太網將數據傳輸至遠程監測中心,實現對Zigbee傳感節點的遠程監測.
文獻[7]提出的設計方案中,采集終端使用了無線傳感器,但通過GPRS網絡進行遠程傳輸,存在傳輸速率低及數據丟失率高的缺點,在山區尤為明顯;采用ARM進行轉發處理更增加了系統設備采購成本和維護成本.文獻[8]采用的方案中,采集終端采用布線連接的方式,雖然提高了數據傳輸的可靠性,但其部署成本較高,不適合進行大規模的應用,不能進行動態的拓撲和自組網,使得升級維護較為困難.因此采用Zigbee、以太網結合的方式更為合理.
系統的總體設計框架如圖1所示.Zigbee協調器上電后先進行信道掃描,選擇合適的信道,及唯一的網絡標識符創建網絡.網絡中的Zigbee終端節點負責采集數據,并將數據通過Zigbee路由節點轉發至協調器.終端節點上電先掃描現有的Zigbee網絡,請求加入最優的網絡,協調器會在網絡容許范圍內接受請求,并且分配給終端節點一個本網絡或特定網絡內唯一的16位網絡短地址,以標示身份[9].終端節點接入網絡后,將采集到的實時數據傳輸到協調器,協調器將收到的數據進行封裝,經串口轉發至以太網接口RMO4模塊,RMO4將數據打包成符合TCP/IP協議的格式,通過以太網發送至遠程的監測中心.

以太網模塊啟動時先初始化串口和相關外圍設備,創建一個基于TCP的Socket服務器,等待遠程TCP客戶端的連接請求.如有客戶端成功連接,以太網模塊就將無線傳感器網絡采集的實時數據向所有連接的客戶端轉發.基于TCP的Socket客戶端監測軟件接收到數據后進行分析處理,再將結果顯示給監測者參考(如圖2所示),最終實現遠程監測中心對無線傳感器網絡覆蓋區域的實時監測.
Zigbee協調器接收到終端節點采集到的實時數據后,在應用層進行封裝,再通過串口轉發給以太網模塊,捕獲的數據幀如圖3所示.


針對其中一組數據進行分析,原始數據為:FE 0E 46 87 8B C9 02 00 06 00 16 1F D3 64 00 00 37,數據分析結果如表1所示(均為16進制).

表1 Zigbee數據幀分析
傳感器節點的控制核心選用TI公司推出的芯片CC2530,CC2530集成了微處理器、存儲器和射頻模塊,具有高集成度、低功耗、小體積、低成本、外圍電路簡單以及接口豐富等特點,支持點對點、點對多點、多點對多點無線網絡數據傳輸,可外接多種傳感器用于無線數據采集[10].且CC2530芯片支持最新的Zigbee 2007/PRO協議棧,相比之前的協議棧具有更好的互操作性、節點密度管理和數據負荷管理等特點,并且支持網狀拓撲結構和低功耗,這使得CC2530芯片設計的傳感節點通信距離更遠,網絡更加穩定可靠[10-11].具體的硬件設計及關鍵電路如圖4~5所示.


以太網模塊是以HLK-RM04為核心的拓展板.HLK-RM04是海凌科電子新推出的低成本高性能嵌入式串口轉以太網模塊.是基于通用串行接口的符合網絡標準的嵌入式模塊,內置Socket協議,能夠實現串口與以太網之間的透明傳輸.利用HLK-RM04模塊,無線傳感器的串口設備無需進行改造,即可通過將數據傳入以太網.具體的硬件設計及外圍電路如圖6所示.

Socket是一種基于TCP/IP協議的應用程序訪問通信協議的操作系統調用.Socket主要是有流式Socket(SOCK_STREAM)和數據報Socket(SOCK_DGRAM)2種,前者提供可靠的、面向連接的通信流,針對面向連接的TCP服務應用,后者定義了一種無連接的服務,數據通過相互獨立的報文進行傳輸,是無序的且不保證可靠無差錯,對應于無連接的UDP服務應用[12-13].本系統要求可靠的數據傳輸,故采用基于TCP的流式Socket,如圖7所示.在以太網接口模塊上建立Socket服務器,在PC機的監測軟件上創建Socket客戶端,PC機的監測軟件使用時需進行服務器的IP地址和端口的連接設置,再向服務器發送連接請求.若連接成功,HLK-RMO4將無線傳感器網絡采集的數據轉發給PC機的監測軟件,PC機監測軟件對接收到的數據進行處理和分析.Socket通信關鍵類如下:

/*服務器IP地址和端口組合*/
ipep=new IPEndPoint(IPAddress.Parse(ServerIP), Port);
/*客戶端創建TCP套接字Socket*/
clientocket=new Socket(ipep.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
/*客戶端連接Socket服務器*/
clientSocket.Connect(ipep);
/*客戶端接收信息 */
clientSocket.Receive(inBuffer, 1024, SocketFlags.None);
/*客戶端關閉Socket */
clientSocket.Close();
/*服務器監聽客戶端的連接請求*/
serversocket.Listen();
/*服務器接收客戶端的連接請求*/
serversocket.Accept ();
遠程監測中心(上位機軟件)采用了基于Windows 7操作系統下的Visual Studio 2010 C#語言開發,主要用于檢測、分析、處理終端傳感器節點采集到的實時數據,實現對遠距離監測場景的實時監測.
測試過程中,Zigbee無線傳感器網絡由3個終端傳感節點和1個協調器,首先啟動協調器創建Zigbee網絡,隨后傳感器網絡的各個終端節點請求入網并啟動以太網模塊.打開上位機監測軟件設置Socket服務器的IP地址和端口號并請求連接.若連接成功后即可接收Zigbee終端傳感節點定時采集的環境參數,數據包長17位(協議頭、包長度、命令高/低位、源地址高/低位、命令ID高低/位、數據長度高/低位、溫度、電壓、信號強度、鏈路質量、父節點地址高/低位、校驗位),上位機將接收的數據先進行校驗再進行有效性檢查,舍棄無效數據,將數據轉換為16進制并把高低位合并等相關處理,完成處理過程后在界面上顯示準確的數據,如圖8所示.

系統結合了Zigbee和以太網,充分利用了Zigbee技術在實時數據采集方面的優勢與以太網在遠距離傳輸上的優點,解決了單獨采用Zigbee網絡在遠距離傳輸中的缺點和單獨采用以太網在布線方面的困難.在數據采集、數據傳輸和數據處理階段都進行合理設計,使對傳感節點實時數據的遠距離監測成為可能.本系統在環境監測、礦井安全監測、養殖場監測、建筑安全監測等方面都有很好的應用前景.
參考文獻:
[1] 李慧,高飛,王兵.HBE-ZigbeeX無線傳感器網絡平臺3種拓撲結構的TinyOS實現[J].云南民族大學學報:自然科學版,2011,20(1):46-47.
[2] 朱紅松,孫和民.無線傳感器網絡技術發展現狀[J].中興通訊技術,2009(5):1-5.
[3] 宋宗峰.無線傳感器網絡技術發展現狀及趨勢[J].數字技術與應用,2011(5):139-140.
[4] 董武,陸利坤,李業麗.基于W5300的以太網和串口數據相互轉換系統設計[J].制造業自動化,2013,35(2):139-142.
[5] 況淑青,王海英,鐘艷敏,等.以太網分布式測控系統在熱工實驗中的應用[J].核動力工程,2013,34(3):113-115.
[6] 楊陽.基于ARM的無線監控終端的研究與實現[D].北京:中國科學院研究生院,2011.
[7] 韓清華,李樹君,張云川,等.食用菌工廠化栽培環境的遠程監測系統[J].農業機械學報,2008,39(8):123-127.
[8] 文韜,洪添勝,李立君,等.基于無線傳感器網絡的橘小實蠅成蟲監測系統設計與試驗[J].農業工程學報,2013,29(24):147-154.
[9] 劉吉星,楊秀蔚,牟偉清.基于Zigbee技術和以太網的無線測控系統設計[J].可編程控制器與工廠自動化,2012(1):45-47.
[10] 劉軍,張金榜,于湘珍,等.基于CC2530的脈搏感知節點設計[J].電子技術應用,2013,39(1):34-35.
[11] 李正民,張興偉,柳宏川.基于CC2530的溫濕度監測系統的設計與實現[J].測控技術,2013,32(5):25-28.
[12] 劉生寒,盧有飛,肖建毅.B/S架構下應用系統從IPv4到IPv6的遷移技術研究[J].計算機與現代化,2013(2):209-212.
[13] 臧紹剛.梁晟.傅光軒.Socket網絡應用程序從IPv4向IPv6的轉換[J].通信學報,2005,27(Z1):24-25.