王 濤
(中國電子科技集團公司第20研究所,西安 710068)
?
一種無線傳感器網絡數據采集系統的設計與實現
王濤
(中國電子科技集團公司第20研究所,西安 710068)
摘要:提出了一種無線傳感器網絡數據采集系統的設計方法,并以溫度數據采集為例,介紹了該系統的軟硬件實現方法。系統使用短距無線傳輸與遠距離以太網傳輸將多個傳感器數據傳輸到后臺監測中心,并在后臺監測程序開發中使用監視與控制通用系統(MCGS)組態軟件實現數據的可視化。本系統通用性強,只要更換傳感器就可實現對任意傳感器數據的采集,可滿足各種使用需要。
關鍵詞:數據采集;傳感器;監視與控制通用系統
1技術背景
隨著傳感器技術的廣泛使用,傳感器被布放于各種環境下以獲取人們關心的物理量(如溫度、氣壓、場強等)。傳統嵌入式傳感器數據采集系統使用微控制單元(MCU)將傳感器原始數據采集后通過有線信道如通用異步收發傳輸器(UART)或以太網傳輸至后臺處理程序,由后臺處理程序對傳感器數據進行解算、保存、分析等操作。筆者基于MSP430、S3C2440處理器與無線數傳模塊,提出了一種典型的無線傳感器網絡數據采集系統。與傳統傳感器數據采集系統相比,該系統具有開發周期短、實時性高、環境適應性強、可拓展性強等特點,并以溫度采集為例進行了系統實現。
2系統組成概述
本系統由數據采集前端以及后臺監測端組成。數據采集前端包括無線數據采集節點和數據集中器。后臺監測端是安裝于PC上的監測程序。多個無線數據采集節點收集的數據會被發送到數據集中器,由數據集中器處理之后通過以太網發往后臺監測PC。
2.1無線數據采集節點
無線數據采集節點以MSP430超低功耗處理器為核心,配有高速無線收發模塊。在接收到數據集中器的數據采集指令后,獲取傳感器數據,通過高速無線收發模塊向數據集中器發送傳感器數據。由于MSP430芯片具有超低功耗性能,使得無線數據采集節點可以使用電池供電,這樣無線數據采集節點可以被安裝到不便布線的特殊環境中。
2.2數據集中器
數據集中器的核心是一塊基于S3C2440處理器的嵌入式數據處理板,數據集中器通過輪詢方式訪問多個無線數據采集節點,在獲取到足夠多的數據之后通過以太網將數據組幀發至后臺監測軟件。通常在每個數據監測點配置一個無線數據采集節點,數個無線數據采集節點則需要配置一個數據集中器用以將數據進行更遠距離的傳輸。
2.3后臺監測中心
后臺監測中心開始運行后,會不斷向連接到以太網上的遠端數據集中器發送數據請求指令,遠端數據集中器將自己所處范圍內的數據采集節點的數據通過以太網傳輸給后臺監測軟件。多個數據集中器的數據通過以太網傳輸到后臺監測中心,監測中心對數據進行實時存儲、分析。
3系統硬件設計
系統的硬件設計主要包括數據采集節點和數據集中器的設計。以溫度采集為例,溫度采集節點采用TI公司的MSP430處理器和利爾達LSDRF2401M05無線透傳模塊,溫度數據來源于MSP430處理器[1]內置溫度傳感器。溫度集中器使用三星S3C2440處理器和利爾達LSDRF2401M05無線透傳模塊開發。示例系統的開發目的是要對距離較遠的多個建筑內的機房溫度進行監測,如圖1所示,在每個機房安裝一個無線溫度采集節點,在每個建筑安裝一個溫度集中器用于收集本建筑內無線采集節點的數據,所有溫度集中器都通過以太網與后臺監測中心連接。

圖1 系統結構圖
3.1溫度采集節點
溫度采集節點使用MSP430G2231作為主芯片,由于MSP430G2231芯片沒有內置的UART接口資源,需要用2個通用輸入/輸出(GPIO)口模擬UART接口,模擬UART與利爾達LSDRF2401M05無線透傳模塊連接,可以將溫度數據發送至溫度集中器。
MSP430G2231是一種通用型的超低功耗單片機,由于其功耗低、成本低,非常適合本系統的應用。超低功耗的特性使單片機內部溫度和外部溫度基本相等,因此在溫度采集節點的電路設計時沒有外接單獨的傳感器模塊,而是以單片機內部溫度傳感器的數據加以修正,作為室內溫度值。
LSDRF2401M05是一種串口無線透傳模塊,工作在2.4 GHz全球工業、科學、醫學(ISM)頻段,只需通過串行通信接口(UART)對模塊進行簡單的配置,就可以實現無線數據的收發功能,具有1.2~500 kBps的數據傳輸速率。
電路原理圖如圖2所示,溫度采集節點實物圖如圖3所示。

圖2 溫度采集節點原理圖

圖3 溫度采集節點實物圖
3.2溫度集中器
溫度集中器使用基于S3C2440處理器的ARM9數據處理板,并運行Wince 6.0系統,S3C2440的串口與LSDRF2401M05無線透傳模塊連接,可以接收多個溫度采集節點上傳的溫度數據,集中處理后通過網絡接口傳送至遠程監測中心。
電路原理圖如圖4所示,溫度集中器實物圖如圖5所示。

圖4 溫度集中器原理圖

圖5 溫度集中器實物圖
4系統軟件設計
系統的軟件設計主要包括:溫度采集節點的程序設計、溫度集中器的軟件設計和遠程監測中心的軟件設計。
4.1溫度采集節點程序設計
MSP430的程序開發使用IAR公司的Embedded Workbench for MSP430作為開發環境。開發語言使用單片機C語言。由于MSP430G2231屬于低端系列產品,沒有串口,需要通過Timer_A定時器產生波特率時鐘,再通過IO口來模擬串口的收發。圖6為Timer_A模擬串口收發流程圖。

圖6 Timer_A模擬串口收發流程圖
4.2溫度集中器軟件設計
溫度集中器程序是使用VS2005開發的智能設備MFC程序,主要功能是與后臺監測程序建立TCP連接、接收遠程后臺的數據請求幀、輪詢訪問無線溫度傳感器模模塊、向遠程后臺發送溫度數據幀,具體流程如圖7所示。溫度集中器與遠程后臺之間的通信遵循Modbus TCP協議[2]。

圖7 溫度采集節點程序流程圖
由于溫度集中器與各個無線溫度采集節點的通信是在同一頻率上進行,溫度集中器發出的數據請求幀采用廣播方式發出,為了使得溫度集中器可以成功輪詢每一個無線溫度采集節點,溫度集中器以及每一個無線溫度采集節點都被設置一個ID,ID的分配如表1所示。

表1 設備ID分配
溫度集中器與無線溫度采集節點相互通信的幀中帶有源ID域和目的ID域,任何一方收到一幀數據后,只有當該幀的目的ID域值與本地ID匹配時才會進行后續的處理,否則拋棄該幀。幀的結構如圖8所示。
由于無線信道本身的不可靠性,溫度集中器與無線溫度采集節點之間的通信使用停等自動重傳請求(ARQ)的方式,當溫度集中器等待無線溫度采集節點回傳數據幀頻繁超時,或者無線溫度采集節點回傳的數據幀頻繁校驗出錯則將異常信息發送至后臺監測軟件。
溫度集中器初始化后首先會作為傳輸控制協議(TCP)服務器端監聽指定的端口,等待后臺監測軟件建立TCP連接并等待接收數據請求幀,由于TCP連接提供可靠的數據傳輸服務,所以幀中不再含有循環冗余碼校驗(CRC)域,幀的結構必須符合Modbus TCP協議規范,幀結構如圖9和圖10所示。

圖8 溫度集中器與溫度采集節點通信的幀格式

圖9 監測軟件發送的數據請求幀格式

圖10 溫度集中器回傳的數據幀格式
在本系統中用到Modbus TCP協議中數據請求幀和數據幀,數據請求幀中的“讀寄存器開始位置”與“讀寄存器個數”域不再具有其本來的含義,集中器中的程序會將其解析為其他的意義。集中器收到數據請求幀之后,就會逐一輪詢下游的溫度采集節點,獲取溫度與傳感器狀態信息,組幀回傳給監測軟件。集中器的工作流程如圖11所示。

圖11 溫度集中器軟件流程圖
4.3后臺監測軟件設計
后臺監測程序運行于PC,使用北京昆侖通態公司研發的MCGS 6.2通用版組態軟件開發[3],該軟件具有良好的動態顯示界面以及完善的數據庫操作功能,是當前主流的數據采集后臺監測開發軟件。通過為項目添加“通用TCP/IP父設備”與“標準Modbus TCP子設備”驅動,就可以實現與支持Modbus TCP協議的下位機通信。
本系統的后臺監測程序主要功能有:獲取溫度集中器溫度與傳感器狀態數據、顯示實時溫度、溫度超標自動警報、歷史溫度數據查詢等。
(1) 顯示實時溫度與傳感器狀態
程序啟動之后會自動建立與溫度集中器的TCP連接,按照指定的采樣周期向溫度集中器發送數據請求幀,如在采樣超時之前收到溫度集中器回傳的數據,則將數據更新至面板與數據庫。
通過將MCGS中用戶自建數據對象與標準Modbus TCP 子設備的數據通道相連接,MCGS就可將每次收到的數據幀更新至與之關聯的數據對象,設置方法如圖12所示。MCGS軟件同時提供了豐富的顯示控件,包括各類儀表、實時曲線、自由表格等,開發者只需將顯示控件與數據對象相關聯,顯示控件就可以實時顯示數據對象的數值變化情況。

圖12 設置數據對象與Modbus TCP通道的連接
(2) 溫度超標自動警報
溫度超標自動警報的實現使用的是MCGS 6.2軟件自帶的數據對象自動警報功能,只需為相應的數據對象設置報警屬性并與相應的顯示構件關聯就可以實現溫度超限自動警報、歷史警報數據存儲等功能。
MCGS中的任意數值型數據對象都可以設置報警屬性,設置界面如圖13所示,勾選了“允許進行報警處理”并設置了相應的報警限值之后,系統就會在相應的數據對象值超出限值時自動響應,顯示效果如圖14所示。

圖13 為數據對象設置報警屬性

圖14 后臺監測程序房間1實時溫度與警報信息
(3) 歷史溫度數據
通過為工程添加“溫度歷史數據報表”用戶策略并在策略行中添加“存盤數據瀏覽”策略工具即可實現對于存儲于Access數據庫中的歷史溫度數據的瀏覽。
5結束語
本系統共使用了25個無線溫度采集節點與5個溫度集中器,后臺監測軟件可實現單個溫度采集節點數據300 ms以內的數據更新。只要更換采集節點傳感器,該系統就可改造為任意傳感器數據采集系統,滿足復雜的傳感器數據采集需求。
參考文獻
[1]鄧鵬,隋波.基于MSP430單片機的多通道數據采集系統[J].艦船電子工程,2009(3):168-170.
[2]金青,戴勝華,歐陽勁松.基于Modbus/TCP的工業以太網通信[J].儀器儀表標準化與計量,2006(1):22-24.
[3]梁偉棟,郭浩.MCGS組態軟件設計及其應用[J].廣東自動化與信息工程,2005(1):33-35.
Design and Realization of A Data Collection System for Radio Sensor Network
WANG Tao
(The 20th Research Institute of CETC,Xi'an 710068,China)
Abstract:This paper puts forward a kind of design method of data collection system for radio sensor network,and introduces the soft/hardware realization methods of the system taking temperature data collection as an example.The system uses short-distance radio transmission and long-distance ethemet network transmission to transmit multiple sensor data to background monitoring center,and uses monitor and control general system to realize data visualization in background monitoring program development.The system has good generality,can realize the collection to random sensor data if only the sensor is changed,and can satisfy all kinds of usage demands.
Key words:data collection;sensor;monitor and control general system
收稿日期:2016-02-18
中圖分類號:TP212
文獻標識碼:A
文章編號:CN32-1413(2016)02-0099-06
DOI:10.16426/j.cnki.jcdzdk.2016.02.025