giovedì 7 marzo 2013

Trasmettere i dati su Internet

Un obiettivo che mi ero sempre posto d'avanti ma non osavo mai tentare di raggiungere, e' stato quello di usare Internet per trasmettere i dati rilevati dalle mie applicazioni con Arduino. Molte persone più esperte di me l'hanno già fatto e sulla rete c'è molto materiale sull'argomento. Però il mio timore è sempre stato quello di dover affrontare problemi difficili senza il necessario background culturale, non sapendo anche da dove partire per farmelo.  Grazie pero' a numerosi esempi postati da persone che hanno affrontato questi problemi, e soprattutto hanno fatto lo sforzo di spiegarli, sono riuscito nel mio intento e senza troppo sforzo.
Per prima cosa mi sono procurato una Ethernet Shield, scheda essenziale da accoppiare ad Arduino, se si vuole comunicare su Internet. Questo Shield è dotato di una presa RJ45 e di uno slot per introdurre una micro card SD, utile per la memorizzazione dei dati. Una volta inserito lo Shield su Arduino, si collega, con un cavo Ethernet (RJ45) alla porta di un access point. Io l'ho collegato allo "scatolotto" WiFi della mia rete domestica.  Fondamentale è la libreria EthernetLibrary che, assieme alle altre di Arduino, permette di far funzionare la scheda.
Per i primi programmi, consiglio vivamente il sito "www.logicaprogrammabile.it" di Marco Lai. Questo sito raccoglie moltissimi progetti ed esperimenti con Arduino, spiegati ed illustrati veramente bene. Infatti devo ringraziare lui se sono riuscito in poco tempo a fare qualcosa e soprattutto a capirla!!

In parole povere, la prima cosa da fare è scegliere se far funzionare la coppia Arduino/Ethernet Shield come Server o come Client. Per chi non sa queste cose, il Server è quel dispositivo che risponde alle chiamate di un Browser, come Explorer o Google Crome, inviando una pagina WEB. Il Client è invece il dispositivo che chiama il server inviando un URL (quella stringa di caratteri che inizia con http://...). Mi scusino gli esperti per questa spiegazione grossolana e incompleta, ma è esattamente quello che ho capito.  Quando parlo di dispositivo Server o Client, intendo un hardware (PC o scheda che sia) con un software sopra.  Quindi la coppia Arduino e Shield se funziona da Server, rimane in ascolto di un URL proveniente da un Client e risponde con una serie di stringhe che contengono caratteri e tag HTML. L'insieme di queste stringhe forma la pagina WEB che il Client si vedrà arrivare e presenterà sul Browser.  Nel prossimo post spiegherò come può il Server inserire i dati letti dalle porte di Arduino nella sua risposta al Client.

Nessun commento:

Posta un commento