APP下载

基于蓝牙通信的工业现场设备调试监控方法

2014-12-31朱国力聂冬冬

机械工程与自动化 2014年5期
关键词:标靶局域网蓝牙

朱国力,聂冬冬

(华中科技大学 机械科学与工程学院,湖北 武汉 430074)

0 引言

近年来随着智能手机、智能平板的兴起,移动通信工具的操作系统平台趋于统一,其计算能力不断提升,通信功能不断增强,这使得利用手机与工业设备进行便捷的无线通信成为可能。如果能将工业现场施工人员的智能手机与所操作的工业设备相结合,则可以在不增加现场设备投资的情况下,在工业现场实现对设备进行监控,并在设备发生故障时及时报警且通过移动通信网络将监控数据传回远程数据中心。在隧道掘进过程中,需要一套稳定可靠的姿态测量系统来指导隧道的掘进方向,本文主要讨论隧道掘进的作业现场中,移动通信工具在辅助隧道掘进系统进行有效的调试、监控、远程诊断过程中发挥的作用。

1 测量系统的总体结构

该测量系统中,上位机为运行Windows操作系统的工控机,安置在操作室中;下位机为安装固定在掘进机器盾体上的严格密封的精密测量激光标靶,其中运算控制单元为运行嵌入式Linux系统的ARM板,上位机与下位机通过线缆连接进行通信。

由于上位机与下位机之间距离较远,它们之间的通信主要是传达测量命令与回送测量结果,因此为了实现与测量系统的核心——激光标靶进行便捷的监控调试以及更多的数据交互,需要一种可以近距离地与激光标靶进行数据无线通信的设备。

Android[1]是一种基于Linux的自由及开放源代码的操作系统,主要用于移动设备,如智能手机和平板电脑。由于Android丰富的硬件占有率以及系统平台的开放性和统一性,APP开发速度快成本低,因此Android智能手机非常适合作为本测量系统中手持设备的载体。在掘进机器运行时测量控制人员可以通过手上的智能手机实时地查看到掘进机器的姿态;当发生故障时可以及时对故障进行有效定位,并将记录数据保存下来及时通过手机网络传给远程数据中心。调试人员也可以通过智能手机获得更大的权限,对标靶的各种数据进行查看、修改、采集等。测量系统中各终端之间的通信如图1所示。

图1 测量系统中各终端之间的通信

2 无线协议和方式的选择

随着移动信息科技的高速发展和互联网大潮的来临,相继诞生了众多的短距离无线通信协议和标准,有广泛使用的无线局域网802.11x(Wifi)、蓝牙通信(Bluetooth)、红外数据通信(IrDa)以及一些在特定领域具有很强发展潜力的新技术,如zigBee、UWB、NFC等。常用无线通信协议在传输速度、通信距离、安全性和功耗方面的比较见表1。

表1 常用无线通信协议比较

目前安卓智能手机和平板一般都支持蓝牙和无线局域网两种无线通信方式,最新出的部分设备支持NFC,基于该解决方案的实用性,本无线通信协议应该在蓝牙与无线局域网二者中选择其一。

2.1 蓝牙与无线局域网(IEEE 802.11x)的比较

蓝牙与无线局域网是两种完全不同的无线通信方式。蓝牙技术实现的是点对点网络,不需要固定的基础设施和接入点就能临时快速自动组成移动网络。网路中任何节点都具有报文转发能力,节点间的通信允许经过多个中间节点的转发到达目的节点,节点可以随时进出网络,具有很强的移动性。而无线局域网协议应用于组件相对固定的无线局域网络,其对网路基础设施的要求较高,终端出入无线网路都有一定的网路开销,但是其网络覆盖距离长、速度快。此外这两种无线通信技术在通信的安全性、可靠性和功耗成本等方面也有不同。

(1)可靠性:蓝牙通信数据包小,调频快,通信持续时间短,增强了信号传输的稳定性和抗干扰能力。另外,蓝牙技术还可以对信号进行错误校正,进一步增强了信号的可靠性。而无线局域网调频慢,数据包大,传输时间长,容易受到外来信号的干扰,因此蓝牙比无线局域网稳定性更好。

(2)安全性:蓝牙技术的认证与加密服务由连接层提供,认证采用口令—应答方式,其基带部分从物理层为用户提供保护盒信息保密机制;而无线局域网采用WEP加密,WEP存在诸多漏洞,其安全效能不足,极易遭到破解或者拦截,因此蓝牙相对更为安全。

(3)功耗与成本:无线局域网的射频和基带协议较为复杂,实现成本高,而蓝牙芯片价格则更加低廉。无线局域网的硬件功耗相对较高,散热和硬件体积决定需要较大的容纳空间,而蓝牙模块则可以内置到电子设备,甚至集成到电子主板上。另外,蓝牙无数据传输时能以极低的功耗待机,远远低于无线局域网功耗。

本测量系统中与无线终端的通信需要具有较高的安全性和稳定性,传输时间短,功耗低,数据分组透明,但对数据的传输速率和无线网覆盖范围要求不高。所以蓝牙技术更加适合本测量系统中的通信。

2.2 通信方式的选择

在选定蓝牙无线通信技术后,需要进一步考虑怎么在激光标靶和Android手机之间建立可靠的蓝牙连接。激光标靶中的处理器硬件平台是定制的工业级Arm开发板,操作系统平台是裁剪过的微型Linux,该硬件平台有RJ45网口、RS232/TTL串口、USB主从口与外界通信。由于该开发板无板载无线通信接口,也没有相应的无线模块供直接选用,而重新定制一块开发板无论对于开发难度还是经济成本都较大,所以需要在现有接口基础上进行模块转接以实现蓝牙通信[2]。选配适当的蓝牙模块,利用板载的串口实现蓝牙通信,而手机端则使用 Android(2.0以上)BluetoothSocket创建一个SPP(UUID:00001101-0000-1000-8000-00805F9B34FB)服务,以实现虚拟的蓝牙串口,从而可以与板载蓝牙模块实现基于蓝牙传输的串口通信。

蓝牙模块选择嵌入式蓝牙串口模块HC-06,工作在自动连接模式下,作为从机等待主机的搜索连接,自动根据事先设定的参数进行响应。本系统采用CSR主流蓝牙芯片,蓝牙V2.0协议标准,具有良好的兼容性,内置蓝牙天线,发射功率为Class2,灵敏度可达-80dBm,兼容RS232和TTL的三线串口电平,其有效通信距离达到10m,建立连接后可以无障碍全双工使用,支持丰富的AT指令对其参数进行设置,易于实现权限控制,且体积小巧,贴片工艺良好,可以轻易植入到测量系统的标靶中。

通信模型如图2所示,HC-06模块与测量设备开发板通过RS232连接,从板载电源取电,通过其蓝牙芯片,将RS232信号电平转换成蓝牙无线信号。Andriod手机的蓝牙硬件与 HC-06配对,通过Andriod提供的SPP服务,客户端软件能很好地利用蓝牙硬件与测量设备进行应用层的通信[3,4]。

3 客户端的开发

客户端软件为使用JAVA编写的基于Android系统的APK程序,它能与蓝牙模块建立可靠的连接,能提供良好的命令发送与信息显示窗口、自定义的命令按钮以及数据保存备份功能。

3.1 通信建立

在通信建立过程中,Android手机客户端程序主动搜索并连接SPP(Serial Port Protocol)协议设备——HC-06蓝牙模块。通信连接建立流程如下:

(1)使用RegisterReceiver方法注册一个BroadcastReceiver来接收系统和应用中的广播,获取蓝牙状态,搜索SPP设备。

(2)使用BlueAdatper进行SPP设备搜索。

(3)BroadcastReceiver的 OnReceiveSPPData()方法获取已经存入到搜索列表中蓝牙设备的信息(MAC,名称RSSI等)。

(4)将设备的 MAC地址作为唯一主键,建立BluetoothDevice对象。

(5)由BluetoothDevice对象衍生出Bluetooth-Socket接口,通过SOCKET来读写创建的虚拟设备。

(6)安卓操作系统非常完善地支持SPP服务(UUID:00001101-0000-1000-8000-00805F9B34FB),使 用 createRfcommSocketToServiceRecord()方法将BluetoothSocket连接到SPP服务,并在BluetoothSocket启用SPP服务。

(7)启动SPP服务成功后进行连接,并捕获和处理异常。

图2 通信模型

3.2 通信保持

蓝牙通信过程中的状态主要有未连接状态、连接中状态、活跃状态和低耗能状态。在蓝牙通信建立连接后,会在活跃状态和低耗能状态之间互相转换,当有数据传输时,手机蓝牙设备马上建立数据通道传输数据;若长时间没有数据流传输时,则会自动进入通信保持状态。如手机蓝牙设备离开通信覆盖区域或者蓝牙通信关闭时,则蓝牙模块会自动断开连接并进入待机状态等待下次重新连接。状态转换如图3所示。

图3 状态转换

3.3 发送与接收

在Connect Success之后,就可以使用Bluetooth-Socket的getInputStream()方法读取蓝牙设备数据,使用getOutputStream()方法向蓝牙设备发送数据,以实现与蓝牙串口模块的发送与接收。为了在一个独立线程中实现良好的读写操作,对蓝牙设备循环读取串口缓冲区,接收数据,并显示在接收控件中。在发送命令时,通过getInputStream()写串口发送命令。

4 驻留程序

驻留程序是在嵌入式Linux中的一段C语言编写代码,为保证其独立性与响应的实时性,采用独立进程或者线程实现。驻留程序需要和测量程序进行大量的数据共享,所以驻留程序作为测量程序中独立调度的线程,同时又能与其共享数据,是一种很好的解决办法。

驻留程序的基本功能包括权限控制、指令检查、指令响应、报告结果和报告异常等。手机客户端通过指令对测量设备端进行查询设置等操作,测量设备端循环监测设备状态,一旦发现有异常便主动向手机端报告。这种主从的通信结构可以很好地实现所需的功能,且结构简单、实现容易。驻留程序运行流程如图4所示。驻留程序随主程序启动后自行完成初始化,然后循环对蓝牙设备所对应的串口进行读取,一旦读取到数据则检测数据是否为合法的可执行命令,同时核对当前登录的用户是否具有执行该命令的权限,如果都通过,则进入命令执行阶段。相应的命令主要有以下几类:权限申请(用户登录)、状态读取、参数设置、回传数据和执行系统命令。根据命令不同,对执行结果的处理也不同,执行完成之后进入一段0.2s的休眠和系统状态自动检测过程,如果发现有异常,则主动报告给手机端,接着又开始循环读取串口数据。

图4 驻留程序运行流程

5 结语

本文所讨论的利用现已普及到Andriod手机和工业设备,可进行稳定可靠的蓝牙无线通信进而对其进行调试监控,非常适用于隧道掘进等这种空间狭小、线缆繁多且无法连接互联网络的地下作业现场。该方法已经在实验和实践中得到了很好的检验,可以在不增加设备成本的前提下,使设备的监控调试变得更加轻松便捷,且具备丰富的拓展性,具有一定的实践意义。

[1] 张元亮.Andriod开发应用实战详解[M].北京:中国铁道出版社,2011.

[2] 李鑫.基于ARM、蓝牙通信的心电采集系统的设计[D].西安:西北工业大学,2007:48-50.

[3] 彭述清,王恩永,苗爱敏.基于蓝牙技术和GSM网的远程数据采集[J].信息技术,200(5):7-9.

[4] 周明发,王治森,董伯麟.无线通信在机器人及数控机床中的应用[J].制造业自动化,2006(9):58-64.

猜你喜欢

标靶局域网蓝牙
蓝牙音箱的直线之美
轨道交通车-地通信无线局域网技术应用
基于VPN的机房局域网远程控制系统
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
基于凸包算法和抗差最小二乘法的激光扫描仪圆形标靶中心定位
基于802.1Q协议的虚拟局域网技术研究与实现
局域网性能的优化
紧急:蓝牙指尖陀螺自燃!安全隐患频出
球形标靶的固定式扫描大点云自动定向方法