【发布时间】:2021-06-16 04:39:35
【问题描述】:
我使用大量的 Arduino(大约 2000 个批次),它们都需要通过 USB 加载固件。我已经编写了程序来加速这个过程,但是我找不到阻止程序将固件重写到 Arduino Leonardo 的方法,因为唯一的标识符似乎是 com 端口号。为了解决这个问题,我每次插入新的 Arduino 时都会按下一个键,但这很慢。我想让程序保持循环,这样我就不需要每次都按一个键或重新运行程序。如果我让它工作,那么我可以尽可能多地插入并在它们完成上传后继续关闭它们,因为我的程序已经可以上传到多个设备。
我已经了解了 avrdude 的 -U 参数,它允许程序员读取或验证设备的文件,这可能会检查加载的文件,但它需要引导加载 Leonardo,这至少在以下方面违背了目的效率(Leonardo 进入引导加载程序模式需要 0.5 秒)。我也想过通过固件包连接到带有固件的设备,但是尚未加载固件的设备的超时时间约为 5 秒。
是否可以在不使用引导加载程序的情况下检查 Arduino Leonardo 上先前加载的固件?任何帮助将不胜感激。
(仅供参考,我在 Python 中使用 Pyserial 和 Subprocess 包编写 this program)
【问题讨论】:
-
或者你可以找一个真正的程序员,甚至是一个帮派程序员,然后停止摆弄引导加载程序。如果您有真正的生产运行,也很容易将其外包出去。
-
但我不确定其他人能否做得更好,不过感谢您的想法。我在编程方面非常有经验,而且我看过很多选择。
标签: python performance arduino avrdude