Arduino/leggere via web
L'accelerometro a tre assi adxl345 è un oggetto di basso costo (circa 6€ su ebay), perfettamente compatibile con arduino.
Ammette due modalità diverse di utilizzo, attraverso i protocolli i2c (più lento, ma molto più semplice, perché scambia dati attraverso due fili soltanto) e il protocollo spi. Può anche essere pilotato attraverso due canali di interrupt per realizzare effetti particolari, come il doppio click.
È infinita su internet la documentazione che ne descrive l'uso.
Notevole, ad esempio, questo tutorial che insegna a programmare autonomamente le librerie dalla lettura diretta delle specifiche.
Su github, il codice della adafruit consente un utilizzo pressochè immediato del dispositivo.
cd ~/arduino/librerie git clone git://github.com/adafruit/Adafruit_ADXL345
Il file Adafruit_ADXL345/examples/sensortest/sensortest.pde contiene uno script pronto per l'uso.
Una volta generato un flusso attraverso la porta seriale di arduino, possiamo porci il problema di trasferirlo via web.
netcat è uno strumento prezioso per realizzare la cosa in un fiato.
sudo while true; do nc -l -p80 -q1</dev/arduino ;done & wget localhost -O - 2>/dev/null
Se si desidera, è possibile di evitare il sudo liberando l'accesso in scrittura alla porta 80 ad un utente non privilegiato con l'uso di authbind.
Riportiamo le istruzioni acquisite da questo howto:
cd /etc/authbind/byport touch 80 chmod 500 80 chown utente_nc 80
L'utente dovrà creare il flusso in questo modo:
while true; do authbind nc -l -p80 -q1</dev/arduino ;done
Sono molte, però le cose che si possono imparare usando arduino. Giocare con l'accelerometro, ad esempio, costringe a perfezionarsi nella gestione dell'input/ouput seriale.