LINUX

k-buildroot/bin 编译、执行程序 1. Ubuntu 上 arm-buildroot-linux-gnueabihf-gcc -o serial_send_recv serial_send_recv.c 2. 板子上 /mnt/serial_send_recv /dev/ttymxc5 11.2.2 GPS 模块实验 3.1 GPS 简介 全球定位系统(Global Positioning System,GPS)是一种以空中卫星为 基础的高精度无线电导航的定位系统,它在全球任何地方以及近地空间都能够提 供准确的地理位置、车行速度及精确的时间信息。GPS 主要由三大组成部分:空 间部分、地面监控部分和用户设备部分。GPS 系统具有高精度、全天候、用广泛 等特点。 太空卫星部分由多颗卫星组成,分成多个轨道,绕行地球一周约 12 小时。 每个卫星均持续发射载有卫星轨道数据及时间的无线电波,提供地球上的各种接 收机来应用。 地面管制部分,这是为了追踪及控制太空卫星运行所设置的地面管制站,主 要工作为负责修正与维护每个卫星能够正常运转的各项参数数据,以确保每个卫 星都能够提供正确的讯息给使用者接收机来接收 使用者接收机(即用户设备),追踪所有的 GPS 卫星,并实时的计算出接收 机所在位置的坐标、移动速度及时间。我们日常接触到的是用户设备部分,这里 使用到的 GPS 模块即为用户设备接收机部分。 3.2 GPS 模块硬件 GPS 模块与外部控制器的通讯接口有多种方式,这里我们使用串口进行通讯, 波特率为 9600bps,1bit 停止位,无校验位,无流控,默认每秒输出一次标准格 式数据。 GPS 模块外观如下图所示,通过排线与控制器进行供电和通讯。该模块为集 成模块,没有相关原理图。 图 11.3 GPS 模块 300 / 577 GPS 模块数据格式 GPS 使用多种标准数据格式,目前最通用的 GNSS 格式是 NMEA0183 格式。 NMEA0183 是最终定位格式,即将二进制定位格式转为统一标准定位格式,与卫 星类型无关。这是一套定义接收机输出的标准信息,有几种不同的格式,每种都 是独立相关的 ASCII 格式,逗点隔开数据流,数据流长度从 30-100 字符不等, 通常以每秒间隔持续输出。 NVMEA0183 格式主要针对民用定位导航,与专业 RTCM2.3/3.0 和 CMR+的 GNSS 数据格式不同。通过 NMEA0183 格式,可以实现 GNSS 接收机与 PC 或 PDA 之间的数据交换,可以通过 USB 和 COM 口等通用数据接口进行数据传输,其兼容 性高,数据传输稳定。这里我们使用串口进行是通讯,通信框图如下图所示。 图 11.4 NVMEA0183 格式 我们使用串口接收数据,收到的数据包含:$GPGGA(GPS 定位数据)、$GPGLL (地理定位信息)、$GPGSA(当前卫星信息)、$GPGSV(可见卫星状态信息)、 $GPRMC(推荐最小定位信息)、$GPVTG(地面速度信息)。 这里我们只分析$GPGGA (Global Positioning System Fix Data)即可, 它包含了 GPS 定位经纬度、质量因子、HDOP、高程、参考站号等字段。其标准格 式如下: $GPGGA,,,,,,,,,,M,,M,,*hh $XXGGA 语句各字段的含义和取值范围各字段的含义和取值范围见下表所示, XX 取值有: ◼ GPGGA:单 GPS ◼ BDGGA:单北斗 ◼ GLGGA:单 GLONASS ◼ GNGGA:多星联合定位

你可能感兴趣的:(linux,运维,服务器)