Cominciamo spiegando che cos’è IOIO. E iniziamo a farlo riportando la traduzione di una parte del post riportato nel sito del suo creatore Ytai.
Il post originale lo potete trovare qui:
http://ytai-mer.blogspot.com/2011/04/meet-ioio-io-for-android.html
Sono molto entusiasta di annunciare il lancio di un nuovo prodotto per cui ho lavorato nei mesi scorsi!
IOIO (pronuncia: yo-yo) è un prodotto che consente di collegare circuiti elettronici ad un dispositivo Android e controllarli da un’applicazione Android.
E’ costituito da una piccola PCB (2.7×1.2 “= 7x3cm) che si connette ad un dispositivo Android con un cavo USB e una libreria software (Java. jar) da utilizzare nella vostra applicazione Android che gestisce tutte le comunicazioni con la scheda.
Non è necessaria nessuna programmazione del firmware – basta solo l’ “Android application authoring” con un API molto semplice (si vedano gli esempi qui sotto) per controllare i pin sulla scheda. Non è necessaria nessuna modifica del dispositivo Android – in modo di evitare modifiche complicate e la perdita della garanzia. E’ disponibile disponibile il preordine presso SparkFun in questa pagina.
Le prime schede saranno disponibili entro un paio di settimane. Per quel periodo, l’intero software e hardware sarà al 100% open source con una licenza permissiva.
Caratteristiche principali:
- 48 I/O in totale. Tutti gli I/O possono funzionare come ingressi o uscite digitali.
- Fino a 16 ingressi analogici con risoluzione a 10 bit.
- Fino a 9 uscite PWM.
- Fino a 4 canali UART.
- Fino a 3 canali SPI.
- Fino a 3 canali TWI (compatibile I2C).
- Regolatore switching on-board ad alta potenza: 5V 1.5A. Può caricare il dispositivo Android e fornire corrente necessaria per una coppia di piccoli motori.
- Il Bootloader sulla scheda permette di scaricare/caricare nuovo firmware OTA sul dispositivo Android e di eseguire l’aggiornamento firmware della scheda IOIO.
- Misurazione impulsi e capacitive sensing disponibili con il primo aggiornamento firmware OTA.
IOIO and Android
Codice di esempio:
Solo per darvi un indizio di quanto sia semplice scrivere applicazioni utilizzando IOIO, ecco un piccolo frammento da un app, che controlla un singolo servo (sul pin 12) e legge un potenziometro (sul pin 40). La gestione delle eccezioni e la corretta chiusura sono stati omessi per chiarezza.
ioio.waitForConnect();
AnalogInput input = ioio.openAnalogInput(40);
PwmOutput pwmOutput = ioio.openPwmOutput(12, 100); // 100Hz
while (true) {
float reading = input.read();
pwmOutput.setPulseWidth(1000 + Math.round(1000 * reading));
sleep(10);
}Progetto di esempio: the retroid.
Retroid Showcase
[..]
Perchè?
I telefoni Android sono potenti computer portatili con connessione internet e una ricca varietà di sensori integrati (fotocamera, GPS, IMU, touch screen). E’ anche molto facile scrivere applicazioni, grazie al grande lavoro svolto dagli sviluppatori di Android SDK. Per molte applicazioni ciò che realmente manca è la connettività a periferiche esterne. IOIO si colloca esattamente in questo punto: arricchisce la capacità intrinseca del dispositivo Android con la possibilità di comunicare con i circuiti esterni.
Da uno studio di soluzioni esistenti, esse soffrono tutte di uno o più delle seguenti limitazioni:
IOIO non soffre di una di queste limitazioni. Il suo costo (~ $ 50 da SparkFun) è competitivo con le soluzioni esistenti, molto semplice da usare, 3ms ~ di latenza one-way, il throughput ~ 300KB/sec, funziona con il sistema operativo installato nel dispositivo ed è di piccole dimensioni.
- Costo elevato.
- Complessità. Specialmente per i principianti assoluti.
- Latenza elevata.
- Bassa larghezza di banda.
- Sostituzione dell’OS del dispositivo Android.
- Grandi dimensioni fisiche.
Ringraziamenti
Vorrei ringraziare Google per sostenere questo progetto con il 20% del tempo delle persone. Questo progetto non sarebbe mai stato realizzato senza il loro aiuto.
Soprattutto vorrei ringraziare Ryan Hickman, Arshan Poursohi e Misha Seltzer.
Vorrei ringraziare tutti gli altri ragazzi di Google che ha contribuito a questo progetto con il codice, l’organizzazione della manifestazione hackathon, e fornendo un feedback critico nelle prime fasi del processo. Tutti voi sapete chi siete:)
Aaron Weiss di SparkFun mi ha aiutato molto con l’hardware e mi ha insegnato come la progettazione PCB viene realizzata nel mondo reale.
I miei cari amici che hanno avuto il compito di essere i primi testatori e che hanno costruito i primi fantastici progetti IOIO.
E, per ultima, ma non meno importante, la mia amata moglie e i bambini che sono stati pazienti e di sostegno al loro stanco papà.
Questo è il materiale più venduto .... caspita non credevo
RispondiEliminaproprio una prova
RispondiElimina