随着智能手机的兴起,定位技术已经深入到我们生活的方方面面,开车导航、定位打车、找寻周边的共享单车、周边的餐厅,还有实时公交信息、实时路况等等,为我们的生活带来了极大的方便。尤其是疫情期间的行程码,几乎每天都要用到。
而近年来,全球掀起了一股自动驾驶热潮,无论是传统车企,还是科技企业,甚至很多初创公司都竞相加入这一行业赛道。进入2021年,自动驾驶热度不减,且“吸金”不断,据不完全统计,从今年年初至今,自动驾驶行业投融资事件超过50起,投融资金额近1000亿元,已超过2018年,达到历年最高值。
定位技术就是其中最重要的技术之一。本文就手把手打造出一个能被随时定位的智能设备,还能在地图上展示该设备的位置信息。只需以下3步:
1、案例背景
本案例中的定位主要是指广域的户外定位,室内定位将在另外案例中介绍。
1.1、卫星定位系统
定位系统是以确定空间位置为目标而构成的相互关联的一个集合体或装置(部件)。这个系统可以保证在任意时刻,地球上任意一点都可以同时观测到至少4颗卫星,以保证卫星可以采集到该观测点的经纬度和高度,以便实现导航、定位、授时等功能。这项技术可以用来引导飞机、船舶、车辆以及个人,安全、准确地沿着选定的路线,准时到达目的地。
目前主流定位系有除美国的GPS,中国的北斗卫星导航系统、欧盟的伽利略卫星导航系统、俄罗斯全球导航卫星系统等。
GPS
GPS是美国第二代卫星导航系统。按目前的方案,GPS的空间部分使用24颗高度约2.02万千米的卫星组成卫星星座。24颗卫星均为近圆形轨道,运行周期约为11小时58分,分布在6个轨道面上(每轨道面4颗),轨道倾角为55度。卫星的分布使得在全球任何地方、任何时间都可观测到4颗以上的卫星,并能保持良好定位解算精度的几何图形。这就提供了在时间上连续的全球导航能力。
想了解GPS详细信息请参考文章。
北斗卫星导航系统
中国北斗卫星导航系统(英文名称:BeiDou Navigation Satellite System,简称BDS)是中国自行研制的全球卫星导航系统,也是继GPS、GLONASS之后的第三个成熟的卫星导航系统。北斗卫星导航系统(BDS)和美国GPS、俄罗斯GLONASS、欧盟GALILEO,是联合国卫星导航委员会已认定的供应商。
北斗卫星导航系统由空间段、地面段和用户段三部分组成,可在全球范围内全天候、全天时为各类用户提供高精度、高可靠定位、导航、授时服务,并且具备短报文通信能力,已经初步具备区域导航、定位和授时能力,定位精度为分米、厘米级别,测速精度0.2米/秒,授时精度10纳秒。
全球范围内已经有137个国家与北斗卫星导航系统签下了合作协议。随着全球组网的成功,北斗卫星导航系统未来的国际应用空间将会不断扩展。
想了解北斗卫星导航系统详细信息请参考文章
1.2、基站定位
除了像GPS这种卫星定位之外,我们身边的设备如:智能手机、智能手表、穿戴设备等能联网的设备都可以用来定位,通过连接运营商(电信、联通、移动)基站来定位的方式称之为基站定位,或者又称之为移动位置服务(LBS--Location Based Service)。
1.3、硬件连线
本案例只需要准备如下硬件:
- SP32开发板 1套
- 杜邦线若干
- GNSS定位模块 HT2828Z3G5L
其中,HT2828Z3G5L与ESP32的连接如下:
定位模块 | ESP32 | ||
---|---|---|---|
引脚名 | 引脚功能 | 连接到引脚 | 引脚序号 |
VBAT/PPS | 备用电池 / 时间标准脉冲输出 | NC(不连接) | —— |
VCC | 模块供电,可选3.3V至5V | 3.3V | 2 |
TX | 串口发送端 | RXD2 | GPIO16 |
RX | 串口接收端 | TXD2 | GPIO17 |
GND | 接地 | GND | 30 |
EN | 模块使能,高电平/悬空使能模组工作,低电平模组关闭 | NC(不连接) | —— |
如下图实物图所示: