venerdì 19 giugno 2015

DAY 3


CRONACA DI PROGETTO 

DAY 3

L’aiuto delle API

Durante la giornata precedente abbiamo avuto il piacere di iniziare ad esplorare degli strumenti essenziali per gli sviluppatori, le API.



In informatica le API sono delle librerie di funzioni che consentono,a sviluppatori o programmatori, di comunicare con un determinato software o piattaforma web che le mettono a disposizione. Sono fondamentali come per una cartolina l’indirizzo del destinatario, infatti, tutti possono spedire cartoline ma senza l’immissione dell’indirizzo non possono avvenire né spedizione né consegna.

Dunque , gli API consentono la comunicazione di sistemi remoti e stabiliscono come l’uno debba porre una richiesta e come chi ha ricevuto la richiesta debba dare la risposta.
Oggi abbiamo visto come avviene questa risposta e come il nostro microprocessore, Arduino, possa rielaborarla e ricavarne delle conclusioni comportandosi da attuatore.
Abbiamo incominciato la giornata con la stesura di uno sketch che ci ha permesso di contare tutte le ‘’a’’ presenti all’interno di una pagina web e dopo qualche problema di sorta nell’ottenere il dato (all’inizio ritrovavamo elencato tutto il conteggio del carattere) siamo venuti a conoscenza di un modo semplice e essenziale per la parte successiva, ottenere un dato specifico dalla piattaforma ‘’Paraimpu.com’’  


È la rete che c'illumina. 

Il pomeriggio avanza nel terzo giorno di corso e anche se il sole di giugno ci invita a metterci i costumi da bagno noi continuiamo incorruttibili sulla strada dell'IoT, come sempre nel nostro ufficio al terzo piano dell'edificio 1, immersi nella natura che circonda il Parco Tecnologico di Pula


Come avevamo già accennato nel DAY 2, alla base dell'IoT e più in particolare delle sue connessioni vi sono le due funzioni GET e POST; per chi avesse bisogno di un ripasso la prima chiede di ricevere dei contenuti da un server, la seconda di inviarceli, tutto secondo il protocollo HTTP, un tipo di comunicazione tra sistemi che consente solo dialoghi del tipo "request-response". Proviamo a immaginare un sistema che utilizza la tecnologia IoT. Abbiamo due dispositivi, un sensore e un attuatore. Dove il primo rileva una grandezza, il secondo agisce su qualcos'altro in funzione di questa stessa. Essi dovranno comunicare per trasmettersi le informazioni e perciò sarà necessario l'utilizzo di una rete che possa fungere da strada per i loro messaggi. 


Come già abbiamo fatto precedentemente ci affidiamo ad un semplice circuito che rende benissimo l'esempio, un termometro connesso ad un Arduino ma con una variante; questa volta, dato che l'Internet of Things prevede una comunicazione tra più dispositivi ci sarà anche un secondo Arduino che per comodità è connesso ad un semplice LED. L'intento è far illuminare il LED quando la temperatura della stanza supera i 20 gradi. 


Per comodità e mancanza di tempo scegliamo di utilizzare la piattaforma Paraimpu. Per chi non sapesse di che si tratta, immaginate di dover spedire un pacco ad un amico. In ogni paese civile ci sarà sempre un servizio di posta che prenderà il vostro pacco, ne indicizzerà l'indirizzo di destinazione, lo spedirà nei giusti hub e infine lo recapiterà al vostro amico. Una delle funzioni e potenzialità di Paraimpu è questa. La piattaforma rende disponibile a chiunque volesse degli API per immagazzinare dati prodotti dai vostri sensori e richiederli per far funzionare i vostri attuatori. Entriamo dunque sul sito e creiamo un sistema generico sensore-attuatore. Il primo sarà ovviamente il termometro e il secondo un LED. 




Utilizziamo gli API che il sito ci ha fornito e impostiamo le nostre schede Arduino per trasmettere i dati a quei precisi indirizzi. Nell'immagine sottostante potate infatti notare che la funzione POST del primo Arduino carica i dati nell'indirizzo in blu, (l'API del termometro)




Mentre il secondo Arduino esegue una richiesta GET dei dati caricati dal primo.




Ricordiamoci però che il nostro obbiettivo è far accendere un LED quando la temperatura della stanza supera i 15 gradi; per farlo impostiamo lo sketch del nostro secondo Arduino per illuminarci solo se il valore della temperatura letto (corrispondente qua sotto alla dicitura string) è maggiore di 20.
Calcolato il valore "string" lo poniamo come parametro del costrutto "if" che mette il nostro LED in stato alto con la funzione "digitalWrite(13,HIGH)", nel caso in cui la temperatura sia invece minore di 20 gradi la funzione "else" spegnerà il LED.


Il sistema è ora completo, il primo Arduino rileva la temperatura e invia il dato a un API fornitoci da un server, il secondo invece legge il valore caricato dal primo (sempre attraverso la chiamata di un API) e reagisce di conseguenza. La parte fisica del sistema termometro-LED è ora connessa grazie a una parte virtuale. Questa, cari lettori, è l'essenza dell'Internet delle cose.


Nessun commento:

Posta un commento