Comment écrire un croquis Arduino et une application Android pour communiquer entre eux via un câble USB standard?


Réponses:


6

Les appareils Android n'ont généralement pas d'hôte USB: ils s'attendent à être connectés à un appareil plus intelligent comme votre ordinateur. Il en va de même avec Arduino. Pour cette raison, Arduino a créé le Mega ADK (cela signifie Kit de développement d'accessoires ).

Mega ADK et Due agissent comme hôtes USB et peuvent être connectés directement à votre téléphone Android. Si vous avez déjà une carte, une autre option consiste à obtenir un bouclier hôte USB pour ajouter des capacités d'hôte USB.

Votre croquis indiquera au téléphone de quel type d'application accessoire il s'agit et votre téléphone téléchargera l'application appropriée dans le magasin.

Il y a un livre sur la connexion d' Arduino à Android .


Il existe des convertisseurs de mini USB vers hôte USB-A.
apnorton

@anorton Oui: ce sont des câbles OTG ... voir mon article.
Anonymous Penguin

La prémisse de cette réponse était dépassée des années avant sa publication - la plupart des appareils Android contemporains étaient destinés à prendre en charge l'hôte USB, bien qu'il existe des cas où une certaine bizarrerie de la conception la laisse brisée.
Chris Stratton

3

Vous n'avez jamais mentionné votre modèle de tablette ... ou modèle Arduino

Certaines tablettes sont conçues pour fonctionner avec des lecteurs flash USB et des imprimantes. C'est ce qu'on appelle OTG (sur la route.

Vous avez besoin:

  • Une tablette prenant en charge OTG
  • Un adaptateur OTG qui s'insère dans la fente USB de votre tablette et est compatible
  • L'application Arduino Uno Communicator
  • Arduino Uno (ou clone) [Remarque: il est dit qu'il fonctionne avec Atmega16U2 ou Atmega8U2 programmé en tant que convertisseur USB-série, je suppose donc que cela couvrirait quelques cartes de plus que l'Uno.)

Une autre alternative consiste à se pencher sur Bluetooth (Remarque: je viens de choisir un lien aléatoire, mais il existe des centaines d'adaptateurs BT similaires)


Notez que le mode hôte USB Android standard ne prend pas en charge les lecteurs flash avec toutes les fonctionnalités du système d'exploitation (bien que quelques versions de fournisseurs le fassent) - il expose plutôt une API hôte USB assez brute au code d'application.
Chris Stratton

2

Le protocole USB nécessite qu'une extrémité soit un "hôte" et l'autre extrémité un "périphérique", et cela ne fonctionne pas si les périphériques aux deux extrémités du câble sont des "périphériques". Hélas, la plupart des Arduinos et de nombreux premiers appareils Android sont des "périphériques", donc la connexion de tels appareils avec un câble USB standard ne fonctionne pas.

Certains appareils Android modernes prennent en charge "OTG", donc en théorie, on pourrait faire de l'extrémité Android du câble "l'hôte". Quelqu'un a-t-il réussi à faire fonctionner cela?

Une autre approche consiste à faire en quelque sorte l'extrémité Arduino du câble «hôte» et l'extrémité Android du câble «périphérique». C'est l'approche adoptée par

  • Microbridge (a) (b)
  • Le conseil d'administration de l'IOIO (a) (b)
  • Kit de développement d'accessoires Android (ADK) (a) (b) (c)

(L'Amarino (a) et les Cellbots (a) (b) adoptent une autre approche complètement différente).


1

Le traitement est un excellent endroit pour commencer la communication entre appareils.

L'interface et le langage sont très similaires à Arduino et il existe de nombreux exemples pour vous aider à démarrer.

http://playground.arduino.cc/Interfacing/Processing


2
Cela fonctionne-t-il sur Android?
Anonymous Penguin

@AnnonomusPerson Oui, traitement pour Android
Faux_Clef

@Faux_Clef Hmm ne le savait pas. Je ne sais toujours pas si c'est le meilleur pour Android, ce lien que vous avez posté ne semblait pas très stable ... Je sais que le traitement a un support USB mais je ne sais pas si vous pouvez le faire sur Android ...
Anonymous Penguin

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.