简介
一般 GPS 接收器会遵循美国国家海洋电子协会(National Marine Electronics Association)所指定的标准规格,其中包含传输资料的格式以及传输资料的通讯协议。那我们要在 Ubuntu 下获取 GPS 接收器的数据,一种方法就是使用 libgps 库。
准确来说 libgps(man libgps)是一个与 GPS 守护进程进行通信的 C 库。包含打开、收发、解析数据包等接口。这个库的接口的使用,依赖 GPS 守护进程的运行。而这个守护进程才是真正基于上述协议与 GPS 接收器进行通信的。但是我们作为软件开发人员来说可以不用管守护进程的实现,我们把 libgps 的接口用起来,拿到我们所需要的 GPS 数据就好了。
安装
sudo apt-get install libgps-dev
sudo apt-get install gpsd
GPS 接收器-> /dev/ttyUSB0
启动守护进程
sudo gpsd /dev/ttyUSB0
启动客户端程序
示例代码:
#include <gps.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <math.h>
int main() {
int rc;
struct timeval tv;
struct<