【问题标题】:Serial USB device with Windows drivers. Want to use it with linux带有 Windows 驱动程序的串行 USB 设备。想和linux一起使用
【发布时间】:2018-02-21 02:47:17
【问题描述】:

我有一个可以通过 USB 连接的 GPS 装置,制造商说它可以与 Windows 一起使用。它有一张带有一些驱动程序的 CD。关于 USB 转串口 PL2303 的一些事情。

但我需要能够将它与 linux 和 python 一起使用。我该如何继续努力实现这一目标?当我没有制造商提供的关于要读取哪些寄存器等的文件时,这是一个失败的原因吗?

当我连接它时,它在 dmesg 中被识别,它得到一个名称 /dev/ttyUSB1 下一步是什么尝试让它发挥作用?

【问题讨论】:

  • 您对 GPS 型号有任何线索吗?如果您了解 COM 连接参数,您可以连接到它。
  • 我需要什么?我知道波特率 f.ex
  • 应该够了!当然,如果您知道通过 COM 端口发送的任何命令会很好。但如果您连接,您可能会看到 GPS 的一些输出
  • 由于是虚拟USBtoCOM设备,所以波特率没用。只需打开设备并从中读取行。

标签: python linux serial-port


【解决方案1】:

最简单的方法是使用gpsd 从设备读取数据。 gpsd 会自动解析来自 GPS 设备的信息,并将重要信息返回给您。已经有 Python 绑定供您获取信息,或者如果需要,您可以退回到从 Python 调用 C 库。

如果您想自己解析它,很可能设备会向您提供NMEA 0183 数据。最可能的默认设置是4800-8-N-19600-8-N-1。我发现检查此类设备的最简单方法是使用 GTKTerm 打开串行端口并查看数据是否正确返回。以下是来自 USGlobalSat 的 GPS 接收器的一些示例数据,运行速度为 4800bps:

$GPGGA,,,,,,0,00,,,M,0.0,M,,0000*48
$GPGSA,M,1,,,,,,,,,,,,,,,*12
$GPGSV,3,1,12,01,00,000,,02,00,000,,03,00,000,,04,00,000,*7C
$GPGSV,3,2,12,05,00,000,,06,00,000,,07,00,000,,08,00,000,*77
$GPGSV,3,3,12,09,00,000,,10,00,000,,11,00,000,,12,00,000,*71
$GPRMC,,V,,,,,,,,,,N*53

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-18
    • 1970-01-01
    • 1970-01-01
    • 2011-11-04
    • 1970-01-01
    • 2016-05-26
    • 1970-01-01
    • 2013-03-13
    相关资源
    最近更新 更多