如何从bash上传源代码到Arduino?

现在我正在使用标准的Arduino IDE 1.0.1。

然而,我发现IDE本身很笨拙,而我自己在其他编辑器中编辑代码,只能将其粘贴到IDE中并上传到我的Arduino。

我真的不喜欢这个工作stream程。

所以我想知道:是否有不同的方式通过命令行最多部署一个Arduino项目? 基本上我正在寻找一种方法来从bash运行诸如arduino deploy /path/to/project /dev/ttyUSB0

您需要一个名为avrdude的程序将二进制文件上传到您的目标,并根据您的设置和目标修改参数:

 mcu=atmega8 f_cpu=16000000 format=ihex rate=19200 port=/dev/ttyusb0 programmer=stk500 target_file=test.hex avrdude -F -p $mcu -P $port -c $programmer -b $rate -U flash:w:$target_file 

如果你在DebianUbuntu机器上,你应该可以这样做来安装avrdude

 sudo apt-get install avrdude 

否则,你应该能够从这里获取源代码并自己构建。

还有一个全面的Makefile ,你可以使用它来构建并上传到你的Arduino ,它再次使用类似的avrdude命令上传到目标。 更改Makefile中的参数后,运行make upload将hex文件make upload到目标。

注意:您需要安装gcc-avravr-libc软件包来构建二进制文件(问题看起来像您已经在做)。

以下是您可以尝试的两个选项

只有Arduino 1.5.x

如果您使用的是Arduino 1.5.x,那么您可以使用arduino可执行文件接受命令行参数 。

请注意,Arduino 1.5.x仍处于测试阶段,所以您可能会遇到一些问题。

Arduino 1.0.x

如果您使用的是Arduino 1.0.x,那么您可以使用我的makefile for Arduino ,它可以用来从命令行编译和上传Arduino(或简单的AVR C)程序到Arduino。

以下是这个makefile的一些重要特性

  • 支持通过Arduino作为ISP或任何程序员上传
  • 通过串行与Arduino进行通信
  • 支持编译AVR C程序
  • 支持用户以及系统库。
  • 生成汇编和符号文件
  • 使用备用Arduino内核的程序(如ATtiny或Arduino备用内核)

我已经做了一个arduino建设者的Ubuntu / Linux的帮助

  • 建立
  • 上传
  • 听串口
  • 跟踪草图文件中的更改

生成器和说明如何设置一切可以在这里找到: https : //github.com/limitium/arduino_builder

你也可以在这里看到关于它的小演示视频: https : //youtu.be/Nu3YGMoXORI