it-swarm.com.de

Android USB Host-to-Serial-Verbindung?

Anscheinend kann man mit Android 2.3.4 und 3.1 jetzt auf USB-Zubehör zugreifen.

Ich habe eine Ardupilot Mega-Karte (basierend auf Arduino) mit einem USB-Kabel, das an meinen Laptop angeschlossen ist, und ich kann eine Verbindung mit einem einfachen seriellen Kommunikationsprogramm über COM7 und 115.200 Baud herstellen. Auf diese Weise kann ich auf die Befehlszeilenschnittstelle zugreifen, Befehle eingeben und Protokolle abrufen.

Kann ich eine Android-App schreiben, die über USB mit meinem Ardupilot Mega-Board kommuniziert?

Ich habe viele ähnliche Threads gesehen, aber die meisten waren Pre-USB-Hosts.

15
Hein du Plessis

usb-serial-for-Androidist meine Open-Source-Bibliothek, die genau für diesen Bedarf geschrieben wurde. Es unterstützt serielle FTDI- und CDC-ACM-USB-Geräte mit Unterstützung des USB-Hosts von Android. kein root oder ADK notwendig. Es kann die meisten Arduinos sprechen.

Das Projekt ist noch am Anfang, aber die grundlegende Unterstützung hat für mehrere Projekte gut genug funktioniert. Es gibt auch eine Diskussionsliste , wo Sie Hilfe bekommen können.

14
mik3y

Leider ist die Bibliothek von mik3y's answer (siehe hier: mik3y/usb-serial-for-Android ) scheint lange tot zu sein. Es hat viele Probleme und wartende Pull-Anfragen. Auch die LGPL-Lizenz verhindert, dass jemand sie verfälscht und wartet.

Aber verlieren Sie nicht Ihre Hoffnung, es gibt einen funktionierenden Ersatz und er steht unter der Lizenz MIT. felHR85/UsbSerial .

EDIT: Ich habe eine gepflegte Abzweigung der Bibliothek von mik3y gefunden. Die Lizenz oder die Readme-Datei wird jedoch nicht aktualisiert, daher hat der Eigentümer vermutlich keine Verbindung zu mik3y und hat sie einfach übernommen und verbessert. Ich hoffe, dass er wegen der Lizenz keine Probleme bekommt, denn wir brauchen diese Bibliothek. Siehe kai-morich/usb-serial-for-Android

1
Jakub Turcovsky

Sie können die inSlick USB 2 Serial Librarybeschriebene Bibliothek auschecken.

Es ermöglicht gängigen USB-zu-Seriell-Adaptern, mit Android-Geräten zu arbeiten, die über einen USB-Host-Modus verfügen, ohne dass ein Root erforderlich ist.

0
SlickDev

Könnte sein. Schauen Sie sich die Ankündigung von Android Open Accessories im Android Developers Blog an . Der Arduino Mega ADK ist kompatibel. Nicht sicher über die Ardupilot Mega.

Von ihrer Seite:

Die Android 3.1-Plattform (auch auf Android 2.3.4 zurückgesetzt) ​​führt die Android Open Accessory-Unterstützung ein, mit der externe USB-Hardware (ein Android USB-Zubehör) mit einem Android-fähigen Gerät interagieren kann spezieller "Zubehör" -Modus. Wenn sich ein Android-Gerät im Zubehörmodus Befindet, fungiert das angeschlossene Zubehörteil als USB-Host (versorgt den Bus mit Und zählt Geräte auf) und das Android-Gerät als . ] das USB-Gerät. Android USB-Zubehör wurde speziell für den Anschluss von An Android-Geräte entwickelt und hält sich an ein einfaches Protokoll (Android-Zubehörprotokoll), das es ihnen ermöglicht, Android-Geräte, die Unterstützung unterstützen, zu erkennen Zubehörmodus. Zubehör muss Auch 500 mA bei 5 V für die Ladeleistung bereitstellen. Viele zuvor veröffentlichte Geräte mit Android-Funktion können nur als USB-Gerät fungieren und Können keine Verbindungen mit externen USB-Geräten herstellen. Android Open Zubehör-Support überwindet diese Einschränkung und ermöglicht das Erstellen von Zubehör, das mit einer Reihe von Android-betriebenen Geräten interagieren kann, indem das Zubehör die Verbindung herstellen kann.

Hinweis: Der Zubehörmodus ist letztendlich von der Hardware des Geräts Abhängig. Nicht alle Geräte unterstützen den Zubehörmodus. Geräte, die den Zubehörmodus Unterstützen, können mithilfe eines Elements "uses-feature" im Android-Manifest der entsprechenden Anwendung Gefiltert werden. Weitere Informationen Finden Sie im USB Accessory Developer Guide.

Die folgende Liste von Distributoren produziert derzeit Android Open Accessory-kompatible Entwicklungsboards:

Der Arduino Store bietet das Arduino Mega ADK (in EU-Ländern oder Nicht-EU-Ländern) an, das auf dem ATmega2560 basiert und die ADK-Firmware (.____.) Unterstützt. DIY Drones bietet ein Arduino-kompatibles Board, das Auf RC (Funkfernsteuerung) und UAV (unbemanntes Luftfahrzeug) Ausgerichtet ist. Microchip bietet eine PIC-basierte USB-Mikrocontrollerplatine. Modern Device bietet eine Arduino-kompatible Platine, die die ADK-Firmware unterstützt. RT Corp stellt ein Arduino-kompatibles Board bereit, das auf Dem Android ADK-Board-Design basiert. Seeed Studio bietet eine Arduino-kompatible Karte, die die ADK-Firmware unterstützt. Die IOIO-Karte Von SparkFun bietet jetzt Beta-Unterstützung für die ADK-Firmware.

0
Zoot