热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

第十八期AndroidGPS原理分析《手机就是开发板》

https:blog.csdn.netaggresssarticledetails54318662如果想对Android的整个框架有一个更深层次的感性认识,我们还需

https://blog.csdn.net/aggresss/article/details/54318662

如果想对Android的整个框架有一个更深层次的感性认识,我们还需要抓住一个点去研究一下。Android按照模块分成很多个系统,比如Audio,Video Out,Camera,Phone,WIFI,Blue Tooth,Light,Battery,Input,Codec,3D accelerator,Vibrator,Sensor,Alarm,Gps。
分析了一下这些模块,发现GPS模块是相对简单的一个模块,比较适合拿来做初学的分析,这一期我们就来分析一下Android中GPS的工作原理,然后我们做几个和GPS相关的实验。
GPS(Global Positioning System), 即全球定位系统,它是一个由覆盖全球的24颗卫星组成的卫星系统。其目的是在全球范围内对地面和空中目标进行准确定位和监测。随着全球性空间定位信息应用的日益广泛,GPS提供的全时域、全天候、高精度定位服务将给空间技术、地球物理、大地测绘、遥感技术、交通调度、军事作战以及人们的日常生活带来巨大的变化和深远的影响。
我们手机中内置的是一个GPS信号接收机,通过接收卫星产生的测距信号确定三维位置。从设备驱动的角度来看GPS接收机,就相当于一个定时输出的UART,所以从驱动的角度来讲想对简单,可以看做一个只有输出没有输出的驱动就好了。它的输出格式为NMEA 0183。
NMEA 0183是美国国家海洋电子协会(National Marine Electronics Association )为海用电子设备制定的标准格式。目前业已成了GPS导航设备统一的RTCM(Radio Technical Commission for Maritime services)标准协议。

NMEA-0183数据实例1如下:
$GPGGA,092750.000,5321.6802,N,00630.3372,W,1,8,1.03,61.7,M,55.2,M,,*76
$GPGSA,A,3,10,07,05,02,29,04,08,13,,,,,1.72,1.03,1.38*0A
$GPGSV,3,1,11,10,63,137,17,07,61,098,15,05,59,290,20,08,54,157,30*70
$GPGSV,3,2,11,02,39,223,19,13,28,070,17,26,23,252,,04,14,186,14*79
$GPGSV,3,3,11,29,09,301,24,16,09,020,,36,,,*76
$GPRMC,092750.000,A,5321.6802,N,00630.3372,W,0.02,31.66,280511,,,A*43
$GPGGA,092751.000,5321.6802,N,00630.3371,W,1,8,1.03,61.7,M,55.3,M,,*75
$GPGSA,A,3,10,07,05,02,29,04,08,13,,,,,1.72,1.03,1.38*0A
$GPGSV,3,1,11,10,63,137,17,07,61,098,15,05,59,290,20,08,54,157,30*70
$GPGSV,3,2,11,02,39,223,16,13,28,070,17,26,23,252,,04,14,186,15*77
$GPGSV,3,3,11,29,09,301,24,16,09,020,,36,,,*76
$GPRMC,092751.000,A,5321.6802,N,00630.3371,W,0.06,31.66,280511,,,A*45


驱动程序通过解析NMEA数据可以分析出当前的坐标信息,移动信息和卫星信息,然后通过Android的结构框架逐层上报,最后我们的APP就能获得当前的位置信息。
下面这张图列出了在Android系统中GPS系统是怎么实现的:

 


推荐阅读
author-avatar
孜雪颖2000
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有