хотите создать приложение для Android для загрузки .hex файла в arduino uno через USB. Sketch IDE создает файл .hex после компиляции программы. И может загружаться в arduino uno через USB. Так может любой орган сказать мне, как сделать приложение Android для загрузки .hex-файла в arduno uno. В Google Play Store есть приложение под названием «Arduino Commander», которое может загружать с помощью USB. А также я хочу знать андроида исходный код для этойКак загрузить файл .hex в arduino uno через USB с устройства Android?
ответ
я не знаю точно, что вы имеете в виду именно поэтому это делится на две части:
или вы хотите использовать виртуальный COM порт Arduino, чтобы написать двоичный файл в EEPROM или флэш, используя протокол RS-232.
или вы хотите запустить файл .hex (написать самозаписываемую и скомпилированную программу на arduino) через свой загрузчик через USB (программирование DFU). я думаю, что вы хотите сделать USB первых один
обычно Arduino Uno в реализуете USB CDC ACM класса (https://en.wikipedia.org/wiki/USB_communications_device_class) и являются Virtual COM-портом. Таким образом, вы можете общаться с протоколом/командами RS-232 через USB от android до arduino.
на стороне Android есть драйвер хоста USB (https://github.com/mik3y/usb-serial-for-android), который позволяет вашему android перечислять виртуальные COM-порты (USB CDC ACM-устройства), такие как arduino.
В этой ситуации андроид является USB-хостом, устройство arduino - USB. В протоколе USB может только одно устройство находится в режиме хоста все остальные устройства должны находиться в режимеустройство затем
так на вашем андроид вы можете включить драйвер USB-последовательный обмен на Andoid в вашем проект, а затем использовать команды RS-232 для связи с виртуальным COM-контроллером arduinos, пример находится в https://github.com/mik3y/usb-serial-for-android.
на вашем Arduino вы должны внедрить программное обеспечение, которое понимает команды, которые он получает через виртуальный порт COM, см https://www.arduino.cc/en/Tutorial/SoftwareSerialExample для RS-232 на Arduino
этим вы можете реализовать подобную функциональность как Arduino Commander https://www.arduino.cc/en/Main/USBSerial
вы также можете задать вопросы Arduino на http://arduino.stackexchange.com
(http://www.v-lad.org/projects/gnu.io.android/)
Программирование arduino (мигает .hex) через порт USB работает, потому что в чипе Arduino установлен предустановленный загрузчик (http://wiki.osdev.org/Bootloader). это называется DFU (Обновление прошивки устройства). DFU - специальный USB-протокол. вы можете следовать этому руководству https://www.arduino.cc/en/Hacking/DFUProgramming8U2. Обратите внимание, что при этом вы перезаписываете/удаляете любую прошивку, находящуюся на ардуине (кроме загрузчика и некоторых других задач низкого уровня), и заменяете его на недавно разработанный
нет андроида приложение для этого и командующий arduino не в состоянии сделать это, поэтому я не думаю, что вы хотите это сделать (DFU с использованием андроида в качестве хоста)
Вы можете видеть серийный порт arduino при подключении к порту USB ?Если это так, вы «просто» должны сделать альтернативу avrdude для android или посмотреть проект andavr. Если вы не видите этого, вам просто нужно исправить ядро для установки необходимых драйверов. В любом случае обратите внимание, что только что было написано в двойных кавычках ... Что касается исходного кода Arduino Commander, что явно является запросом? Вы хотите, чтобы кто-то искал его для вас, или вы хотите, чтобы кто-то перепроектировал приложение для вас, или вы хотите, чтобы автор приложения случайно увидел ваше сообщение и отправил вам все приложение по электронной почте? – frarugi87
Я хочу знать, как выполнить загрузку .hex-файла с android через usb в arduino, например: какой инструмент я должен использовать (библиотеки, api ...), которые делают соединение между android и arduino для загрузки через usb, и шаг пошаговой инструкции, чтобы реализовать его, я нашел проект similair на github, который загружает, но он не работает (он использует библиотеку физиологов). Спасибо –
Я попытался сказать это мягче, но, возможно, я был недостаточно ясен. Так скажем так по-другому. У вас есть Android-телефон без USB OTG? Тогда вы не можете. Если у вас есть, вы видите какое-либо последовательное устройство при подключении ардуино? Если вы этого не сделаете, вам придется скомпилировать драйвер CDC внутри ядра вашего телефона (довольно сложно). Если вам удастся установить его или у вас уже есть, вам нужно найти альтернативу avrdude (например, AndAVR) и использовать ее для отправки программы, как на ПК (через терминал, конечно ... Нет графического интерфейса пользователя) или построить программу, чтобы сделать это самостоятельно – frarugi87