综合管理

最新文章

您当前位置:首页 >> 综合管理 >> 技术园地技术园地

日期:2016-08-06 02:19  作者:刘云波  来源:海洋测绘中心    点击量:

摘  要:本文着重介绍在GPS接收机的RS-232串行通信接口加装蓝牙,利用Win8平板电脑的蓝牙与之建立无线通信网络,通过AutoCAD VBA开发工具编写通信程序,采用异步串行方式实时接收GPS串口数据,经数据转换后供测图人员使用。从而摆脱连接线缆的限制,实现了移动作业,提高工作效率。

关键词:蓝牙串口适配器;AutoCAD VBA;无线通信;实时接收;提高工作效率


1 引言

GPS定位技术的出现给测绘工作带了翻天覆地的变化,彻底改变了传统的测量手段和方法。特别是GPS-RTK实时动态测量技术的发展和成熟,使GPS从单纯的控制测量向高动态、高精度方向发展。GPS-RTK能够实时达到厘米级的定位精度,受接收机固件及控制器软件的限制,其测量数据存储在控制器中,无法实时传输到测图软件中。

测绘外业人员的工作移动性突出,普遍在Windows环境下编缉测量数据,其中应用最为广泛的是基于AutoCAD平台的测量软件。Win8平板电脑具有体积小、耗电少、携带方便的特点,让用户在不改变AutoCAD使用习惯的情况下,接受产品升级换代,基本不存在重新学习使用技能和软件兼容性等问题。AutoCAD实时无线读取GPS的数据是实现平板电脑移动测量的前提。因此,实现GPS接收机与平板电脑的无线串口通信具有重要意义。


2 蓝牙串口适配器的基本原理与连接

蓝牙是一种支持设备短距离通信(一般10-100m内)的无线电技术,且有成本低功耗小传输速率较高抗干扰能力强组网灵活的特点。串口是计算机上一种常用设备的通信协议,相当简单,为人们所熟知,蓝牙串口适配器正是两者结合的产物,它保留了蓝牙通信与串口通信的优点,数据的传输支持蓝牙SPP协议,将复杂的蓝牙协议转换为简单易用的串口通信协议。即插即用的方式透明传输数据,使用户能够以串口的编程方式使用蓝牙,在程序开发过程中直接调用虚拟串口以实现数据的无线通信。

大部分GPS接收机都具有一个圆形的RS-232接口标准的输入输出端口。RS-232接口标准是美国电子工业协会(EIA)制定的异步传输串行数据通信的接口标准,原始编号全称是EIA-RS-232(简称232,RS232), 其中EIA(Electronic Industry Association)代表美国电子工业协会,RS(Recommended standard)代表推荐标准,232是标识号。RS-232接口标准是目前使用最广泛的一种串行物理接口。GPS接收机的RS-232 接口通常以9个引脚 (DB-9)的型态出现,蓝牙串口适配器有RS-232接口和USB接口两种,受GPS接收机硬件限制需选用RS-232接口的蓝牙串口适配器与GPS接收机的RS-232串行数据线相连。用平板电脑上的蓝牙搜索蓝牙串口适配器并配对,配对成功后,开启蓝牙串口服务协议虚拟串行端口。可用AT命令对蓝牙串口适配器的名字、波特率等进行设置或者参数修改。此时蓝牙串口适配器在设备间建立了一条虚拟串口数据线。GPS接收机与卫星处于通信状态时,会把接收到的导航定位信息发送到GPS接收机的串口,蓝牙串口适配器负责从GPS接收机串口接收数据并发送到虚拟串行端口。


3 实时无线通信的实现

3.1 GPS实时通信协议

GPS接收机的实时通信协议通常采用NMEA 0183 协议,NMEA 0183是美国国家海洋电子协会(National Marine Electronics Association )为海用电子设备制定的标准格式。目前业已成了GPS导航设备统一的RTCM(RadioTechnical Commission for Maritime services)标准协议。

表一 NMEA 0183协议帧说明




GPGGA是GPS固定数据输出语句,含有GPS定位的主要数据,是使用最广的数据帧,本文以GPGGA数据帧为数据源。GPGGA的数据格式为$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>*<15><CR><LF>

表二 $GPGGA数据帧解析






3.2 AutoCAD VBA读取GPS串口数据


VBA是AutoCAD的二次开发工具,由 VB(Visual Basic)派生而来,是一种完全面向对象体系结构的编程语言。VBA继承了VB语法简单、功能强大的特点,并可与主程序在同一内存空间内运行,是一种完全面向对象体系结构的编程语言

在VBA中引用MSComm通信控件,MSComm 控件通过串行端口传输和接收数据,为应用程序提供通过串行接口收发数据的简便方法,可将GPS的导航定位信息以长串字节流的形式存在缓存,待后续处理。MSComm通信控件提供了事件驱动和检测属性两种方法控制和监测数据的传输情况事件驱动是处理串行端口交互作用的一种非常有效的方法,具有程序响应及时,可靠性高的优点,并支持访问多个串行端口。关键代码示例如下:

’配置参数

GPS.MSComm1.CommPort= “1”'设置连接端口的编号

GPS.MSComm1.Settings= “9600,N,8,1” '设置联机波特为9600、不进行奇偶检校、传输数据位为8和停止位为1

GPS.MSComm1.InputLen= 0 '指定由串口读入的字符串长度和字节数。0表示全部传输

GPS.MSComm1.RThreshold= 1 '当缓冲区内有1个字符时触发接收事件

GPS.MSComm1.SThreshold= 1 '当缓冲区内1个字符时触发OnC omm 事件



图1 通信参数设置

’打开端口,等待数据

GPS.MSComm1.PortOpen= True

’读写串口数据

TempStr= GPS.MSComm1.Input’返回缓冲区中的字符



图2 数据接收处理

通过以上三步的设置,即可实现AutoCAD实时接收GPS串口数据,并保存在变量中。数据处理程序剔除接收的GPS信息的数据包头部,提取状态,精度及空间坐标等所需要的参数,经坐标转换生成实时当地坐标,供测图人员调用。


4 结语

在GPS串行数据端口加装蓝牙可不受连接线缆长度的限制, 不必考虑设备的摆放位置和连接各串行端口线, 甚至不必修改任何硬件设备和软件环境, 即可实现实时稳定可靠通信。程序实现数据通信相对简单,执行代码精炼,实现了测图软件实时接收观测数据供测图人员现场编绘成图,使移动测量成为现实,提高了作业效率及成果质量,真正实现内外业一体化测量。


参考文献:

[1] 范逸之,陈立元.Visual Basic与RS-232串行通信控制[M].北京:清华大学出版社,2002.

[2] 钱志鸿,杨 帆.蓝牙技术原理、开发与应用[M]. 北京:北京航空航天大学出版社,2006.

[3] 钱志鸿,刘丹.蓝牙技术数据传输综述[J].通信学报,2012,33(4):143-151.

[4] 徐照磊,郭福生,孙助龙.全站仪蓝牙无线控制的实现[J].海洋测绘,2006,26(6):71-73.

[5] 何戟,李孝安,段渭军,等.基于蓝牙的移动数据统的设计与实现[J].计算机应用研究,2006,23(11):196-198.

[6] 张黎,董杰,韩敏.GPS接收机与计算机间通信的研究[J].仪器仪表学报,2006,6(6):626-627.


电话:0571-88950347    传真:0571-88951407    邮编:310030
地址:杭州市西湖区三墩镇三墩街92号
CopyRight©2014浙ICP备05076439-1
浙公网安备 33010602005638号