【问题标题】:Read data from an USB-GPS-Receiver从 USB-GPS 接收器读取数据
【发布时间】:2012-03-03 01:12:27
【问题描述】:

我想知道从 USB GPS 接收器(也称为“USB 鼠标”)读取定位数据有多么困难。 .NET 中是否有某种现成的 API(就像它在 Android/WP7 等移动平台中一样)之所以有效,是因为 GPS 设备的驱动程序已大量集成到 Windows 中,或者这是一些依赖于GPS 设备?

有什么经验吗?

【问题讨论】:

    标签: c# .net windows gps


    【解决方案1】:

    GPS 设备通常显示为虚拟 COM 端口。您应该会在设备管理器的 com 端口中看到它。几乎每个 GPS 都使用标准的NMEA 0183 消息将数据发送到计算机,您只需要一个库即可读取它们。一个非常好的全功能之一是DotSpatial,DotSpatial.Positioning 库应该会自动找到您的 gps 并从中报告数据。

    【讨论】:

    • 谢谢你,绝对帮了我
    • 最后一个问题:你知道某种模拟那个com端口的“假gps软件”吗?使用 GPS 接收器开发 Indoors 有点困难。操作系统是 Windows 7
    • 我为此做的一件事是将您的 USB 设备连接到笔记本电脑,然后启动超级终端并打开 GPS 的 com 端口。您应该在窗口中看到所有 NMEA 消息。在你的车里开车一段时间,然后将这些数据保存到一个文件中。然后,您可以编写一个简单的程序,从文件中读取每一行并将它们输出到另一个 com 端口。您可以将两个假的 com 端口添加到您的计算机,就像使用 com0com 之类的程序在它们之间连接了一根空调制解调器电缆一样。这对我有用。
    • 或者,如果您已经使用 DotSpatial.Positioning 库实现了从设备读取,只需在此处添加记录功能。不过,如上所述,使用假的 null 调制解调器端口是一种在不更改程序的情况下对其进行测试的好方法。
    • 有许多不同的 NMEA 消息,其中一些提供他们所谓的“修复数据”,这些消息列出了范围内的卫星数量和您获得的数据的质量(即准确性)。我相信我提到的库可以解析这些消息并为您提供这些信息。 This page 列出了一些不同的消息,您的设备可能有也可能没有所有这些消息。实际上我自己并没有使用过那个库,我实现了自己的解析器,但我们正在研究它的未来版本,让用户知道卫星信号的质量。
    【解决方案2】:

    您可能需要与您的设备供应商联系,获取识别设备驱动程序,并调用设备通信API。如果可以从 GPS 设备上获取字节数,离成功近在咫尺,剩下的就是打包和分析数据包了。 PS:如果是串口通信,在DONET中实现就更容易了。

    【讨论】:

      猜你喜欢
      • 2012-01-14
      • 1970-01-01
      • 2010-09-16
      • 1970-01-01
      • 1970-01-01
      • 2020-08-29
      • 1970-01-01
      • 1970-01-01
      • 2017-02-14
      相关资源
      最近更新 更多