Android-соединение от хоста к последовательному порту Android?

Очевидно, что с Android 2.3.4 и 3.1 теперь можно получить доступ к аксессуарам USB.

У меня есть плата Ardupilot Mega (на базе Arduino) с USB-кабелем, подключенным к моему ноутбуку, и я могу подключиться к ней с помощью простой программы последовательной связи по COM7 и 115 200 бод. Это позволяет мне войти в интерфейс командной строки, и я могу выдавать команды и получать журналы.

Можно ли написать приложение для Android, которое будет связываться через USB на моей плате Ardupilot Mega?

Я видел много похожих потоков, но большинство из них были узлами до USB.

Ответы

Ответ 1

usb-serial-for-android - это моя библиотека с открытым исходным кодом, написанная именно для этой потребности. Он поддерживает USB-устройства FTDI и CDC-ACM с поддержкой хоста Android USB; не нужен корень или ADK. Это может говорить большинство Ардуинов.

Проект все еще находится в первых рядах, но базовая поддержка работала достаточно хорошо для нескольких проектов. Существует также список обсуждений, где вы можете получить справку.

Ответ 2

К сожалению, библиотека из mik3y answer (см. здесь: mik3y/usb-serial-for-android), похоже, давно умерла. У него много проблем и ожиданий запросов на получение. Кроме того, лицензия LGPL запрещает кому-либо ее раскошелиться и поддерживать.

Но не теряйте надежды, есть рабочая замена и она под лицензией MIT. felHR85/UsbSerial.

ОБНОВЛЕНИЕ: Я нашел поддерживаемый форк библиотеки mik3y. Но лицензия или readme не обновляются, поэтому я полагаю, что владелец не имеет связи с mik3y и просто взял и улучшил его. Я надеюсь, что у него не будет проблем из-за лицензии, потому что нам нужна эта библиотека. Смотрите kai-morich/usb-serial-for-android

Ответ 3

Может быть. Просмотрите объявление Android Open Accessories в блоге разработчиков Android. Arduino Mega ADK совместим. Не уверен в Ardupilot Mega.

На странице:

Платформа Android 3.1 (также поддерживаемая Android 2.3.4) представляет Поддержка Android Open Accessory, которая позволяет использовать внешние USB-устройства ( Android USB) для взаимодействия с устройством на базе Android в специальный "вспомогательный" режим. Когда устройство с питанием от Android находится в вспомогательный режим, подключенный аксессуар действует как хост USB (полномочия шины и перечисляет устройства), а устройство на базе Android работает как USB-устройство. Аксессуары для Android USB специально разработаны для присоединяться к устройствам на базе Android и придерживаться простого протокола (Протокол аксессуаров Android), который позволяет им обнаруживать Android-устройства, поддерживающие режим аксессуаров. Аксессуары должны также обеспечивают 500 мА при 5 В для зарядки. Многие ранее выпущенные Устройства на базе Android могут работать только как USB-устройство и не может инициировать соединения с внешними устройствами USB. Android Open Поддержка аксессуаров преодолевает это ограничение и позволяет вам создавать аксессуары, которые могут взаимодействовать с ассортиментом Android-powered устройств, позволяя аксессуару инициировать соединение.

Примечание. Режим аксессуаров в конечном счете зависит от аппаратного обеспечения устройства и не все устройства будут поддерживать режим аксессуаров. Устройства, поддерживающие аксессуар можно отфильтровать с помощью элемента "uses-feature" в вашем соответствующее проявление Android. Чтобы получить больше информации, см. Руководство разработчика USB-аксессуаров.

Следующий список дистрибьюторов в настоящее время выпускает Android Платы разработки, совместимые с Open Accessory:

Магазин Arduino предоставляет Arduino Mega ADK (в странах ЕС или не входящие в ЕС), основанный на ATmega2560 и поддерживающий ADK микропрограммное обеспечение. DIY Drones обеспечивает совместимую с Arduino плату к RC (радиоуправляемому) и БПЛА (беспилотный летательный аппарат) энтузиастов. Микрочип обеспечивает микроконтроллер PIC на базе микроконтроллера. Современное устройство обеспечивает совместимую с Arduino плату, которая поддерживает Прошивка ADK. RT Corp представляет собой совместимую с Arduino плату на основе дизайн платы Android ADK. Seeed Studio предоставляет Arduino-совместимая плата, поддерживающая прошивку ADK. SparkFun-х Плата IOIO теперь поддерживает бета-версию прошивки ADK.

Ответ 4

Вы можете проверить библиотеку, описанную в Slick USB 2 Serial Library.

Он позволяет обычным адаптерам от USB к последовательному устройству работать с устройствами Android, которые имеют режим USB-хоста без необходимости запускать.

Ответ 5

http://slickdevlabs.com/

В настоящее время я использую библиотеку в своем собственном приложении, однако, я думаю, вы можете уйти с помощью только того приложения, которое доступно на рынке. Есть два бесплатных приложения, а один - "про" версия одного из бесплатных; поиск slick usb в Google Play.

Он использует режим HOST, и вы можете изменить скорость передачи на все, что вам нужно.