java - Java 或其他一些 Windows 程序中的 GPS over USB 示例?

标签 java gps usb

我希望根据 GPS 记录移动情况,并计划将其记录在车内的笔记本电脑上。看起来 GlobalSat BU-353 是一个不错的选择,但我不清楚如何编写实际接收/记录的程序。 existing answer似乎是串行的,并且 does not appear to be helpful for USB systems 。我可以将 USB 串行转换器与基于串行的 GPS 设备结合使用,但我不喜欢这种复杂性。

  • 你能给我举一个可行的例子吗?我不介意使用外语(也许是 Python),只要我可以在 Windows 上运行它,而无需太多的安装/编程麻烦。请向我指出可以做到这一点以及如何做到的证据。最好是使用 x USB 接收器测试的工作示例。
  • 此外,我还想了解有关兼容性问题的风险的信息。我希望有很多程序以及许多 GPS 设备,以便建立一个标准(例如 USB 相机),但事实真的是这样吗?

最佳答案

查找 Prolific Technology USB 转串口转换器软件。安装它后,您的 USB 设备数据就可以从 Windows COM 端口之一读取。我正在使用 RXTX 库来读取获取 USB 数据的 com 端口 (RXTXcomm.jar)。

这有点痛苦,因为您不确定要使用哪个 COM 端口,这可能取决于将东西插入机器上 USB 端口的顺序等。在某些机器上,然而,相同的物理 USB 端口往往会倾向于相同的 COM 端口,因此也许这会让事情变得足够可预测。无论如何,这就是我用来读取 USB 数据的方法。至少是安装的转换器,不涉及代码,一切都是java的。

是的,GPS 输出有一个事实上的标准,即 NMEA 数据字符串。我遇到的所有 USB GPS 设备都使用这个。本质上,一旦它们打开(这意味着一旦插入),它们就会开始发出 NMEA 格式的数据字符串。第一个字母指定正在报告的记录类型,字符串的其余部分是数据。我确信其中一些也具有查询功能等,但考虑到 GPS 程序的一般性质,它在很多情况下也可以工作,只是让设备吐出字符,直到有人拔掉它。每个字符串都小于某个合理的最大字符数(80?132?不记得了),并以某种 EOL 终止。我的代码会读取所有这些内容,并且只处理它感兴趣的内容。

希望这能让您开始。

关于java - Java 或其他一些 Windows 程序中的 GPS over USB 示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12679621/

相关文章:

android - 搜索位置时防止 GPS 耗尽手机电池

c# - osmsharp : prevent u-turn

python - Raspberry Pyusb 使资源繁忙

java - org.springframework.beans.TypeMismatchException : Failed to convert value 'java.lang.String' to 'java.lang.Class' spring

java - 给我一个 Oracle Streams 的简单示例?

android - 如何获取Android设备用户移动的速度? Location.getSpeed 可靠吗?

android - 在 Android 中使用 libusb 捕获音频

java -/r/dailyprogrammer#218-如何正确使对象正常工作?

java - 你如何有效地处理 maven-3 时间戳快照?

android - 带 USB 访问的 ARC?