如何通过USB从Android设备上传.hex文件到arduino uno?

时间:2017-01-19 11:12:07

标签: android android-studio arduino usb

想创建Android应用程序,通过USB上传.hex文件到arduino uno。 Sketch IDE在编译程序后创建.hex文件。并且能够通过USB上传到arduino uno。所以任何机构都可以告诉我如何让Android应用程序上传.hex文件到arduno uno。在谷歌游戏商店有应用程序称为“Arduino Commander”,可以使用USB上传。而且我想知道那个

的android源代码

2 个答案:

答案 0 :(得分:1)

我不确切地知道你的意思这就是为什么它分为两部分:

要么使用arduino的虚拟COM端口将二进制文件写入EEPROM或使用RS-232协议进行闪存。

或者你想通过USB(DFU编程)的bootloader闪存.hex文件(将自编写和编译的程序写入arduino)。 我想你想做第一个

通常,arduino uno的USB实现USB CDC ACM类(https://en.wikipedia.org/wiki/USB_communications_device_class),并且是虚拟COM端口。因此,您可以通过USB从AV到Arduino与RS-232协议/命令进行通信。

在Android端有一个USB主机驱动程序(https://github.com/mik3y/usb-serial-for-android),它使你的android能够枚举像arduino这样的虚拟COM端口(USB CDC ACM设备)。

在这种情况下android是USB主机,arduino是USB设备。在USB协议中,只有一个设备处于主机模式所有其他设备必须处于设备模式然后

所以在你的android上你可以在项目中包含 usb-serial-for-andoid 驱动程序,然后使用RS-232命令与arduinos虚拟COM进行通信,一个例子是 https://github.com/mik3y/usb-serial-for-android

在您的arduino上,您必须实现一个了解它通过虚拟COM端口接收的命令的软件,请参阅https://www.arduino.cc/en/Tutorial/SoftwareSerialExample了解arduino上的RS-232

通过这种方式,您可以实现类似Arduino Commander https://www.arduino.cc/en/Main/USBSerial

的功能

您还可以在http://arduino.stackexchange.com

询问arduino问题

http://www.v-lad.org/projects/gnu.io.android/

通过USB端口编程arduino(闪烁a .hex)是有效的,因为Arduino芯片有一个预装的引导加载程序(http://wiki.osdev.org/Bootloader)。这称为DFU(设备固件更新)。 DFU是一种特殊的USB协议。您可以按照本教程https://www.arduino.cc/en/Hacking/DFUProgramming8U2注意,当您执行此操作时,您将覆盖/删除arduino上的任何固件(引导加载程序和其他一些低级任务除外)并将其替换为新开发的

没有这个Android应用程序和arduino指挥官无法做到这一点,这就是为什么我不认为你想这样做(DFU使用android作为主机)

答案 1 :(得分:0)

使用Physicaloid,它提供了一种将草图文件上传到arduino的简单方法。草图文件存储在应用程序的资产文件夹中。