《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 一種氣象數(shù)據(jù)采集傳輸系統(tǒng)的設(shè)計(jì)
一種氣象數(shù)據(jù)采集傳輸系統(tǒng)的設(shè)計(jì)
來源:電子技術(shù)應(yīng)用2011年第3期
唐慧強(qiáng), 莊安榮
南京信息工程大學(xué) 信息與控制學(xué)院, 江蘇 南京210044
摘要: 針對(duì)氣象檢測(cè)的需求,提出了一種基于手機(jī)和無線傳感器網(wǎng)絡(luò)的數(shù)據(jù)采集和傳輸方案,詳述了系統(tǒng)設(shè)計(jì)的原理與軟硬件的實(shí)現(xiàn)方法。系統(tǒng)以無線通信模塊CC2430為采集節(jié)點(diǎn),利用傳感器采集數(shù)據(jù),通過ZigBee實(shí)現(xiàn)對(duì)采集數(shù)據(jù)的無線發(fā)送和接收,并通過J2ME編程在手機(jī)上實(shí)現(xiàn)了氣象參數(shù)的實(shí)時(shí)顯示、存儲(chǔ)和遠(yuǎn)程上傳。本設(shè)計(jì)具有組網(wǎng)靈活、低成本、功耗小、可靠性高等特點(diǎn)。
中圖分類號(hào): TP273
文獻(xiàn)標(biāo)識(shí)碼: B
文章編號(hào): 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


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

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

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

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

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

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

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

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