Allora è tutto molto semplice: L'arduino è questo coso qui:
Arduino_uno.jpg
quel cubo grigio è dove ci attacchi l'usb per programmarlo, quelle strisce nere sui bordi superiori e inferiori sono degli I/O digitali e analogici, alimentazioni, IO di comunicazione, ecc. E' poco più di un giochino, ci sono i tutorial base, intermedi e avanzati.
Ci sono poi delle particolari espansioni, chiamate shield, che sfruttano queste strisce nere (glieli incastri dentro perfettamente, hanno delle serie di connettori che si innestano) e portano delle funzioni aggiuntive: interfaccia con sistemi can bus, controllo di motori, e anche connettività ethernet:
eth1.jpg eth2.jpg
come puoi vedere dall'immagine ci attacchi un cavo di rete rj45 e tutta l'elettronica è finita =)
quindi, per far funzionare questo shield (costo dell'arduino circa 20 euro, costo dello shield ethernet circa 30) qualcuno della comunità arduino ha sviluppato delle librerie in C++, che sono poi state accettate come ufficiali e integrate nella documentazione e nel software di sviluppo, nel quale ci sono anche degli esempi di come fare richieste http get, post, far funzionare l'arduino come un web server e come web client. Tieni sempre conto che è un giocattolino, non aspettarti di mettere in piedi un web server come se fosse un computer! comunque io lo uso un po' come client, e gli faccio fare una richiesta http a una pagina php che ho su altervista una volta al minuto; questa pagina legge l'ip dell'arduino, e quindi quello di casa mia, in questo modo risolvo il problema dell'ip dinamico. Dopo di chè una volta ogni ciclo lo faccio funzionare come server e mi metto in ascolto sulla porta che ho abilitato. a questo punto mi basta fare una richiesta http get al mio ip con una stringa di comando
(esempio: http://123.456.789.012:444/?comando=accendiluce)
e l'arduino la interpreta secondo il codice che ho scritto io programmandolo ed esegue le operazioni (in questo caso mette a 1 l'uscita logica collegata al relè che accende la luce). Ti assicuro niente di complicato, questo è un puro esercizio di programmazione =)
Si parte da li comunque, poi se dai un'occhiata ai progetti che ci sono in giro ti rendi conto che è solo l'inizio =)

Rispondi quotando