【问题标题】:Make Arduinos stay on the same com<x> when using USB使用 USB 时使 Arduinos 保持在同一个 com<x> 上
【发布时间】:2026-01-23 14:25:01
【问题描述】:

每次在我的计算机上插入 Arduino Uno 时,我都需要更改代码(Python、pyfirmata 库)以连接到不同的“COM{n}”端口。我希望能够拥有一段代码,当它通过 USB 连接时,它总是能够连接到 Arduino。我用来与 Arduino 建立连接的代码如下:

self.board = pyfirmata.Arduino("COM4")

如果我改变 Arduino,函数的参数总是会改变。例如,它可以随机更改为“COM7”。有没有办法解决这个问题,所以我可以随时连接到 Arduino,而不必一直手动更改 COM 端口?

【问题讨论】:

  • 将 USB 串行端口分配给 COM&lt;n&gt; 名称由操作系统完成。而是在那里检查,为什么在重新插入相同的 Arduino 时之前分配的名称仍然被阻止(?)?
  • 我的回答对您有帮助吗?接受它

标签: python arduino arduino-uno


【解决方案1】:

模块pyfirmatautil.py (link) 中有方法get_the_board()

帮助功能使唯一的板连接到计算机 运行这个。它假定一个正常的 arduino 布局,但这可以是 通过将不同的布局字典作为layout 参数传递来覆盖。 base_diridentifier 也是可覆盖的。它会引发一个 如果找不到板、串行或找到多个板,则会出现 IOError。

此外,请参阅post 以及其他用户实现的方法。

【讨论】: