《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應用 > 基于藍牙的CSAMT數(shù)據(jù)手機監(jiān)測系統(tǒng)設(shè)計
基于藍牙的CSAMT數(shù)據(jù)手機監(jiān)測系統(tǒng)設(shè)計
電子技術(shù)應用2014年第6期
周文全,孫彩堂,周逢道,劉長勝
(吉林大學 儀器科學與電氣工程學院,吉林 長春130026)
摘要: CSAMT 法野外探測工作中存在現(xiàn)場監(jiān)測數(shù)據(jù)不方便等問題。針對此問題,通過在采集站中嵌入藍牙模塊,在采集CSAMT數(shù)據(jù)的同時,利用藍牙協(xié)議將數(shù)據(jù)以特定格式傳輸?shù)紸ndroid手機端。在手機端,首先基于各向異性擴散算法實現(xiàn)對接收到數(shù)據(jù)的平滑濾波,然后將數(shù)據(jù)以曲線的形式顯示在屏幕上,從而實現(xiàn)了數(shù)據(jù)的實時監(jiān)測。該系統(tǒng)便于工作人員在測量過程中及時發(fā)現(xiàn)問題,在應用中得到了較好的效果。
中圖分類號: TN919
文獻標識碼: A
文章編號: 0258-7998(2014)06-0007-03
Design of CSAMT data monitoring system in cellphone based on Bluetooth
Zhou Wenquan,Sun Caitang,Zhou Fengdao,Liu Changsheng
College of Instrumentation and Electrical Engineering, Jilin University, Changchun 130026,China
Abstract: In the work of CSAMT detection, the problem is that it is not convenient to monitor data in the field. To solve this problem, Bluetooth modules were embedded in the acquisition stations, so the system can transmit the CSAMT data to Android cellphone in certain format while collecting data. In the cellphone terminal, it firstly preprocesses received data using anisotropic smoothing algorithm, and then displays them on the screen in curve format, so the real-time data monitoring is realized. The system can help the persons to find out the problems in time, and it performs perfectly in application.
Key words : CSAMT method;Android;Bluetooth;curve smoothing;real-time monitoring

       可控源音頻大地電磁測深CSAMT[1](Controlled Source Audio Magnetotellurics)法通過同步發(fā)射接收一組不同頻率的信號,測量大地的復電阻頻譜,從而得到地下不同深度介質(zhì)電阻率的變化規(guī)律。

        在CSAMT法勘探過程中,需要根據(jù)探測目標布置發(fā)射源。在接收端,要將儀器放置到各采集點,在大部分情況下,工作人員只能通過步行的方式將設(shè)備送到采集點。這些特點決定了對數(shù)據(jù)進行補測要浪費大量的人力和物力,因此,迫切需要能夠在工作現(xiàn)場或遠程實時監(jiān)測采集的數(shù)據(jù)質(zhì)量,以便工作人員及時發(fā)現(xiàn)采集過程中發(fā)生的問題并分析原因,盡早采取相應措施。
        目前,加拿大鳳凰公司的V8采用TDMA進行各站之間的數(shù)據(jù)傳輸;吉林大學儀器科學與電氣學院自主研發(fā)的JLEMI[2]分布式采集系統(tǒng)采用了GPRS,可以在遠程工作站實時監(jiān)測采集的數(shù)據(jù)。這些方法依賴于移動網(wǎng)絡(luò),在信號質(zhì)量不好的情況下工作會受到影響,甚至無法監(jiān)測。
        除了移動網(wǎng)絡(luò)之外,現(xiàn)在應用比較廣泛的無線傳輸技術(shù)[3]有ZigBee、紅外線數(shù)據(jù)傳輸、WiFi等。但當前的手機中很少直接支持ZigBee,紅外線數(shù)據(jù)傳輸方式要求進行傳輸?shù)脑O(shè)備之間必須對準,而且中間不能有阻擋。藍牙是一種支持設(shè)備短距離通信(一般10 m內(nèi))的無線電技術(shù),采用分散式網(wǎng)絡(luò)結(jié)構(gòu)以及快跳頻和短包技術(shù),支持點對點及點對多點通信,工作在全球通用的2.4 GHz ISM頻段,其數(shù)據(jù)速率為1 Mb/s,采用時分雙工傳輸方案實現(xiàn)全雙工傳輸,現(xiàn)在手機、平板電腦等基本都配置了藍牙設(shè)備。
        基于上述分析,本文采用藍牙無線傳輸技術(shù)[4],實現(xiàn)了采集站與Android手機間的數(shù)據(jù)傳輸。通過在采集站中嵌入藍牙模塊,在采集數(shù)據(jù)的同時,將數(shù)據(jù)以特定格式發(fā)送到手機中,在手機端對接收到的數(shù)據(jù)進行預處理并實時顯示。將該系統(tǒng)應用到JLEMI工作過程中,為工作人員帶來了很多便利。
1 系統(tǒng)組成
        本系統(tǒng)由CSAMT采集站與Android手機端組成,二者通過藍牙協(xié)議[5]進行數(shù)據(jù)和指令的傳輸,如圖1所示。其中采集站安裝Windows操作系統(tǒng),主要負責數(shù)據(jù)采集,并通過嵌入的藍牙模塊將采集的數(shù)據(jù)傳輸?shù)绞謾C端;手機端接收數(shù)據(jù),并對數(shù)據(jù)進行平滑預處理,然后以曲線的形式顯示在屏幕上,提供給工作人員進行實時監(jiān)測。

                                       

                                                                        圖1  系統(tǒng)組成示意圖

2 采集站
        本系統(tǒng)中采集站[6]主要負責數(shù)據(jù)采集,并對采集的數(shù)據(jù)進行簡單預處理,將原始數(shù)據(jù)和預處理結(jié)果保存到本地磁盤中。除此以外,還可以通過嵌入的藍牙模塊將預處理結(jié)果傳輸?shù)绞謾C端。
        采集站啟動后,首先開啟藍牙設(shè)備并監(jiān)聽手機端接入請求。當有手機接入后,開啟新的線程并監(jiān)聽處理手機端發(fā)來的命令。如果手機端需要監(jiān)測數(shù)據(jù),則必須首先向采集站發(fā)送相應指令。當采集站收到指令后,讀取采集到的數(shù)據(jù),按照自定義的協(xié)議進行封裝,并向手機端傳輸。在數(shù)據(jù)傳輸期間,手機可以通過向采集站發(fā)送命令,控制數(shù)據(jù)傳輸?shù)臅和Ec退出。
        采集站端采用了開源庫bluecove[7]實現(xiàn)對藍牙模塊編程,并引入jdom.jar包實現(xiàn)對xml文件的讀取與解析[8]。
3 手機端
        當前應用比較廣泛的手機操作系統(tǒng)包括Android、iOS、BlackBerry和Windows Phone等。市場研究公司Strategy Analytics在2013年11月1日發(fā)表報告稱,2013年第3季度全球智能手機出貨量在2012年同期的1.728億部基礎(chǔ)上增長45%,達到2.514億部,其中Android市場份額為81.3%,成為現(xiàn)在的主流手機操作系統(tǒng)。因此本系統(tǒng)的手機端基于Android操作系統(tǒng)開發(fā)。
        目前,市面上已經(jīng)存在許多基于Android操作系統(tǒng)的應用軟件,如基于藍牙的健康服務終端應用軟件、基于GPRS通信的遠程監(jiān)控應用軟件以及基于各種通信協(xié)議的應用軟件等,這些應用軟件給現(xiàn)代生活帶來了極大便利。
3.1 工作流程
        本系統(tǒng)的手機端應用程序包含1個Service和2個Activity。其中Service在后臺運行,其作用是監(jiān)聽本手機端的狀態(tài),當有事件產(chǎn)生時,與2個Activity產(chǎn)生交互,控制程序的運行。主Activity控制程序初始化、數(shù)據(jù)接收、預處理和曲線繪制;Activity2的作用是搜索周圍的藍牙設(shè)備,顯示搜索結(jié)果,接受用戶選擇,并將選擇結(jié)果傳遞給主Activity。手機端程序流程圖如圖2所示。

                                                           

                                                                            圖2  手機端整體流程圖
        (1)啟動藍牙
        首先檢查手機是否支持藍牙,如果支持,則獲取藍牙適配器對象,并在AndroidManifest中申明藍牙使用權(quán)限,開啟藍牙。
        (2)搜索采集站藍牙設(shè)備
        在手機端搜索采集站藍牙設(shè)備前,先要設(shè)置采集站端藍牙設(shè)備可見,以便手機端發(fā)現(xiàn)采集站藍牙設(shè)備進行配對。手機端通過使用BluetoothAdapter的startDiscovery()方法來搜索藍牙設(shè)備,在這個過程中,系統(tǒng)會發(fā)送以下3個廣播:
        ACTION_DISCOVERY_START:開始搜索
        ACTION_DISCOVERY_ FINISHED:搜索結(jié)束
        ACTION_FOUND:找到設(shè)備
        手機端可以注冊相應的BroadcastReceiver對象來接收相應的廣播,以便做出響應。
        (3)請求建立連接
        手機端搜索到采集站藍牙設(shè)備后,可以獲取其BluetoothService,然后利用listenUsingRfcomm_WithServiceRecord(String, UUID)方法獲取對應的BluetoothSocket,最后調(diào)用BluetoothSocket的connect()方法請求連接。如果手機端的UUID同采集站藍牙設(shè)備的UUID匹配,并且連接被采集站端藍牙設(shè)備接受,則連接成功。
        (4)接收指令和數(shù)據(jù)
        請求連接成功后,手機端和采集站的藍牙設(shè)備分別監(jiān)聽端口。當手機端向采集站發(fā)送一個讀取數(shù)據(jù)指令,采集站收到該指令后,首先根據(jù)自定義的協(xié)議對數(shù)據(jù)進行封裝,然后利用藍牙協(xié)議傳輸?shù)绞謾C端。手機端的主Activity監(jiān)聽數(shù)據(jù)端口,當接收到數(shù)據(jù)后,對其進行解析,得到發(fā)送的原始數(shù)據(jù),為后期的數(shù)據(jù)預處理和曲線繪制做準備。
        (5)對接收到的數(shù)據(jù)進行繪圖顯示,其中可以通過選項來控制是否需要在顯示之前對數(shù)據(jù)進行平滑。
3.2 曲線繪制
        本系統(tǒng)選擇開源類庫Achartengine[9]作為繪圖工具。該類庫針對Android系統(tǒng)開發(fā),易于二次開發(fā),能夠繪制折線圖、餅狀圖、柱狀圖等多種曲線。在本系統(tǒng)中,數(shù)據(jù)以折線圖的形式顯示。
        對于CSAMT數(shù)據(jù)曲線,由于發(fā)射頻率和幅值都相差多個數(shù)量級,因此,需要以對數(shù)坐標的形式顯示。而Achartengine不直接支持對數(shù)坐標,本文通過對坐標軸的改進,實現(xiàn)了自定義坐標軸,從而實現(xiàn)了數(shù)據(jù)的對數(shù)顯示。主要步驟如下:
        (1)將x軸改造為對數(shù)坐標
        利用addXTextLabel函數(shù)實現(xiàn)x軸坐標轉(zhuǎn)換,該函數(shù)的基本格式為:addXTextLabel(double x,String text),其中x為x軸坐標點,text為轉(zhuǎn)換后顯示在x點的坐標值,如果不顯示,則可以設(shè)為空。x和text之間的關(guān)系為x=log10(text)。利用該方法,可以添加一系列的x軸對數(shù)坐標點。
        (2)將y軸改造為對數(shù)坐標
        原理和x軸相同,利用addYTextLabel(double y,String text)函數(shù)實現(xiàn)y坐標轉(zhuǎn)換。
        (3)數(shù)據(jù)顯示
        將接收到的數(shù)據(jù)轉(zhuǎn)換成對數(shù),并利用series.add()添加到繪圖中顯示。圖3顯示了手機中基于Achartengine繪制的數(shù)據(jù)曲線圖。因為本系統(tǒng)所應用的采集站有4個通道,所以共有8條曲線,包括4條幅頻特性曲線(上半部分)與4條相頻特性曲線(下半部分)。

                                  

                                                                  圖3  采集數(shù)據(jù)的曲線圖
        Achartengine為靜態(tài)繪圖,為達到實時更新的動態(tài)效果,需要對其進行動態(tài)刷新,即每當有新數(shù)據(jù)到來時,便進行一次點集的更新和繪圖的刷新。點觸曲線中某點,可以顯示該點對應的值,方便現(xiàn)場分析和判斷。
3.3 曲線平滑濾波
        CSAMT法測量過程中,容易受到噪聲的干擾,在數(shù)據(jù)中出現(xiàn)“飛點”現(xiàn)象,會對后期的數(shù)據(jù)處理造成極大的干擾,甚至導致假結(jié)果。本文使用基于各向異性擴散的濾波方法[10]對數(shù)據(jù)進行預處理,算法模型為:
      
       該方法以梯度的降函數(shù)做擴散速度,在梯度大的點擴散量較小,在梯度小的點擴散量較大,其優(yōu)點是在濾除噪聲的同時能保護曲線的局部特征。梯度的降函數(shù)相當于邊界保護函數(shù)的作用,如式(2)所示:
      
其中,k為閾值參數(shù)。
        利用該算法對數(shù)據(jù)進行平滑的效果如圖4所示。

                                               圖4  基于各向異性擴散算法的數(shù)據(jù)平滑效果圖
        本文根據(jù)CSAMT法工作環(huán)境的特點,將藍牙無線數(shù)據(jù)傳輸技術(shù)引入CSAMT法的數(shù)據(jù)采集過程中,手機端在接收到采集數(shù)據(jù)后可以進行平滑處理,并通過對Achartengine類庫中坐標軸的改進,實現(xiàn)對數(shù)坐標顯示,在實際應用中得到了較好的效果。本系統(tǒng)既有利于進行CSAMT數(shù)據(jù)的集中監(jiān)測,也可以為現(xiàn)場工作人員觀察數(shù)據(jù)采集質(zhì)量、判斷故障點提供參考和支持,提高其工作效率。本系統(tǒng)的應用可以使采集設(shè)備不再配備顯示屏,有助于進一步減小體積,降低功耗。
        藍牙的數(shù)據(jù)傳輸距離有限,不能達到遠距離數(shù)據(jù)監(jiān)測的目的,下一步工作是基于GPRS或WiFi無線傳輸技術(shù),實現(xiàn)手機中的遠距離數(shù)據(jù)監(jiān)測。
參考文獻
[1] 湯井田,何繼善.可控源音頻大地電磁法及其應用[M].長沙:中南大學出版社,2005.
[2] 張文秀.CSAMT與IP聯(lián)合探測分布式接收系統(tǒng)關(guān)鍵技術(shù)研究[D].長春:吉林大學,2012.
[3] 石明明,魯周迅.三種無線通信協(xié)議綜述[J].通信技術(shù),2011,7(44):0072-0073.
[4] 楊瑞.基于藍牙通信的短信平臺設(shè)計與實現(xiàn)[J].計算機應用與軟件,2011,2(28):218-219.
[5] 錢志宏,劉丹.藍牙技術(shù)數(shù)據(jù)傳輸綜述[J].通信學報,2012,4(33):0143-0152.
[6] 陳健.寬頻帶時頻電磁接收機關(guān)鍵技術(shù)研究[D].長春:吉林大學,2012.
[7] BRUCE H,RANJITH A.Bluetooth for java[M].Berkeley:Apress,2003.
[8] 方躍堅,余枝強,翟磊,等.一種混合并行XML解析方法[J].軟件學報,2013,24(9):1196-1206.
[9] Google.Achartengine-Charting library for Android Google Project[EB/OL].(2010-08)[2013-12-10].http://code.google.com/p/achartengine.
[10] 嚴家斌,劉貴忠.基于各向異性擴散的ROBUST阻抗估計方法[J].地球物理學進展,2007,22(5):1403-1407.

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