张 怡,李 辰,王喜斌,王 丹
(1. 河北工业大学 电子信息工程学院,天津 300400;2. 北京空间机电研究所,北京 100083;3. 北华航天工业学院,河北 廊坊 065000)
基于安卓平台的智能定位追踪系统研究
张怡1,李辰2,王喜斌3,王丹3
(1. 河北工业大学 电子信息工程学院,天津 300400;2. 北京空间机电研究所,北京 100083;3. 北华航天工业学院,河北 廊坊 065000)
摘要:针对目前社会上普遍关注的老人儿童安全监护问题,设计了一套基于安卓平台的智能定位追踪系统,定位移动终端获取地理位置信息并传输,安卓智能终端实现了实时监控人员位置的功能。系统经过实际应用测试,具有易携带、易操作、低功耗、低成本的特点,可广泛应用于智能定位追踪及其他相关位置服务行业。
关键词:北斗卫星;低功耗;安卓智能终端
卫星导航定位技术广泛应用于各个领域,在人们生活中发挥着巨大的作用,使人们的生活更加方便快捷。我国的卫星导航应用设备,很大程度上依赖于美国GPS系统,北斗卫星导航系统是我国自主研发并独立运行的卫星导航系统,具有一定的保密、抗干扰和抗摧毁能力[1]。比起其他的导航系统,北斗的短报文通信服务具有较大的优势,从而可以使中心控制系统与用户终端之间能直接进行数据通信[2]。
老人和儿童是社会中的弱势群体,缺少一定的自我保护能力,如果得不到及时监护,就容易出现安全问题,一些媒体报道经常出现老人儿童失踪的新闻,因此,老人儿童的安全问题值得社会关注。针对这一安全监护问题,本文设计了一套基于安卓平台的智能定位追踪系统,定位移动终端由北斗模块获取定位信息并通过GPRS模块数据传输,安卓智能终端设备获得定位信息并将位置显示在地图上。通过此系统,即使不在老人儿童身边,也能及时得知他们所处的具体位置。
1系统整体设计
此定位追踪系统由三大部分组成,分别为定位移动终端和系统服务器以及智能终端组成。定位移动终端由老人和儿童等被定位的人员携带,安卓智能终端由老人和儿童的监护人使用,系统整体框架如图1所示。
图1 系统整体框架图
定位移动终端主要用来获取定位信息并向服务器进行传输,具有一键呼救的功能。安卓智能终端用来从系统服务器获取位置信息最后在地图上显示,能够进行实时跟踪、历史路线查询、电子围栏的设置等功能。系统服务器接收定位移动终端发送来的定位信息并处理、存储下来,为安卓智能终端提供位置信息,系统服务器里有根据需求做好的数据库,当定位信息根据地址发送到服务器后由数据库来存储数据。
安卓智能终端对定位移动终端主要是实施远程监控,远程的实际意义并不是距离遥远,而是通过网络传输,由监控端对被监控端实施的监控,通过有效的Internet资源和合理的软件构架就能实现。本文采用的是C/S构架[3],即客户端/服务器构架,当客户端发出请求后,服务器要做出响应并给出回复。
2定位移动终端
定位移动终端主要实现定位信息的采集和传输,北斗模块获取当前地理位置,时间等信息并将其传送给处STM32处理器,经过分析处理后,各种数据被传送到GPRS通信部分,通过GPRS移动通信网络,发送到系统服务器[4]。定位移动终端的硬件结构如图2所示,主程序流程图如图3所示。
图2 硬件结构
图3 主程序流程图
2.1定位模块
信息采集模块采用北斗UM220-III模块,它是目前市场上尺寸最小的完全国产化的BD/GPS模块,集成度高,功耗低,非常适合北斗系统大规模应用的需求。它有3个可配置的串口,可以与处理器完成信息传输,它的输出为&GNRMC语句,语句中包含时间、位置有效标识、经纬度、地面速率、地面航向等信息,消息格式如表1所示。
表1消息定义格式
消息格式MYM--RMC,time,status,Lat,N,Lon,E,spd,cog,date,mv,mvE,mode*cs例子MYMGNRMC,123400.000,A,4002.2178,N,11618.1057,E,0.026,181.631,180411E,A*2C
UM220通过串口输出数据帧,也是通过串口与STM32完成数据通信,STM32使用中断方式接收UM220模块的数据帧。当定位移动终端接收到定位指令后,设标志位为1,当检测到标识位为1时,STM32进入接收中断;当定位移动终端接收到取消定位指令后,设标志位为0,当检测到标志位为0时,关闭接收中断。
在数据接收的过程中,首先要判断数据格式是否正确,如果不正确则不作处理继续接收,如果正确则在数据中添加终端的号码,用以区分不同用户终端,然后将数据存储到缓存区,最后判断数据接收是否结束,如果结束则关闭中断,否则继续接收数据。
2.2通信模块
通信模块采用M35它是全球最小的四频GSM/GPRS模块,凭借超小尺寸,超低功耗和较宽温度范围,适用于车载、工业及PDA、个人跟踪等,它提供完善的GSM/GPRS短信、数据传输及语音服务。此模块用于与外部进行信息传输及远程通信,可以按需换成3G等无线通信模块。
M35模块是定位移动终端和外界通信的枢纽,它能把数据打包传送到系统服务器并且能够把来自其他智能终端或服务器的指令发送给控制模块。M35模块功能的实现是通过STM32设置AT指令来实现的,通过指令初始化M35模块,使其附着在GPRS网络上,获取IP地址并最终与服务器之间建立连接实现通信。其中主要设置工作如下:
1)设置串口通信波特率,AT+IPR=15 200;短消息模式设置为AT+CMGF=1,使短消息为文本模式。
2)设置网络注册状态,使用指令AT+CREG?,回复为+CREG:
3)判断GPRS附着是否成功,使用指令AT+CGATT?,回复为+CGATT:
4)建立TCP连接,使用指令AT+QIOPEN=TCP,114.112.169.125,6800,其中114.112.169.125表示服务器地址,6800为服务器端口号,返回OK事时,说明格式正确,连接成功。
3数据存储和查询
系统服务器中采用SQLServer数据库来存储和查询数据,SQLServer数据库中,可以使用HTTP直接访问,它有一个开放的WebService接口,可以执行SQL语句和调用函数和过程,查询的结果可以用XML格式返回,通过WebService接口,安卓智能手机终端能方便的与数据库进行数据交互[5]。
SQLServer中主要有表、索引、视图、函数和存储过程几种数据对象,本文中用到的是表,它是数据库中最常见最常用的对象,主要用于数据的存储。表中包含行字段和列字段,系统中数据库字段说明如表2所示。
由于只需要时间、经纬度和状态字段,所以要把传输的数据进行字段提取,提取任务是在将数据存入数据库的过程中完成的,并没有在定位移动终端部分进行数据处理,这种做法有效地降低了定位移动终端的功耗。
表2系统性能局域网测试表
4安卓智能终端
安卓智能终端可以是智能手机也可以是手持平板等智能设备,用户首先登录定位软件,输入正确的SIM卡号和密码才能登录系统,之后会进入功能选单,用户可以根据需求选择,然后进入界面去实现相应功能。手机定位软件UI设计框图如图4所示。
图4 手机定位软件UI设计框图
4.1软件设计
安卓手机终端上的定位系统软件是基于Java语言编写的,Java语言是用户和设备的人机接口,提供用户可以操作的各种各样的应用功能。编译环境为eclipse,需要安装JDK和对应版本的AndroidSDK。AndroidSDK环境安装完成后,就可以在SDK中建立工程并进行调试了开发和调试了。电子地图调用百度地图SDK,百度地图提供的Android定位SDK是为Android移动端应用提供的一套简单易用的LBS定位服务接口[6]。
创建工程后,在AndroidManifest中添加开发密钥、所需权限等信息,在布局文件中添加地图控件,在应用程序创建时初始化SDK引用的Context全局变量,创建地图Activity,管理地图生命周期之后,就可以进行地图的开发应用了[7]。
用户界面的设计主要采用线性布局和相对布局方式,这样设计屏幕适配性好,视觉上也比较美观,界面间的切换由Intent实现。
实时定位和历史轨迹功能的实现主要是通过和服务器进行数据交互,当收到响应指令后,就会开启子线程,子线程开始部分为与服务器交互数据,通过采用HttpClient完成网络服务,通过POST实现数据传输,取得数据之后要对数据结果进行json数据解析。解析完成后,利用Hander对象构造一个Runnable接口,Runnable接口的主要作用就是将子线程获得的数据发送到主线程并更新UI,在本程序中的作用是将解析好的经纬度在地图上标注出来,程序流程图如图5所示。电子围栏的主要作用是把围栏坐标发送出去,当监听到发送按钮事件后,向移动定位终端发送围栏对角坐标,内容为"rect:"+begin.toString() + "-" +end.toString()。
图5 程序流程图
4.2测试结果
登录成功后,根据需求选择功能选单,选择实时定位选单进入相应界面,实时定位界面如图6所示;选择电子围栏选单,就可以进行电子围栏的设置,如果在定位过程中接收到的位置信息超出围栏,定位移动终端就会向智能终端发送警报信息,电子围栏设置界面如图7所示;选择历史轨迹选单后,进行历史时间段的选择,地图就会播放该时间段被监护人的运行轨迹,历史轨迹回放界面如图8所示。
图6 实时定位(截图)
图7 电子围栏设置(截图)
图8 轨迹回放(截图)
5结论
本文设计了一款基于安卓平台的智能定位追踪系统,利用我国自主研发的北斗卫星导航系统进行定位信息的获取,利用百度地图进行定位显示,应用于老人和儿童的安全监护。此系统包含信息的采集、传输和显示三部分,通过精心的硬件电路设计和软件方面的优化,具有简单易操作,易携带,低成本和低功耗的特点。通过实验测试,此系统能够准确地进行定位,能够成功地对老人和儿童进行安全监护。
参考文献:
[1]李晨,曾国强,谭成君,等.基于北斗卫星的野外跟踪定位系统[J].中国新通信,2013(17):125-127.
[2]王莎,伍萍辉,王秀,等.基于北斗导航的联合收割机作业面积测量系统[J].农机化研究2015(1):39-42.
[3]李琴,陈立定,陈志刚. 基于Android智能手机远程视频监控系统的设计[J].电视技术,2012,36(7):134-136.
[4]龚凌翔,叶芝慧,冯奇.基于STM32的北斗/RFID组合定位系统设计[J].电子测量技术,2014,37(4):82-88.
[5]周涛,吕伟辰,夏永和.SQLServer2005数据库基础应用[M].北京:清华大学出版社,2007.
[6]孙咸磊,许捍卫.基于移动设备的定位跟踪系统及其实现[J].地理空间信息,2014,12(2):112-114.
[7]百度开发者中心.androidsdk/guide/hellobaidumapWiki[EB/OL].[2015-11-13].http: //developer.baidu.com/map/index.php?title=androidsdk/guide/hellobaidumap.
张怡(1989— ),女,硕士生,主研智能控制与智能系统;
李辰(1988— ),工程师,主研GIS与遥感信息处理;
王喜斌(1968— ),硕士生导师,主要研究方向为信息与控制系统;
王丹(1990— ),女,硕士生,主研航天测控技术。
责任编辑:时雯
StudyonsmartpositioningandtrackingsystembasedonAndroid
ZHANGYi1,LIChen2,WANGXibin3,WANGDan3
(1. School of Electronic Information Engineering,Hebei University of Technology, Tianjin 300400,China;2. Beijing Institute of Space Mechanics & Electricity,Beijing 100083, China;3. North China Institute of Aerospace Engineering,Hebei Langfang 065000,China)
Abstract:In view of the present social common concern of the safety monitoring of the old and children, a set of personnel positioning and tracking system is designed based on Anroid. The positioning mobile terminal is used to obtain and transport the location information, and the function of real-time monitoring of personnel location is realized by the android intelligent terminal. Finally,the system realizes personnel positioning and tracking. Through practical application test,it is showed that the system is easy to carry and operate with low power consumption and low cost, which can be widely applied in smart tracking and positioning as well as other related position service industry.
Key words:beidou satellite; low power consumption; Android intelligent terminal
中图分类号:TN876.3
文献标志码:A
DOI:10.16280/j.videoe.2016.04.010
基金项目:河北省科技支撑计划项目(ZD2014089)
作者简介:
收稿日期:2015-11-13
文献引用格式:张怡,李辰,王喜斌,等. 基于安卓平台的智能定位追踪系统研究[J].电视技术,2016,40(4):48-51.
ZHANGY,LIC,WANGXB,etal.StudyonsmartpositioningandtrackingsystembasedonAndroid[J].Videoengineering,2016,40(4):48-51.