我刚刚在我的项目中使用了一个新的 GPS,但我在查看它的数据时遇到了一些困难。GPS 连接良好并且安装正确,每当我使用 lsusb 时,我都会看到它已连接。我的问题是我正在尝试编写一个代码来读取来自 GPS 的消息,谁能帮助我如何在 C++ 上收听它这是我的接收器的链接http://www.navilock.de/produkte/G_60109/ merkmale.html?setLanguage=en
提前致谢 :)。
我刚刚在我的项目中使用了一个新的 GPS,但我在查看它的数据时遇到了一些困难。GPS 连接良好并且安装正确,每当我使用 lsusb 时,我都会看到它已连接。我的问题是我正在尝试编写一个代码来读取来自 GPS 的消息,谁能帮助我如何在 C++ 上收听它这是我的接收器的链接http://www.navilock.de/produkte/G_60109/ merkmale.html?setLanguage=en
提前致谢 :)。
安装一个名为 minicom 的程序。使用 minicom 打开 GPS 接收器的设备节点。使用 38400/8/N/1(38400 在您到接收器的链接中指定;其他值是猜测值。)作为通信参数。完成此操作后,您应该会看到一串文本字符。您可能不了解它们,但它们应该是可识别的字符。验证连接后,关闭 minicom。
然后,检查NMEA协议标准的副本以了解如何解析此数据流。
最后,阅读一下如何结合文件描述符和正常的 open()、close()、read() 和 write() 函数使用 POSIX 的termios结构。然后,您将能够在程序中接收数据流并解析 NMEA 消息。
附带说明一下,大多数接收器还具有二进制协议,您可以使用它来公开更多功能,但 NMEA 解析器在接收器之间将更加便携。
另请注意,GPSD已经处理了很多这方面的问题并公开了一个 C 接口,因此您永远不需要编写解析代码。