在跨平台Python中查找USB GPS

发布于 2024-10-01 07:13:56 字数 406 浏览 4 评论 0 原文

我正在开发一个从 gps usb 加密狗读取数据的 python 应用程序。到目前为止,一切都在基于 ubuntu/debian 的系统中运行,在该系统中,我以一种相当生硬的方式与 GPS 进行通信,即使用 pySerial 扫描所有 /dev/ttyUSB0-9 以查找以 38400 波特率讲 NMEA 语句的内容。现在我被要求让这个应用程序跨平台工作,我有点困惑哪种是找到 GPS 加密狗的最佳方式。

我考虑过以下内容:

if os.name == "posix":
    self.conn = serial.Serial("/dev/ttyUSB%i" % usb)
elif os.name == "nt":
    ...

但我宁愿有一个跨平台工作的单一解决方案。有谁知道这样的解决方案?

I'm working on a python app that's reading from a gps usb dongle. This far everything has been running in ubuntu/debian based systems where I communicated with the gps in a rather blunt way of scanning all of /dev/ttyUSB0-9 with pySerial for something speaking NMEA sentences on 38400 baud. Now I have been asked to get this app working cross platform and I'm a bit confused on which would be the best way of finding the gps dongle.

I have considered something along the lines of:

if os.name == "posix":
    self.conn = serial.Serial("/dev/ttyUSB%i" % usb)
elif os.name == "nt":
    ...

But I would rather have a single solution that works cross platform. Does anyone know of such a solution?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情泪▽动烟 2024-10-08 07:13:56

您可以使用 scanwin32.py 模块可以找出哪些 COM 端口可用,然后使用返回的有关开放端口的信息,找到哪个是您的 GPS 加密狗。

编辑:该文档还提供了scan.py 模块仅包含一个非常简单的函数,可以探测每个 256 个端口以查找哪些端口是打开的,也许它足以满足您的需要。

You could use the comports function from the scanwin32.py module provided in the pySerial documentation to figure out which COM ports are available, and then, using the returned informations about the open ports, find which one is your GPS dongle.

Edit: The documentation also provides a scan.py module which contains only a very simple function that probes each 256 ports to find which ones are open, maybe it would be sufficient for what you need.

永不分离 2024-10-08 07:13:56

我猜想,从长远来看,你可能会更多地使用跨平台,所以为什么不继续使用它呢?

I would guess that in the long run you may have more use of a cross platform anyway so go for why not stay with it?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文