《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于蓝牙的CSAMT数据手机监测系统设计
基于蓝牙的CSAMT数据手机监测系统设计
电子技术应用2014年第6期
周文全,孙彩堂,周逢道,刘长胜
(吉林大学 仪器科学与电气工程学院,吉林 长春130026)
摘要: CSAMT 法野外探测工作中存在现场监测数据不方便等问题。针对此问题,通过在采集站中嵌入蓝牙模块,在采集CSAMT数据的同时,利用蓝牙协议将数据以特定格式传输到Android手机端。在手机端,首先基于各向异性扩散算法实现对接收到数据的平滑滤波,然后将数据以曲线的形式显示在屏幕上,从而实现了数据的实时监测。该系统便于工作人员在测量过程中及时发现问题,在应用中得到了较好的效果。
中图分类号: 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)法通过同步发射接收一组不同频率的信号,测量大地的复电阻频谱,从而得到地下不同深度介质电阻率的变化规律。

        在CSAMT法勘探过程中,需要根据探测目标布置发射源。在接收端,要将仪器放置到各采集点,在大部分情况下,工作人员只能通过步行的方式将设备送到采集点。这些特点决定了对数据进行补测要浪费大量的人力和物力,因此,迫切需要能够在工作现场或远程实时监测采集的数据质量,以便工作人员及时发现采集过程中发生的问题并分析原因,尽早采取相应措施。
        目前,加拿大凤凰公司的V8采用TDMA进行各站之间的数据传输;吉林大学仪器科学与电气学院自主研发的JLEMI[2]分布式采集系统采用了GPRS,可以在远程工作站实时监测采集的数据。这些方法依赖于移动网络,在信号质量不好的情况下工作会受到影响,甚至无法监测。
        除了移动网络之外,现在应用比较广泛的无线传输技术[3]有ZigBee、红外线数据传输、WiFi等。但当前的手机中很少直接支持ZigBee,红外线数据传输方式要求进行传输的设备之间必须对准,而且中间不能有阻挡。蓝牙是一种支持设备短距离通信(一般10 m内)的无线电技术,采用分散式网络结构以及快跳频和短包技术,支持点对点及点对多点通信,工作在全球通用的2.4 GHz ISM频段,其数据速率为1 Mb/s,采用时分双工传输方案实现全双工传输,现在手机、平板电脑等基本都配置了蓝牙设备。
        基于上述分析,本文采用蓝牙无线传输技术[4],实现了采集站与Android手机间的数据传输。通过在采集站中嵌入蓝牙模块,在采集数据的同时,将数据以特定格式发送到手机中,在手机端对接收到的数据进行预处理并实时显示。将该系统应用到JLEMI工作过程中,为工作人员带来了很多便利。
1 系统组成
        本系统由CSAMT采集站与Android手机端组成,二者通过蓝牙协议[5]进行数据和指令的传输,如图1所示。其中采集站安装Windows操作系统,主要负责数据采集,并通过嵌入的蓝牙模块将采集的数据传输到手机端;手机端接收数据,并对数据进行平滑预处理,然后以曲线的形式显示在屏幕上,提供给工作人员进行实时监测。

                                       

                                                                        图1  系统组成示意图

2 采集站
        本系统中采集站[6]主要负责数据采集,并对采集的数据进行简单预处理,将原始数据和预处理结果保存到本地磁盘中。除此以外,还可以通过嵌入的蓝牙模块将预处理结果传输到手机端。
        采集站启动后,首先开启蓝牙设备并监听手机端接入请求。当有手机接入后,开启新的线程并监听处理手机端发来的命令。如果手机端需要监测数据,则必须首先向采集站发送相应指令。当采集站收到指令后,读取采集到的数据,按照自定义的协议进行封装,并向手机端传输。在数据传输期间,手机可以通过向采集站发送命令,控制数据传输的暂停与退出。
        采集站端采用了开源库bluecove[7]实现对蓝牙模块编程,并引入jdom.jar包实现对xml文件的读取与解析[8]。
3 手机端
        当前应用比较广泛的手机操作系统包括Android、iOS、BlackBerry和Windows Phone等。市场研究公司Strategy Analytics在2013年11月1日发表报告称,2013年第3季度全球智能手机出货量在2012年同期的1.728亿部基础上增长45%,达到2.514亿部,其中Android市场份额为81.3%,成为现在的主流手机操作系统。因此本系统的手机端基于Android操作系统开发。
        目前,市面上已经存在许多基于Android操作系统的应用软件,如基于蓝牙的健康服务终端应用软件、基于GPRS通信的远程监控应用软件以及基于各种通信协议的应用软件等,这些应用软件给现代生活带来了极大便利。
3.1 工作流程
        本系统的手机端应用程序包含1个Service和2个Activity。其中Service在后台运行,其作用是监听本手机端的状态,当有事件产生时,与2个Activity产生交互,控制程序的运行。主Activity控制程序初始化、数据接收、预处理和曲线绘制;Activity2的作用是搜索周围的蓝牙设备,显示搜索结果,接受用户选择,并将选择结果传递给主Activity。手机端程序流程图如图2所示。

                                                           

                                                                            图2  手机端整体流程图
        (1)启动蓝牙
        首先检查手机是否支持蓝牙,如果支持,则获取蓝牙适配器对象,并在AndroidManifest中申明蓝牙使用权限,开启蓝牙。
        (2)搜索采集站蓝牙设备
        在手机端搜索采集站蓝牙设备前,先要设置采集站端蓝牙设备可见,以便手机端发现采集站蓝牙设备进行配对。手机端通过使用BluetoothAdapter的startDiscovery()方法来搜索蓝牙设备,在这个过程中,系统会发送以下3个广播:
        ACTION_DISCOVERY_START:开始搜索
        ACTION_DISCOVERY_ FINISHED:搜索结束
        ACTION_FOUND:找到设备
        手机端可以注册相应的BroadcastReceiver对象来接收相应的广播,以便做出响应。
        (3)请求建立连接
        手机端搜索到采集站蓝牙设备后,可以获取其BluetoothService,然后利用listenUsingRfcomm_WithServiceRecord(String, UUID)方法获取对应的BluetoothSocket,最后调用BluetoothSocket的connect()方法请求连接。如果手机端的UUID同采集站蓝牙设备的UUID匹配,并且连接被采集站端蓝牙设备接受,则连接成功。
        (4)接收指令和数据
        请求连接成功后,手机端和采集站的蓝牙设备分别监听端口。当手机端向采集站发送一个读取数据指令,采集站收到该指令后,首先根据自定义的协议对数据进行封装,然后利用蓝牙协议传输到手机端。手机端的主Activity监听数据端口,当接收到数据后,对其进行解析,得到发送的原始数据,为后期的数据预处理和曲线绘制做准备。
        (5)对接收到的数据进行绘图显示,其中可以通过选项来控制是否需要在显示之前对数据进行平滑。
3.2 曲线绘制
        本系统选择开源类库Achartengine[9]作为绘图工具。该类库针对Android系统开发,易于二次开发,能够绘制折线图、饼状图、柱状图等多种曲线。在本系统中,数据以折线图的形式显示。
        对于CSAMT数据曲线,由于发射频率和幅值都相差多个数量级,因此,需要以对数坐标的形式显示。而Achartengine不直接支持对数坐标,本文通过对坐标轴的改进,实现了自定义坐标轴,从而实现了数据的对数显示。主要步骤如下:
        (1)将x轴改造为对数坐标
        利用addXTextLabel函数实现x轴坐标转换,该函数的基本格式为:addXTextLabel(double x,String text),其中x为x轴坐标点,text为转换后显示在x点的坐标值,如果不显示,则可以设为空。x和text之间的关系为x=log10(text)。利用该方法,可以添加一系列的x轴对数坐标点。
        (2)将y轴改造为对数坐标
        原理和x轴相同,利用addYTextLabel(double y,String text)函数实现y坐标转换。
        (3)数据显示
        将接收到的数据转换成对数,并利用series.add()添加到绘图中显示。图3显示了手机中基于Achartengine绘制的数据曲线图。因为本系统所应用的采集站有4个通道,所以共有8条曲线,包括4条幅频特性曲线(上半部分)与4条相频特性曲线(下半部分)。

                                  

                                                                  图3  采集数据的曲线图
        Achartengine为静态绘图,为达到实时更新的动态效果,需要对其进行动态刷新,即每当有新数据到来时,便进行一次点集的更新和绘图的刷新。点触曲线中某点,可以显示该点对应的值,方便现场分析和判断。
3.3 曲线平滑滤波
        CSAMT法测量过程中,容易受到噪声的干扰,在数据中出现“飞点”现象,会对后期的数据处理造成极大的干扰,甚至导致假结果。本文使用基于各向异性扩散的滤波方法[10]对数据进行预处理,算法模型为:
      
       该方法以梯度的降函数做扩散速度,在梯度大的点扩散量较小,在梯度小的点扩散量较大,其优点是在滤除噪声的同时能保护曲线的局部特征。梯度的降函数相当于边界保护函数的作用,如式(2)所示:
      
其中,k为阈值参数。
        利用该算法对数据进行平滑的效果如图4所示。

                                               图4  基于各向异性扩散算法的数据平滑效果图
        本文根据CSAMT法工作环境的特点,将蓝牙无线数据传输技术引入CSAMT法的数据采集过程中,手机端在接收到采集数据后可以进行平滑处理,并通过对Achartengine类库中坐标轴的改进,实现对数坐标显示,在实际应用中得到了较好的效果。本系统既有利于进行CSAMT数据的集中监测,也可以为现场工作人员观察数据采集质量、判断故障点提供参考和支持,提高其工作效率。本系统的应用可以使采集设备不再配备显示屏,有助于进一步减小体积,降低功耗。
        蓝牙的数据传输距离有限,不能达到远距离数据监测的目的,下一步工作是基于GPRS或WiFi无线传输技术,实现手机中的远距离数据监测。
参考文献
[1] 汤井田,何继善.可控源音频大地电磁法及其应用[M].长沙:中南大学出版社,2005.
[2] 张文秀.CSAMT与IP联合探测分布式接收系统关键技术研究[D].长春:吉林大学,2012.
[3] 石明明,鲁周迅.三种无线通信协议综述[J].通信技术,2011,7(44):0072-0073.
[4] 杨瑞.基于蓝牙通信的短信平台设计与实现[J].计算机应用与软件,2011,2(28):218-219.
[5] 钱志宏,刘丹.蓝牙技术数据传输综述[J].通信学报,2012,4(33):0143-0152.
[6] 陈健.宽频带时频电磁接收机关键技术研究[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.

此内容为AET网站原创,未经授权禁止转载。