Come faccio a scrivere uno schizzo Arduino e un'applicazione Android per parlare tra loro tramite un cavo USB standard?


Risposte:


6

I dispositivi Android di solito non hanno un host USB: si aspettano di essere collegati a dispositivi più intelligenti come il tuo computer. Lo stesso vale con Arduino. Per questo motivo Arduino ha realizzato il Mega ADK (che significa Accessory Development Kit ).

Mega ADK e Due fungono da host USB e possono essere collegati direttamente al tuo telefono Android. Se hai già una scheda, un'altra opzione è quella di ottenere uno scudo host USB per aggiungere capacità host USB.

Il tuo schizzo dirà al telefono che tipo di applicazione accessorio è e il tuo telefono scaricherà l'applicazione appropriata dal negozio.

C'è un libro sul collegamento di Arduino ad Android .


Esistono convertitori da mini USB a host USB-A.
apnorton,

@anorton Sì: quelli sono cavi OTG ... vedi il mio post.
Anonimo Penguin,

La premessa di questa risposta è stata superata anni prima che fosse pubblicato - dispositivi Android più contemporanei sono stati destinati ad avere il supporto USB host, anche se ci sono casi in cui qualche bizzarria delle foglie di progettazione è rotto.
Chris Stratton,

3

Non hai mai menzionato il tuo modello di tablet ... o il modello Arduino

Esistono alcuni tablet progettati per funzionare con unità flash USB e stampanti. Questo si chiama OTG (in movimento.

Hai bisogno:

  • Un tablet che supporta OTG
  • Un adattatore OTG che si adatta allo slot USB del tablet ed è compatibile
  • L'App Arduino Uno Communicator
  • Arduino Uno (o clone) [Nota: dice che funziona con Atmega16U2 o Atmega8U2 programmato come convertitore da USB a seriale, quindi presumo che coprirebbe alcune schede in più rispetto a Uno.)

Un'altra alternativa è quella di esaminare il Bluetooth (Nota: ho appena scelto un collegamento casuale ma ci sono centinaia di adattatori BT simili)


Si noti che la modalità host USB Android standard non supporta le unità flash con alcuna funzionalità del sistema operativo (anche se alcune build del fornitore lo fanno) - piuttosto, espone un'API host USB piuttosto grezza al codice dell'applicazione.
Chris Stratton,

2

Il protocollo USB richiede che un'estremità sia un "host" e l'altra estremità sia una "periferica" ​​e non funziona se i dispositivi su entrambe le estremità del cavo sono "periferiche". Purtroppo, la maggior parte degli Arduinos e molti dei primi dispositivi Android sono "periferiche", quindi il collegamento di tali dispositivi con un cavo USB standard non funziona.

Alcuni moderni dispositivi Android supportano "OTG", quindi in teoria si potrebbe fare in modo che la fine di Android del cavo sia "host". Qualcuno l'ha fatto funzionare?

Un altro approccio è in qualche modo rendere la fine del cavo Arduino "host", e la fine del cavo Android la "periferica". Questo è l'approccio adottato

(L'Amarino (a) e Cellbots (a) (b) adottano un altro approccio completamente diverso).


1

L'elaborazione è un ottimo punto di partenza per la comunicazione da dispositivo a dispositivo.

L'interfaccia e il linguaggio sono molto simili ad Arduino e ci sono molti esempi per iniziare.

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


2
Funziona su Android?
Pinguino anonimo,

@AnnonomusPerson Sì, elaborazione per Android
Faux_Clef

@Faux_Clef Hmm non lo sapeva. Non so ancora se sia il migliore per Android, quel link che hai pubblicato non sembrava molto stabile ... So che l'elaborazione ha il supporto USB ma non so se puoi farlo su Android ...
Anonimo Penguin,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.