web-dev-qa-db-fra.com

Android USB connexion hôte-série?

Apparemment, avec Android 2.3.4 et 3.1, on peut maintenant accéder aux accessoires USB.

J'ai une carte Ardupilot Mega (basée sur Arduino) avec un câble USB connecté à mon ordinateur portable, à laquelle je peux me connecter à l'aide d'un simple programme de communication série sur COM7 et à 115 200 bauds. Cela me permet d'accéder à l'interface de ligne de commande et de pouvoir exécuter des commandes et obtenir des journaux.

Est-il possible d'écrire une application Android qui communiquera via USB à ma carte Ardupilot Mega?

J'ai vu beaucoup de discussions similaires, mais la plupart d'entre elles étaient des hôtes pré-USB.

15
Hein du Plessis

usb-serial-for-Androidest ma bibliothèque open source écrite exactement pour ce besoin. Il prend en charge les périphériques série usb FTDI et CDC-ACM utilisant le support USB Host d'Android; aucune racine ou ADK nécessaire. Il peut parler la plupart des Arduinos.

Le projet en est encore à ses débuts, mais le soutien de base a assez bien fonctionné pour plusieurs projets. Il existe également une liste de discussion où vous pouvez obtenir de l'aide.

14
mik3y

Vous pouvez consulter la bibliothèque décrite dans- Slick USB Serial Library.

Il permet aux adaptateurs USB/série courants de fonctionner avec des périphériques Android dotés du mode hôte USB sans avoir besoin de root.

0
SlickDev

Peut être. Consultez l'annonce Android Open Accessories annoncée sur le blog Android Developers . L'Arduino Mega ADK est compatible. Pas sûr du Ardupilot Mega.

De leur page:

La plate-forme Android 3.1 (également compatible avec Android 2.3.4) introduit le support de Android Open Accessory, qui permet au matériel USB externe (un accessoire USB Android) d’interagir avec un Mode "accessoire" spécial. Lorsqu'un périphérique alimenté par Android est en mode accessoire , L'accessoire connecté joue le rôle d'hôte USB (alimente le bus et énumère les périphériques) et le périphérique fonctionnant sous Android agit comme le périphérique USB. Les accessoires USB Android sont spécifiquement conçus pour Se connecter à des appareils Android et adhérer à un protocole simple (protocole d'accessoire Android) leur permettant de détecter des appareils Android prenant en charge mode accessoire. Les accessoires doivent Fournir également 500 mA à 5 V pour la charge. De nombreux appareils Android Précédemment publiés ne peuvent fonctionner que comme un périphérique USB et Ne peut pas établir de connexion avec des périphériques USB externes. Android Open La prise en charge des accessoires dépasse cette limitation et vous permet de créer Des accessoires pouvant interagir avec un assortiment de périphériques Fonctionnant sous Android en permettant à l'accessoire d'établir la connexion.

Remarque: le mode accessoire dépend en fin de compte du matériel du périphérique Et tous les périphériques ne prendront pas en charge le mode accessoire. Les appareils prenant en charge le mode accessoire Peuvent être filtrés à l'aide d'un élément "uses-feature" dans le manifeste Android de votre Application correspondante. Pour plus d'informations, Consultez le Guide du développeur d'accessoires USB.

La liste suivante de distributeurs est en train de produire des cartes de développement compatibles Android Open Accessory:

L'Arduino Store fournit le Arduino Mega ADK (dans les pays de l'UE ou les pays Non membres de l'UE) basé sur ATmega2560 et prenant en charge le micrologiciel ADK . DIY Drones fournit une carte compatible Arduino, destinée aux amateurs de radiocommunications (contrôlée par radio) et d’UAV (véhicules aériens sans pilote) . Microchip fournit une carte microcontrôleur USB basée sur PIC. Modern Device fournit une carte compatible Arduino qui prend en charge le micrologiciel ADK. RT Corp fournit une carte compatible Arduino basée sur La conception de la carte Android ADK. Seeed Studio fournit une carte compatible Arduino qui prend en charge le micrologiciel ADK. La carte IOIO de SparkFun prend désormais en charge la version bêta du micrologiciel ADK.

0
Zoot