用户名:
密  码:
资讯查询

基于蓝牙的Android平台机电设备运行数据监控

发布日期:2016-11-16    来源:《上海设备管理》      点击数:26023

       一、引言

      建筑机电设备的监控主要由数据采集、显示、数据输出等部分构成。霍尼韦尔、江森、施耐德等国际一线企业的专用楼宇自动化设备已经占据了主流市场,这些监控设备的数据主要通过WiFi、USB 通用串行总线等通信方式,将机电设备运行信息通过数据采集器发送至工业控制计算机,进行数据采集和监视,此类设备移动性差,而且成本非常高。
      以手机为主的移动终端在全球都已经非常普及,在移动智能终端上安装APP 应用软件,实现数据采集、显示、数据传输等功能,逐步取代传统的专用监控设备,已经成为智能化设备监控应用的重要发展方向和研究热点。Android 系统是基于Linux 操作系统的开源平台,在Android 系统上拥有大量的共享性开放应用,相关软件产品开发非常方便高效,因而受到应用技术开发工作者的普遍欢迎。本文研究的数据监控系统是通过在Android 移动终端上运行App 应用软件,通过蓝牙通信,实现对建筑机电设备运行数据的移动监控。该系统不再依赖昂贵的专用工业控制计算机和专业数据采集器, 而是利用Android 移动终端实现专用工业采集器的现场数据查询和远程数据传送等主要功能。和专用系统相比,蓝牙移动终端在远程数据传输、云端数据存储、移动数据监控等方面具有更大的优势。
      二、 Android 系统下蓝牙控制方式的选择与分析
      该系统主要由现场数据采集器、远程移动终端两大部分组成。现场数据采集器用于采集建筑机电设备运转的各种实时状态数据,并经由蓝牙通信端口,实时将数据传送至远程移动终端。移动终端上运行App 应用软件,完成数据的实时显示、存储、回放、转发等功能。
      Android 操作系统是免费共享的,各行各业的应用开发者都可以方便地取得自己所需的源程序,系统具有良好的开放性、优秀的兼容性, 从而可以大大节约开发者的产品研制时间。随着Android 技术的日趋成熟并迅速发展,国际主流的移动终端操作系统中,除了近年来苹果公司独家推出了IOS 操作系统之外,国际主流的移动终端制造巨头,包括三星、华为、联想等,都在自己制造的移动终端上应用了Android 操作系统。毫无疑问,Android 操作系统是近年来移动终端上应用最广泛的操作系统。
      采集机电设备运行数据的专用仪器或通用的移动终端设备之间,可以选用蓝牙、WiFi 等无线通信方式或者USB、RS232、RS485 等有线通信方式。如果采用传输速率最高的USB 通用串行数据总线,则USB 总线需要设置主从工作模式。基于Android 操作系统的移动设备通常从制造成本考虑,只配置了从工作模式,并不具备主工作模式。即便选用少数能够设置数据采集模式为USB Host 主工作模式的采集设备,也会导致数据采集端的成本大幅度增加。因此,把USB 通信方式作为设备运行数据的传输方式显然不符合系统的经济性要求。如果采用当前普遍应用的WiFi 无线通信方式,首先要在移动终端和数据采集端之间建立WiFi 网络覆盖的工作环境,这会增加运行成本;而且WiFi 信号会随着工作环境中登录设备的增加、环境的变化可能变得不够稳定;此外普通用户在登录时,首先需要匹配数据采集端与移动终端之间的WiFi 信号。显然选择WiFi 作为建筑机电设备运行数据的通信方式并不合理。蓝牙2.0 标准传输半径为10m,传输速率为1Mbit/s,运行稳定可靠,而且具有一对一匹配特性,完全可以满足本系统的使用要求。通过上述选型,确定以蓝牙无线通信作为数据采集与移动终端之间的通信方式。
      三、Android 移动终端蓝牙控制软件设计
      1、获取蓝牙工作状态和搜索配对设备信息
      本控制软件中的蓝牙控制模块主要功能是建立Android 移动终端和蓝牙数据采集设备之间的数据联系。Android 操作系统中提供了开放源代码的通用蓝牙数据包,可以用于蓝牙设备的搜索和连接。Android 移动终端作为客户端,主动发起链接,搜索蓝牙数据采集设备。
      软件的通信程序流程如下:
      (1)运行broadcastreceiver 子程序,搜索周边的蓝牙设备,并接收蓝牙设备的状态信息;
      (2)运行blueadatper 函数,获取蓝牙设备的匹配信息;
      (3)从broadcastreceiver 子程序的onreceive() 函数里,读取获取到的蓝牙数据采集设备信息;
      (4)根据蓝牙数据采集设备的mac地址,建立蓝牙设备对象bluetoothdevice;
      (5)根据蓝牙设备对象bluetoothdevice,解析出蓝牙交换数据包bluetoothsocket,准备用蓝牙交换数据包来读写蓝牙数据采集设备;
      (6)通过蓝牙交换数据包bluetoothsocket子程序中的createrf commsocket to service record() 函数,选择链接的协议/服务;
      (7)在建立链接之后,使用蓝牙交换数据包的getinput stream() 输入数据流函数和getoutput stream() 输出数据流函数,来读写蓝牙数据采集设备。
      通过调用以上程序流程,Android移动终端与蓝牙数据采集设备之间建立了蓝牙通信联系,并且实现了数据通信。
      2、设备运行数据的波形显示
      该软件模块用来提供直观的波形,实时解析和显示机电设备运行数据。
      波形转换算法:
      在Android 移动终端的显示屏上,将蓝牙通信模块采集到的动态数据,实时转换为相应的波形显示出来。首先按屏幕显示的量程及采样的坐标点位,对采样数据进行坐标变换,然后在屏幕显示的量程及采用的坐标点位显示出来。经过波形转换,将通信模块传送的实时数据转化为移动终端屏幕上的波形。
      3、设备运行数据的动态存储
      该软件模块的功能是把蓝牙通信接收到的设备运行数据存储到移动终端的SD卡上。      Android 操作系统为嵌入式软件设计专门提供了轻量级的数据库sqlite。通过sqlitedatabase 函数创建新的数据库,或者打开已经建立的数据库。运行sqlitedatabase 函数时,系统会自动创建一个data_monitor.db数据库文件,接收蓝牙通信模块传送来的数据时,软件都会用开始接收数据的时间作为数据表文件的名称,自动生成一个数据表文件。
      4、查看设备运行的历史记录
      点击App软件界面上的 “查看历史”,软件将跳转至“回放文件列表”界面,可以浏览Sqlite 数据库中存储的所有以存储起始时间和存储周期命名的历史数据文件。点击相应数据表文件名,可以选择查看该历史数据的波形。历史记录可选择数据导出,存储空间满时,软件会提醒更换SD卡,或者发挥移动系统的优势,将数据推送到云平台处理。在查看历史记录时,系统可以继续在后台执行动态存储程序,接收蓝牙通信模块传来的数据。
      四、结束语
      本系统使用具有蓝牙功能的Android 移动终端,在建筑机电设备现场配置蓝牙数据采集设备,从而以低成本实现了建筑机电设备运行数据的在线显示、移动存储、远程监控等功能。此外,本系统利用Android 操作系统自带的轻量级数据库,建立了运行数据的动态存储,不仅在Android 移动终端上可以显示机电设备运行的实时波形和历史记录,而且还发挥了Android 移动终端的优势,把建筑机电设备的监控数据推送到云平台进行处理。
      作者:陈钢  容讯智能科技( 上海) 有限公司