2017-01-19 8 views
-1

хотите создать приложение для 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?

+2

Вы можете видеть серийный порт arduino при подключении к порту USB ?Если это так, вы «просто» должны сделать альтернативу avrdude для android или посмотреть проект andavr. Если вы не видите этого, вам просто нужно исправить ядро ​​для установки необходимых драйверов. В любом случае обратите внимание, что только что было написано в двойных кавычках ... Что касается исходного кода Arduino Commander, что явно является запросом? Вы хотите, чтобы кто-то искал его для вас, или вы хотите, чтобы кто-то перепроектировал приложение для вас, или вы хотите, чтобы автор приложения случайно увидел ваше сообщение и отправил вам все приложение по электронной почте? – frarugi87

+0

Я хочу знать, как выполнить загрузку .hex-файла с android через usb в arduino, например: какой инструмент я должен использовать (библиотеки, api ...), которые делают соединение между android и arduino для загрузки через usb, и шаг пошаговой инструкции, чтобы реализовать его, я нашел проект similair на github, который загружает, но он не работает (он использует библиотеку физиологов). Спасибо –

+0

Я попытался сказать это мягче, но, возможно, я был недостаточно ясен. Так скажем так по-другому. У вас есть Android-телефон без USB OTG? Тогда вы не можете. Если у вас есть, вы видите какое-либо последовательное устройство при подключении ардуино? Если вы этого не сделаете, вам придется скомпилировать драйвер CDC внутри ядра вашего телефона (довольно сложно). Если вам удастся установить его или у вас уже есть, вам нужно найти альтернативу avrdude (например, AndAVR) и использовать ее для отправки программы, как на ПК (через терминал, конечно ... Нет графического интерфейса пользователя) или построить программу, чтобы сделать это самостоятельно – frarugi87

ответ

1

я не знаю точно, что вы имеете в виду именно поэтому это делится на две части:

или вы хотите использовать виртуальный 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 с использованием андроида в качестве хоста)

 Смежные вопросы

  • Нет связанных вопросов^_^