《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 一種氣象數(shù)據(jù)采集傳輸系統(tǒng)的設計
一種氣象數(shù)據(jù)采集傳輸系統(tǒng)的設計
來源:電子技術應用2011年第3期
唐慧強, 莊安榮
南京信息工程大學 信息與控制學院, 江蘇 南京210044
摘要: 針對氣象檢測的需求,提出了一種基于手機和無線傳感器網(wǎng)絡的數(shù)據(jù)采集和傳輸方案,詳述了系統(tǒng)設計的原理與軟硬件的實現(xiàn)方法。系統(tǒng)以無線通信模塊CC2430為采集節(jié)點,利用傳感器采集數(shù)據(jù),通過ZigBee實現(xiàn)對采集數(shù)據(jù)的無線發(fā)送和接收,并通過J2ME編程在手機上實現(xiàn)了氣象參數(shù)的實時顯示、存儲和遠程上傳。本設計具有組網(wǎng)靈活、低成本、功耗小、可靠性高等特點。
中圖分類號: TP273
文獻標識碼: B
文章編號: 0258-7998(2011)03-0082-04
Design of meteorological data collection and transmission system
Tang Huiqiang, Zhuang Anrong
College of Information & Control , Nanjing University of Information Science & Technology, Nanjing 210044 China
Abstract: Aiming at the requirement of meteorological data collection and transmission, the way of using mobile platform and wireless sensor network is presented. The design principles of the system, software and hardware are shown in details.The system took the CC2430 wireless communication module as the collection node , using the sensors to collect the data and ZigBee wirelessly sending and receiving the data. A J2ME program running on the mobile is used to display, strorage and remote upload the data. The design has features on flexible networking, low power consumption and high reliability.
Key words : data collection; data transmission; mobile platform; ZigBee; J2ME


    近年來,我國氣象災害頻發(fā),嚴重影響人民群眾的生活,尤其在交通方面有著較大的影響。依靠人工觀測來采集氣象數(shù)據(jù)不僅時效性差,而且無法適應偏僻、惡劣的環(huán)境條件,不能將采集到的各區(qū)域數(shù)據(jù)實時上傳給決策控制中心,因而有必要研制一種便攜、低功耗、數(shù)據(jù)通信穩(wěn)定的氣象數(shù)據(jù)采集系統(tǒng)。
    隨著傳感器向著智能化、網(wǎng)絡化方向的發(fā)展,無線網(wǎng)絡技術在自動氣象數(shù)據(jù)采集中得到了應用。利用ZigBee技術近距離、組網(wǎng)能力強、成本低及可靠性高的特點,使得氣象站中傳感器網(wǎng)絡部署的有效時間得到延長,增強了網(wǎng)絡的實用性,測量節(jié)點具有更長的生命周期。ZigBee技術自有的無線電標準,以接力的方式在多個測量節(jié)點之間相互協(xié)調(diào)實現(xiàn)通信,通信效率非常高,滿足了交通氣象參數(shù)采集傳輸?shù)男枰猍1]。同時隨著移動通信發(fā)展的寬帶化、數(shù)據(jù)化、多應用化,手機作用的領域已經(jīng)擴展到人們生活的很多方面。因此,將手機移動監(jiān)測和ZigBee無線傳輸網(wǎng)絡結合起來,并利用手機所具有的GPRS通信能力研制氣象數(shù)據(jù)采集傳輸系統(tǒng)具有一定的意義。
1 系統(tǒng)設計與實現(xiàn)原理
    本設計利用手機、ZigBee無線傳輸網(wǎng)絡、氣象數(shù)據(jù)采集檢測等設備開發(fā)出一個能實現(xiàn)氣象數(shù)據(jù)采集、存儲并實時上傳數(shù)據(jù)到上位服務器端的數(shù)據(jù)采集系統(tǒng)。其中手機負責接收來自ZigBee網(wǎng)絡的數(shù)據(jù),并對數(shù)據(jù)做出相應的判斷和處理;ZigBee無線傳輸網(wǎng)絡負責手機和數(shù)據(jù)采集檢測部分的通信;氣象數(shù)據(jù)采集檢測部分負責所在區(qū)域內(nèi)氣象參數(shù)的檢測、分析及處理。整個系統(tǒng)工作原理如圖1所示。

    系統(tǒng)的手機開發(fā)平臺采用MTK架構套件,它集成了32位嵌入式ARM7處理器,支持GPRS、GSM消息傳輸,并具有128個引腳外部擴展接口,可以連接各種功能外設,還支持用J2ME Java來控制硬件。通過在此手機平臺嵌入無線ZigBee射頻模塊,實現(xiàn)系統(tǒng)主控制器和各網(wǎng)絡子節(jié)點的數(shù)據(jù)采集傳輸。
    數(shù)據(jù)采集系統(tǒng)的硬件結構圖如圖2所示。

    無線網(wǎng)絡化傳感器RFD(精簡功能器件)模塊采集數(shù)據(jù)信息,并通過ZigBee通信協(xié)議傳輸?shù)紽FD(全功能器件)模塊;FFD模塊將數(shù)據(jù)信息做簡單處理、編碼打包后通過串口將數(shù)據(jù)上傳到手機平臺;手機數(shù)據(jù)處理功能程序?qū)庀髷?shù)據(jù)進行進一步的補充描述,在手機上實現(xiàn)氣象參數(shù)的顯示、存儲,并可通過手機的GPRS功能模塊以文本形式將數(shù)據(jù)實時上傳到服務器端。服務器端接收到現(xiàn)場數(shù)據(jù)進行進一步的處理后,提供決策支持,采取預防措施。
    所采集的氣象數(shù)據(jù)包括溫度、濕度、風速、降水、能見度、大氣壓力等。
2 系統(tǒng)硬件設計
    系統(tǒng)的硬件主要由基于CC2430的數(shù)據(jù)采集模塊和手機平臺兩部分組成。手機平臺要實現(xiàn)的硬件設計主要有:手機與CC2430的串口通信電路及GPIO電源控制設計;數(shù)據(jù)采集檢測部分主要由CC2430芯片、傳感器及外圍部件構成。
2.1 數(shù)據(jù)采集模塊設計
    數(shù)據(jù)采集模塊使用CC2430配合氣象傳感器實現(xiàn)數(shù)據(jù)的采集、傳輸,硬件連接圖如圖3所示。

    CC2430節(jié)點模塊主要由CC2430芯片和傳感器構成。ZigBee是一種基于LR-WPAN的雙向無線通信技術標準??梢怨ぷ髟?.4 GHz的ISM頻段,數(shù)據(jù)速率可達到250  kb/s。CC2430系統(tǒng)芯片就是以ZigBee技術為基礎的2.4 GHz射頻系統(tǒng)單芯片。以51單片機為核心,集成了收發(fā)通道,具有模數(shù)轉(zhuǎn)換器、21個可用數(shù)字IO接口,可以與多種參數(shù)傳感器進行直接連接。CC2430工作電流損耗為27 mA,適合本系統(tǒng)的工作低功耗要求。CC2430將氣象傳感器采集的數(shù)據(jù)經(jīng)模數(shù)轉(zhuǎn)換及數(shù)據(jù)處理后,將結果通過ZigBee無線傳感器網(wǎng)絡發(fā)送出去,以供手機接收使用。
    CC2430氣象數(shù)據(jù)采集傳輸模塊如圖4所示。

2.2 串口通信接口設計
    需要實現(xiàn)手機與CC2430模塊的數(shù)據(jù)通信。將CC2430制作為符合標準的擴展板,手機通過串口2與CC2430擴展板連接。應用的基本框架如圖5所示。在開發(fā)手機的UART的發(fā)送(UTXD)和接收腳(URXD),分別與CC2430的RXD、TXD引腳連接,構成兩者之間的數(shù)據(jù)傳輸。

3 平臺界面軟件設計與實現(xiàn)
    MTK手機平臺可使用C語言、JAVA語言進行開發(fā),其中使用JAVA語言開發(fā)的軟件具有通用性強、方便移植、開發(fā)周期短等優(yōu)點。本文平臺界面設計采用Sun J2ME Wireless Toolkit(WTK)開發(fā)工具配合EclipseME開發(fā)組件來設計。將實現(xiàn)一個基于J2ME/MIDP的客戶前端,利用GPRS建立數(shù)據(jù)傳輸網(wǎng)絡的氣象數(shù)據(jù)采集系統(tǒng)。
3.1 界面程序設計分析
    本設計的客戶端程序整體上參照MVC模式設計,將界面、數(shù)據(jù)、控制分為不同的模塊,實現(xiàn)的主要功能有參數(shù)設置、串口監(jiān)視、GPRS數(shù)據(jù)上傳和參數(shù)監(jiān)測界面四大部分,它們分別基于J2ME不同包類庫和支持JNI操作的包派生而成。
    (1)參數(shù)設置功能部分: 用來實現(xiàn)手機平臺功能的設置管理,如設置GPRS參數(shù)、設置系統(tǒng)時間、背光顯示、ZigBee芯片可用信道等,可將用戶設置的信息使用MIDP中的RMS系統(tǒng)來保存在本地數(shù)據(jù)庫中。這一功能部分基于LIST部件類擴展設計,其中的參數(shù)類型為EXCLUSIVE,即每次只能選擇列表中的單個項目。
  (2)串口監(jiān)視部分: 當界面切換到氣象數(shù)據(jù)采集界面時,通過任務接口定時讀寫串口,查看CC2430是否有數(shù)據(jù)上傳,并將數(shù)據(jù)存入數(shù)據(jù)隊列中,供顯示界面調(diào)用。實現(xiàn)這部分功能需要實現(xiàn)程序線程Thread,Thread有兩種方法來創(chuàng)建線程,一個是定義繼承Thread類的子類,另一個是實現(xiàn)Runnable接口。本部分中主要使用實現(xiàn)Runnable接口這種方法。
  (3) GPRS數(shù)據(jù)上傳部分: 將CC2430上傳來的數(shù)據(jù)以文本格式或其他形式發(fā)送到上一層的決策控制中心。SUNW公司對MMS和SMS提供了JSR205和JSR102支持。其中定義的框架包含無線消息的可用API,實現(xiàn)了無線通信的高級抽象,將傳輸層完全隱藏,方便了設計。
    (4)參數(shù)監(jiān)測界面: 用來顯示傳感器采集到的氣象參數(shù)數(shù)據(jù),顯示可以配以文本、圖片等信息,需要顯示的氣象參數(shù)有溫度、濕度、風速、能見度、降水量、雪深、大氣壓等。界面采用Canvas類編程設計。此界面還可根據(jù)要求添加報警等預警功能,如降水量達到某一預定值,則給予聲音、文字等預警顯示。
3.2 設計與實現(xiàn)
    J2ME的MIDP(Mobile Information Device Profile)包含的系統(tǒng)架構和Java類為小型、資源受限的移動信息設備(MID)創(chuàng)建了一個開放的應用程序環(huán)境。MIDP應用程序中的基本執(zhí)行單元叫做 “MIDlet”,它必須繼承自javax.microedition.midlet.MIDlet類并實現(xiàn)類中包含的三個抽象方法:startApp(),pauseApp(),destroyApp()。在J2ME手機軟件開發(fā)中,程序必須至少包含一個MIDlet類,通常初始化用戶界面的程序應該放在startApp()中執(zhí)行 [2]。
3.2.1 網(wǎng)絡連接部分設計
    J2ME的連接及網(wǎng)絡API位于包javax.microedition.io中,這些API接口包含HttpConnection, SocketConection, InputConnection,OutputConnection,ServerSocketConnection等,它們是在通用連接框架上的擴展實現(xiàn)。Connection類是最基本的通用連接類型,只定義了close()一個方法用于關閉連接,而創(chuàng)建連接的操作使用Connector類的open()方法實現(xiàn)。
    本設計示例中使用的HTTP協(xié)議進行網(wǎng)絡通信,HttpConn線程要完成如下工作。
    首先,在界面程序的初始化時,將HttpConn線程實例化,并設置線程處于休眠等待狀態(tài)??紤]到連接上層需要花費一定的等待時間,可用窗體Form和標尺Guage設置一個等待連接界面,之后使用notify()喚醒線程,同時讀取預先設置好的URL地址,連接上層服務器。如果連接超時或沒有收到上層返回的HttpConnection.HTTP_OK響應,則向用戶報告“連接超時”錯誤。若連接成功,則啟動定時器讀取數(shù)據(jù),裝載之后準備將數(shù)據(jù)上傳。上傳工作完畢后,線程再次進入休眠狀態(tài),直到下一次再用notify()喚醒HttpConn線程[3]。GPRS網(wǎng)絡連接的流程如圖6所示。

3.2.2 參數(shù)監(jiān)測顯示部分設計
    這部分實現(xiàn)將采集的氣象信息數(shù)據(jù)顯示,處于此界面時,程序定時從數(shù)據(jù)隊列中讀取需要顯示的部分,可使用Timer與TimerTask類來設計完成這部分功能。Timer類是一個定時器,可以設定成按指定的時間周期或時間來產(chǎn)生信號,TimerTask類代表一個可以被定時器進行時間控制的任務[4]。這樣將這兩個類產(chǎn)生關聯(lián),在產(chǎn)生信號的同時,連帶執(zhí)行TimerTask所定義的工作。本文設計示例中編寫的MeterDispTask類同時繼承了Canvas、TimerTask類,并在run()方法中實現(xiàn)從數(shù)據(jù)隊列讀取數(shù)據(jù)并調(diào)用數(shù)據(jù)顯示功能。通過Timer的schedule()方法設定數(shù)據(jù)刷新的時間周期,并將它與MeterDispTask關聯(lián),一旦設定的時間到,則MeterDispTask中的run()方法就被執(zhí)行,界面可以刷新顯示氣象數(shù)據(jù)信息。Canvas類為低級用戶界面,需要實現(xiàn)paint()方法。
    數(shù)據(jù)采集系統(tǒng)的一些參數(shù)預設信息需要保留,因此可采用J2ME中提供的記錄管理系統(tǒng)RMS(Record Management System)來處理數(shù)據(jù)參數(shù)的持久化問題。RMS為一個小型的數(shù)據(jù)庫管理系統(tǒng),使用類似表格的簡單形式組織信息,并存儲起來形成持久化存儲,以供應用程序在以后重新啟動后繼續(xù)調(diào)用[5]。記錄存儲系統(tǒng)類在javax.microedition.rms包中,RecordStore類中包含相關應用的方法。界面應用程序在WTK下的仿真器中運行。經(jīng)啟動畫面后進入主界面,可以選擇相應功能菜單進入。
    本系統(tǒng)采用J2ME手機平臺和CC2430無線通信模塊,針對氣象要素數(shù)據(jù)采集的需求,實現(xiàn)了數(shù)據(jù)采集通信系統(tǒng)的軟硬件的設計。通過手機和ZigBee技術,可以靈活方便地實現(xiàn)對區(qū)域內(nèi)氣象參數(shù)的采集和傳輸。在數(shù)據(jù)采集過程中采用了無線傳感器網(wǎng)絡技術以及GPRS遠程無線移動傳輸技術,避免了傳統(tǒng)氣象數(shù)據(jù)采集布線復雜問題。同時設計中選用的CC2430芯片具有性能高、功耗低的特點,簡化了外圍接口電路的設計。在測試中,數(shù)據(jù)可以穩(wěn)定可靠的傳輸,能滿足應用場合的使用要求。本系統(tǒng)不僅可以應用于氣象數(shù)據(jù)觀測中,通過增加使用不同的傳感器,也能應用于環(huán)境、智能家居等領域。
參考文獻
[1] 于宏毅,李鷗.無線傳感器網(wǎng)絡理論、技術與實現(xiàn)[M].北京:國防工業(yè)出版社,2008:2-3.
[2] 盧軍,岳希,周輝. J2ME程序設計[M].北京:中國水利水電出版社, 2009:75-90.
[3] 吳考琴.JAVA手機在污染源數(shù)據(jù)采集中的應用研究.微計算機信息[J].2009,26(5):93-95.
[4] 牟伶俐,劉鋼.基于JAVA手機的野外農(nóng)田數(shù)據(jù)采集與傳 輸系統(tǒng)設計[J].農(nóng)業(yè)工程學報,2006,22(11):165-169.
[5] 劉鵬輝.基于GSM和J2ME的無線多點溫濕度監(jiān)控系統(tǒng)的設計與實現(xiàn)[J].激光與紅外,2009,39(12):1333-1336.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載。