想要创建一个Android应用程序以通过USB将.hex文件上传到arduino uno。Sketch IDE会在编译程序后创建.hex文件,并能够通过USB上传到arduino uno。所以任何人都可以告诉我,如何使android应用程序将.hex文件上传到arduno uno。Google Play商店中有一个名为“ Arduino Commander”的应用程序,可以使用USB上传。我也想知道这个的android源代码
我不确切知道您的意思,这就是为什么将其分为两个部分:
您想使用arduino的虚拟COM端口将二进制文件写入EEPROM或使用RS-232协议进行闪存。
或者您想通过USB的引导加载程序(.DFU编程)刷新.hex文件(将自编写和编译的程序写入arduino)。我想你想做第一个
通常,arduino uno的USB实现USB CDC ACM类(https://en.wikipedia.org/wiki/USB_communications_device_class),并且是虚拟COM端口。因此,您可以通过USB从Android到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-串行Android。
在您的arduino上,您必须实现一个软件,该软件可以理解它通过虚拟com端口接收的命令,请参阅arduino上针对RS-232的https://www.arduino.cc/en/Tutorial/SoftwareSerialExample
通过这种方式,您可以实现类似的功能,例如Arduino Commander https://www.arduino.cc/en/Main/USBSerial
您也可以在http://arduino.stackexchange.com上询问arduino问题
(http://www.v-lad.org/projects/gnu.io.android/)
通过Arduino端口进行arduino编程(闪烁.hex)的方法是可行的,因为Arduino芯片已预安装了引导加载程序(http://wiki.osdev.org/Bootloader)。这称为DFU(设备固件更新)。DFU是一种特殊的USB协议。您可以按照本教程https://www.arduino.cc/en/Hacking/DFUProgramming8U2的说明进行操作,请注意,执行此操作时,您会覆盖/删除arduino上的任何固件(引导加载程序和一些其他低级任务除外),用您新开发的替代它
没有适用于此的android应用程序,而arduino指挥官无法做到这一点,这就是为什么我不认为您要这样做(使用Android作为主机的DFU)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句