我想编写一个网络应用程序,允许人们远程编程 Arduino。将有一个带有 lolShield 的 Arduino 的实时视频流。
在 Python 中闪存 Arduino 的最佳方法是什么?
inotool是草图环境的命令行包装器,用 python 编写。
或者您可以使用 exec() 来运行命令行 Arduino 编译和下载中的命令行解决方案之一?
avrdude 是通过串行接口对 Arduino 进行编程的工具。所以基本上你需要一个从你的网络服务器到有问题的 Arduino 的串行接口。这里有两种方法可以帮助你到达那里(我在大约 1.5 年前尝试过第一种方法,它很容易奏效):
Xbee 射频模块可以透明地在串行模式下运行,非常适合这种用例。这样做的缺点是您需要一台连接到 Internet 并充当 Xbee/Zigbee 网络的网关的本地中间机器。ladyada.net 上详细描述了通过 Xbee 对 Arduino 进行编程。
如果您需要直接 WiFi 连接,这应该以相同的方式工作。XBee 分为两部分:1)适配器,它通过串行接口连接到 Arduino,2)实际的射频模块。因此,如果您可以获得一个位于 XBee 适配器顶部的 WiFi 模块,那么同样的方法应该可以工作。我自己没有尝试过,但我想将第一种方法与homebrew-tech.com的以下方法结合起来应该可行。
Inotool 是一个不错的选择。除此之外,您还可以尝试以下两个选项。
仅限 Arduino 1.5.x
如果您使用的是 Arduino 1.5.x,那么您可以使用 arduino 可执行文件可以接受命令行参数。
请注意,Arduino 1.5.x 仍处于测试阶段,因此您可能会遇到一些问题。
Arduino 1.0.x
如果您使用的是 Arduino 1.0.x,那么您可以使用我的 Arduino 生成文件,它可用于从命令行编译和上传 Arduino(或普通 AVR C)程序到 Arduino。