L'ho trovato molto interessante e l'ho usato come punto di partenza al fine di creare un protocollo di comunicazione su canale audio che fosse valido su tre dispositivi PC - Smart Phone e Scheda Arduino, naturalmente il linguaggio di programmazione più vicino a tutti è il Java... ma partiamo dal protocollo :
Il concetto è semplice: il dispositivo trasmittente invia impulsi intervallati da pause ben precise per trasferire treni di bits ( raccolti in gruppi da 8 ( 1 bytes) ). Due impulsi ravvicinati descrivono il livello logico 0 e un impulso il livello logico 1 :
Ogni bit è preceduto e seguito da una pausa di 90ms circa, mentre una pausa superiore ai 300ms indica la fine di un messaggio. Sul dispositivo ricevente i bits vengono raccolti in gruppi di 8 per formare un array di byte (short). Naturalmente la bassa capacità trasmissiva è dovuta alle basse capacità di calcolo dell' Arduino... i tempi di trasmissione potrebbero essere abbassati di parecchio se dall'utilizzo fosse escluso Arduino, naturalmente rimanendo nell'ambito della banda delle frequenze audio.
Il video che segue mostra il protocollo in azione tra Android e PC (scusate la pessima qualità):
Spero di poter "rilasciare" una libreria, per ogni dispositivo, da poter essere utilizzata all'occasione da chiunque...
A presto.