APP下载

基于UM220的北斗接收机及WEB终端设计

2016-11-17郑定超方玖琳

计算机测量与控制 2016年3期
关键词:接收机北斗终端

周 晓, 郑定超, 方玖琳

(浙江工业大学 信息工程学院,杭州 310032)



基于UM220的北斗接收机及WEB终端设计

周 晓, 郑定超, 方玖琳

(浙江工业大学 信息工程学院,杭州 310032)

根据北斗卫星导航系统提供的定位服务,设计一款便携式北斗接收机进行定位,同时设计WEB终端,接收数据并对其进行分析处理和展示;北斗接收机采用UM220北斗模块进行定位,获取定位数据后经STM32单片机处理由GPRS模块发送到远程服务器;WEB终端采用Java语言编写北斗信息管理系统,对接收到的数据进行处理、存储和展示;此外引入在线地图API,通过地图显示位置信息;经测试,北斗接收机能有效定位并转发数据至服务器;通过WEB终端能对数据进行查询、显示,有良好的人机交互体验。

卫星导航;通用分组无线服务技术;信息管理

0 引言

北斗卫星导航系统是我国自主研发实施的全球卫星导航系统,致力于向全球用户提供高质量的定位、导航、授时服务,并向有更高要求的授权用户提供进一步服务。随着系统建设不断完善,北斗卫星导航系统将拥有巨大的市场前景。现如今,已经发展进入互联网时代,物联网是新一代信息技术的重要组成部分,越来越多的产品趋向智能化、微型化。Java语言是互联网软件开发中最流行的计算机语言之一。Java是一种跨平台的面向对象的程序设计语言,具有卓越的通用性、高效性、平台移植性和安全性。本文拟设计一款便携式北斗接收机;同时根据数据通讯协议,采用Java语言编写配套的WEB(网络/网页)终端进行数据处理展示。

1 系统方案

整个系统设计包括北斗接收机设计和WEB终端设计。系统原理示意图如图1所示,主要涉及北斗导航卫星系统、便携式移动终端、GSM/GPRS/3G基站、互联网服务器、用户WEB终端等相关知识。

图1 系统原理示意图

便携式北斗接收机设计拟采用北斗模块实现定位;在获取经纬度、时间、日期等有效信息后,数据通过单片机分析处理,由GPRS模块转发至服务器。

系统后台使用本地电脑搭建服务器,利用动态域名解析软件花生壳获取一个公网可以访问的IP地址。WEB终端使用Java语言编写,利用优秀的SSH框架(Struts2、Hibernate、Spring)搭建北斗信息管理系统。后台程序在接收数据后,对其进行分析判断,把有效的数据存入数据库,以供用户调用。软件提供良好的人机交互,页面前端引入在线地图API,可以通过地图查看详细位置信息。此外,软件提供历史数据查询、用户验证登录等功能。

2 系统硬件设计

系统的硬件设计部分主要包括北斗接收机设计和服务器搭建。系统硬件组成框图如图2所示,北斗接收机主要由UM220北斗定位模块,STM32控制模块和SIM900A无线模块组成;服务器主要使用本地电脑搭建,通过动态域名解析获得公网可以访问的IP地址。

图2 系统硬件框图

UM220定位模块在获取位置、时间等信息后,经过STM32单片机处理,由SIM900A模块通过HTTP服务发送到远程服务器。

2.1 UM220北斗定位模块设计

UM220是和芯星通公司生产的BDS/GPS双模定位芯片,内置6轴MEMS器件,支持北斗+GPS双系统,可以直接输出GNSS与MEMS组合定位结果。芯片无需外接CPU进行控制,我们只需对其进行外围电路设计即可。图3是基于UM220芯片设计的北斗定位模块电路图。模块通过天线获取信号后支持TXD、RXD串口输出,方便信息的处理。

图3 UM220模块原理图

2.2 STM32控制模块设计

STM32单片机是意法半导体推出的一款性价比很高的单片机,功能强大。它采用高性能“Cortex-M3”内核,拥有一流的外设,丰富的I/O口资源;而且功耗低,在72 MHz时消耗36 mA(所有外设处于工作状态),待机时下降到2 μA,所以十分适合本系统设计使用。STM32芯片外设资源中拥有多个串口资源,系统设计中UM220模块与STM32模块的连接通过串口1进行连接;SIM900A模块与STM32模块的连接通过串口2进行连接。图4是STM32控制模块的电路设计原理图。

图4 STM32模块原理图

2.3 SIM900A无线模块设计

SIM900A是ALIENTEK公司推出的一块高性能工业级GSM/GPRS模块,可以低功耗实现语言、短信、数据等信息的传输。SIM900A内置了TCP/IP协议栈,可以由AT命令激活并且通过HTTP服务可以使设备方便地连接因特网,实现无线通讯。在UM200模块接收到定位信息后, STM32单片机经过处理,由SIM900A模块的HTTP服务,将数据发送到远程服务器上,实现数据的无线传输。图5是SIM900A模块的原理框图。

图5 SIM900A模块原理框图

3 软件设计

系统的软件实现主要包括北斗接收机的内置程序与WEB终端程序。接收机程序主要进行北斗定位数据的解析,SIM900A模块的设置和数据的发送;WEB终端程序主要进行数据的接收、判断、存储和页面的展示。

3.1 北斗模块语句解析

NMEA 0183是美国国家海洋电子协会(national marine mlectronics association)为海用电子设备制定的标准格式,目前已经成了GPS导航设备统一的RTCM标准协议。我国北斗卫星导航系统要想在世界上占据一定的市场,就必须遵循一套能被世界所认同的标准。本系统设计的北斗模块的输出协议采用北斗推荐定位信息,其语句格式为 BDRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,<11>*hh,其详细含义如表1所示。

表1 北斗推荐定位信息

北斗模块输出语句中的时间是UTC时间,与北京时间相差八个小时;经纬度数据采用的是度分格式,在地图显示中需要的数据格式是度格式,所以我们对数据完成解析后需要进行一定格式的转换。语句以“”开头,以hh结束。系统的解析思路就是对“”与“*”之间的字符串数据采用逗号进行分割,把分割后的数据存入字符串数组,然后对其进行转换和使用。语句解析的函数实现如下:

String []data;

if(first=='$'&&last==’*’)

{

data=str.split(","); //字符串分割

//对应数据格式转换

data[1]= changeTime(data[1]);//时间

data[3]= changeWD(data[3]);//纬度

data[5]=changeJD(data[5]);//经度

data[9]= changeDate(data[9]);//日期

}

$BDRMC,015300.000,A,3013.826705,N,12002.193091,E,0.517,49.651,070915,E,A*07语句,通过解析得到的信息就是时间为8点30分,北纬30.13度,东经120.02度,日期是2015年9月7号。

3.2 SIM900A模块设置

AT(Attention)命令是一种调制解调器命令语言,SIM900A模块就是通过AT指令进行通信。大部分GSM/GPRS模块通过终端设备(TE)或数据终端设备(DTE)向终端适配器(TA)或数据电路终端设备(DDCE)发送指令,与GSM 网络业务进行交互。无线模块软件设计中主要利用AT命令激活模块的HTTP服务,然后通过GET方法向服务器发送数据,设计中所涉及到主要的AT指令如表2所示。

表2 AT指令表

软件中的URL是本地服务器地址通过花生壳软件映射动态域名获得,SIM900A模块可以通过GPRS服务访问到本地服务器。软件对SIM900A模块的设置通过编写函数sim900a_send_cmd(u8 *cmd,u8 *ack,u16 waittime)实现;其中,cmd为发送的命令字符串,ack为期待的应答结果,wattime为等待时间,函数如果返回值为0代表成功,1代表失败。模块设置的伪代码如下:

//初始化服务

sim900a_send_cmd("AT+HTTPINIT","OK",1000);

//设置参数值

sim900a_send_cmd("AT+ HTTPPARA =”http://a649303982.xicp.net/BDS?data=str”","OK",1000);

//激活方式:get

sim900a_send_cmd("AT+HTTPACTION=”0”","OK",1000);

//关闭服务

sim900a_send_cmd("HTTPTERM","OK",1000)

3.3 在线地图显示

WEB终端为了更好地展示数据信息,编写脚本语言引入在线地图API,软件设计中使用的是搜狗地图API。系统采用Ajax技术使页面达到自动刷新功能,提高人机交互体验。在解析出经纬度信息后,通过调用API提供的方法并传入参数,就能完成地图的初始化。地图显示的部分代码如下:

//初始化(39.981320,116.320247)

var myLatlng =new

sogou.maps.LatLng(39.981320,116.320247);

//指定中心点

var myOptions =

{zoom: 15,

center: myLatlng,

mapTypeId: sogou.maps.MapTypeId.ROADMAP

}

//加上标记

var marker = new sogou.maps.Marker({

position: myLatlng,

map: map,

});

3.4 系统工作模式设计

系统设计拟分为两种工作模式,手动模式和自动模式。手动模式下,北斗接收机通过人工按键向服务器端发送数据;自动模式下,北斗接收机每隔10 s向服务器端发送数据,时间间隔可调。终端用户登录WEB系统可以对历史数据进行查询,可以通过实时显示界面观测最新一组数据信息。

4 实验结果与分析

经过不断研究改进,初步完成系统设计的大部分功能。同时,通过实验测试,系统运行效果良好。通过历史数据的查询页面,用户可以查询某段时间内的数据信息,点击某条记录,右侧地图可以显示该条记录所代表的位置。通过实时数据显示页面,用户可以实时观测到最新的一组数据信息。

5 结论

此次系统设计的便携式北斗接收机采用UM220定位模块和SIM900A无线模块,在通过北斗系卫星导航统定位后由GSM/GPRS无线网络与远程服务器连接;同时,根据通讯协议解析数据后又编写配套终端系统对数据进行管理和展示。随着北斗卫星导航系统的不断建设、完善,有关北斗导航的应用会越来越广泛,本系统的相关研究可以起到一定的参考作用。

[1] 怀 洋,邵琼玲,路振民.北斗/GPS混合定位模块UM220应用研究[J].国外电子测量技术,2014(3):76-79.

[2] 王明新.基于SIM900A的GSM远程监控系统设计[J].电脑知识与技术,2014,15:3500-3503.

[3] 霍 涛,贾振堂.基于STM32和SIM900A的无线通信模块设计与实现[J].电子设计工程,2014,17:106-110.

[4] 高 婷.基于北斗定位的海上落水报警装置设计与研究[D].上海:上海海洋大学,2014.

[5] 王明新.基于SIM900A的GSM远程监控系统设计[J].电脑知识与技术,2014,15:3500-3503.

Design of BeiDou Receiver And WEB Terminal Based on UM220

Zhou Xiao, Zheng Dingchao, Fang Jiulin

(College of Information Engineering, Zhejiang University of Technology, Hangzhou 310032,China)

Being based on location service which provided by BeiDou Navigation Satellite System, designing a portable BeiDou receiver to fix position. And designing the WEB terminal to receive the data from receiver, while analyzing, processing, displaying them. The BeiDou receiver used UM220 module to get the data, then the data was processed by STM32 MCU, finally it was sent to remote server through by GPRS module. The terminal system used Java language to write a information management system. It could process, storage and display the data which from BeiDou receiver. In addition, the system imported the online map API to show the position. According to the test, the BeiDou receiver could position accurately and send the data to server, the WEB system could provide service of query and display the data, which had a good human-computer interaction.

satellite navigation; GPRS; information management

2015-09-27;

2015-11-04。

周 晓(1971-),男,浙江永康人,副教授,博士,主要从事嵌入式应用方向的研究。

1671-4598(2016)03-0238-03

10.16526/j.cnki.11-4762/tp.2016.03.065

TP3

A

猜你喜欢

接收机北斗终端
北斗时钟盘
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
“北斗”离我们有多远
一种用于调幅接收机AGC的设计与实现
一种面向ADS-B的RNSS/RDSS双模接收机设计
多功能北斗船载终端的开发应用
数字接收机故障维修与维护
基于多接收机的圆周SAR欺骗干扰方法
首个北斗全球“厘米级”定位系统开建