智能移动终端的数据监控系统的解决方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能移动终端的数据监控系统的解决方案
引言
工业监控设备(仪器仪表)主要由数据采集,显示以及数据输出(有线向pc传送)等部分构成。现有工业用数据监控设备多为专用设备,如安捷伦dso9000, 日本bits的hm-2g等,其便携性差,成本高。部分数据监控设备通过usb线或wifi等方式,将监控所得数据传输至专用pc,有一定的制约性,价格昂贵。如图1所示数据采集器,作为与pc机配合使用的专用硬件,通过usb线或wifi将串口数据传输至pc机,进行数据采集和监视。
图1 传统监控设备系统总框图fig.1 system chart of the triditiona surveillance device
随着智能移动终端应用的推广,采用智能移动终端替代专用设备的显示以及数据传送的部分功能,成为研究的热点和趋势。android 系统是基于linux的开源操作系统平台,凭借其开放性技术,大大降低产品的开发成本,有助于在激烈的市场竞争中获得用户青睐。本文针对以上问题设计了运行在android智能移动终端上的数据监控系统。系统旨在利用移动终端在数据存储、远程传输、监控等方面的优势,实现专业数据采集器的部分功能,由此,无需专用pc, 由个人所持智能移动终端便可实现现场数据查询和远程数据传送。降低产品自身的价格的同时, 也能减少pc机的固定投资成本。
1 系统分析与设计
整套系统需实现工业数据监控设备的功能,故主要包括两大部分:数据采集器实现对工业设备中相关数据的采集,并传送至移动终端;智能移动终端实现数据的显示、存储、回放、远程发送等功能。
在移动智能终端方面,android智能操作系统成为近年来最受关注的操作系统,由于它的免费性,以及系统的开放性,使开发人员可以随时取得程序的源代码,这对于程序开发人员和运营商定制非常重要。在移动智能终端支持方面,三星、摩托罗拉、多普达等国际一线厂商几乎倾倒性的发展android,在2011年第一季度android 操作系统己经跃居智能终端操
作系统的榜首。随着android技术的迅猛发展和日趋成熟,android 操作系统在手持终端中所占比例正逐步上升,其开放性、便携性、良好的兼容性、无缝结合网络通信等特点将使android操作系统在各个领域中都有着广泛的应用。
rs232c在工业设备之间的数据交换及设备控制上占有举足轻重的
位置,原因在于rs232c的成熟性和简单性。串行通信网络物理层
是建立在rs232c(rs485)基础之上,至今rs232c仍被用于各种设备之间数据交换。几乎所有的mpu都标准配备uart,在电路设计,设备编程,设备连接,以及设备数据交换的事实监视,都必不可少的需要查看记录数据交换内容,由此产生了rs232c数据分析仪。
现有rs232c监视器多为专用硬件来采集串行通信中的数据线和控
制线信息,通过usb把信息送到pc上,由专用软件显示出来。也
有做成专用设备自带显示器和数据输出口。rs232c数据分析仪由于
是面对研发人员,使用数量相对较少,目前也只有少数厂家生产。
图2 系统总框图
fig.2 system chart of the whole system
采集数据的硬件设备将实现rs232c数据分析仪的功能,由于智能移动终端已具有显示、存储数据等功能,故将传统数据监视器的相应功能进行部分裁剪,并增加数据通过移动终端远程发送。
就采集数据的硬件与移动终端通信的方式而言,选择有usb、蓝牙、及wifi传输等方式。其中,利用usb数据线进行传输的速率最高,但是由于手机厂商出于各方面因素的考虑,android手机不具备usb host功能,并且若将数据采集硬件作为usb host的话,势必会增加数据采集端硬件的制作成本,利用usb进行两者间的数据传输不可行。就wifi而言,进行硬件端与手机端的wifi匹配不利于普通用户操作,并且若建立wifi网络环境,也会增加相应成本。故,最终选择以蓝牙方式进行数据采集硬件与移动终端的通行。蓝牙2.0的传输速率为1m/s,传输距离为10米,完全满足两段通信的使用要求。
2 移动终端软件设计
2.1 数据采集模块
数据采集模块主要包括android端与硬件端蓝牙通信的建立。
android平台提供了android.bluetooth包用于蓝牙应用。本系统android智能终端作为客户端主动连接采集数据的硬件,连接流程
如下:
1.注册broadcastreceiver来获取蓝牙状态、搜索设备等消息;
2.使用blueadatper的搜索;
3.在broadcastreceiver的onreceive()里取得搜索所得的蓝牙设备信息(如名称,mac,rssi);
4.通过设备的mac地址来建立一个bluetoothdevice对象;
5.由bluetoothdevice衍生出bluetoothsocket,准备socket来读写设备;
6.通过bluetoothsocket的createrf commsockettoservicerecord()方法来选择连接的协议/服务;
7.connect之后(如果还没配对则系统自动提示),使用bluetoothsocket的getinputstream()和getoutputstream()来读写蓝牙设备。
通过以上步骤,android智能终端与硬件设备建立蓝牙通信,可进行数据传输。
2.2 波形显示模块
大部分仪器仪表中,对测试的数据采用数据和波形的形式在屏幕上显示出来,故该模块以数据示波器为例,显示波形用于辅助频谱观察,数据走势,提供视觉直观感受。
2.2.1 坐标转换算法
在android端需将实际数据转换为软件界面的相应坐标进行绘制。首先按显示量程及纵坐标最大采样点进行相应的比例变化,然后在按照android系统得窗口坐标系进行相应转化,主要代码如下:
实际电压值转化为屏幕视口纵坐标:private float