在 linux 上通过 USB 接收 NMEA 1083 数据?

Receiving NMEA 1083 data over USB on linux?

我们正在尝试从 linux 盒子上的数字游艇 AISnet 基站读取数据。据我所知,Digital Yacht 有 osx 和 windows 的驱动程序(但本机没有 linux),他们的工作是创建一个虚拟 com 端口,以便设备可以像进行 RS-232 串行通信一样发送 NMEA 1083 流。我们可以自己解析 NMEA 数据,但我对驱动程序了解不多。想知道是否有人有从数字游艇或类似设备获取 NMEA 数据到 linux 的经验? USB 到虚拟 RS-232 是其他设备常见的东西还是我们自己制造的实用东西?非常感谢任何指点。

自己回答:使用 GPSD gps 守护进程,因为 GPS 使用与 AIS 相同的协议(我在发布最初的问题并第一次接触 AIS 时并不知道这一点)。 GPSD 处理设备上原始 NMEA 数据流的监听,并提供高级接口以获取已解析为 JSON 的数据。在 linux 上运行起来非常容易,据说也可以在 OSX 上运行,尽管我还没有尝试过。

如果使用 Python,还有一个客户端库用于使用 GPSD 流来制作 AIS 侦听应用程序。

GPSD:http://www.catb.org/gpsd/

https://github.com/wadda/gps3/blob/master/examples/agegps3.py