2011-08-03 6 views
14

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, et je peux me connecter à l'aide d'un simple programme de communication série sur COM7 et 115.200 bauds. Cela me permet dans l'interface de ligne de commande, et je peux émettre des commandes et obtenir des journaux.Connexion USB hôte à série USB?

Est-il possible d'écrire une application Android qui communiquera via USB à mon ArduPilot Mega Board?

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

+1

J'ai trouvé https://github.com/ksksue/FTDriver et son successeur https://github.com/ksksue/PhysicaloidLibrary qui est spécialement conçu pour arduinos. – Bergi

+3

Il ya aussi https://github.com/felHR85/UsbSerial – Bergi

+0

@ Bergi, github.com/felHR85/UsbSerial .. cet exemple est très bon, merci, j'ai essayé avec le même exemple que je ne reçois pas les valeurs correctes dans EditText, ce que BOARD envoie via USB, pouvez-vous me dire raison. – kgsharathkumar

Répondre

0

Peut-être que. Découvrez le Android Open Accessories announcement on the Android Developers Blog. L'Arduino Mega ADK est compatible. Je ne suis pas sûr de l'Ardupilot Mega.

De leur page:

La plate-forme Android 3.1 (également rétroportés à Android 2.3.4) introduit Android Open support d'accessoires, qui permet à des périphériques USB externe (accessoire USB Android ) pour interagir avec un Appareil sous Android dans un mode "accessoire" spécial . Lorsqu'un appareil alimenté par Android est en mode accessoire , l'accessoire connecté agit en tant qu'hôte USB (alimente le bus et énumère les appareils) et l'appareil sous Android agit comme sur le périphérique USB. Les accessoires USB Android sont spécifiquement conçus pour être connectés aux périphériques sous Android et adhèrent à un protocole simple: (protocole accessoire Android) qui leur permet de détecter les appareils Android prenant en charge le mode accessoire. Les accessoires doivent également fournir 500mA à 5V pour la puissance de charge. De nombreux périphériques Android sous licence peuvent uniquement servir de périphérique USB et ne peuvent pas établir de connexion avec des périphériques USB externes. Android Open La prise en charge des accessoires surmonte cette limitation et vous permet de créer des accessoires pouvant interagir avec un assortiment de périphériques Android en permettant à l'accessoire d'initier la connexion.

Remarque: Le mode d'accessoire dépend en fin de compte du matériel de l'équipement et tous les périphériques ne prennent pas en charge le mode accessoire. Les périphériques qui prennent en charge le mode accessoire peuvent être filtrés à l'aide d'un élément "uses-feature" dans votre manifeste Android de l'application correspondante . Pour plus d'informations, voir le document USB Accessory Developer Guide.

La liste suivante de distributers produisent actuellement Android ouvert Accessoires cartes de développement compatibles:

Le magasin Arduino fournit l'Arduino Mega ADK (dans les pays de l'UE ou pays non-UE) qui est basé sur la ATmega2560 et prend en charge le firmware ADK . DIY Drones fournit une carte compatible Arduino orientée vers les amateurs de RC (radiocommandés) et de véhicules aériens sans pilote (UAV) . Microchip fournit une carte de microcontrôleur USB à base de PIC. Modern Device fournit une carte compatible Arduino prenant 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 prenant en charge le microprogramme ADK.La carte IOIO de SparkFun prend désormais en charge le bêta pour le firmware ADK.

+0

Oui ssaw que mais qui transforme l'appareil Android en un accessoire USB, et la carte Arduino doit jouer hôte, nécessitant un adaptateur, etc .. Je suis sûr qu'il y a un moyen facile juste pour obtenir les communications série en mode hôte USB . –

0

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

Il permet aux adaptateurs USB-série courants de fonctionner avec les appareils Android dotés du mode hôte USB sans avoir besoin d'être root.

+1

le lien posté est cassé. – Rachael

14

usb-serial-for-android est ma bibliothèque open source écrite pour exactement ce besoin. Il prend en charge les périphériques série USB FTDI et CDC-ACM à l'aide du support hôte USB d'Android; pas de racine ou ADK nécessaire. Il peut parler la plupart des Arduinos.

Le projet est encore à ses débuts, mais le soutien de base a fonctionné assez bien pour plusieurs projets. Il y a aussi un discussion list où vous pouvez obtenir de l'aide.

+0

Existe-t-il un exemple de code source compatible avec les périphériques CDC/ACM? – Machado

+2

Malheureusement, la licence LGPL le rend inutilisable pour la plupart des projets. –

-1

http://slickdevlabs.com/

J'utilise actuellement la bibliothèque dans ma propre application, mais je pense que vous pouvez vous en sortir avec juste l'application qui a marée noire sur le marché. Il y a deux applications gratuites et l'une est la version «pro» de l'une des versions gratuites; recherchez slick usb dans Google Play.

Il utilise le mode HOST et vous pouvez changer la vitesse de transmission en fonction de ce dont vous avez besoin.

+0

malheureusement, le lien est mort –

Questions connexes