E’ da diverso tempo che conservo nel mio pc una serie di attività svolte con studenti  ed in corsi di formazione specifici PON FSE (al’interno del Piano nazionale Scuola Digitale PNSD) e che hanno per comune denominatore l’IOT.

Ho deciso di scrivere una serie di lezioni, adatte a studenti (ideale secondaria di II grado, ma con dovute modifiche anche a secondaria di I grado), docenti ed appassionati.

In queste lezioni vedremo come imparare a leggere dati da sensori esterni ed in particolare mi riferirò a sensori di distanza, di polveri sottili, temperatura, umidità e pressione (realizzeremo una stazione meteo) e lo faremo collegando cose apparentemente non connesse tra di loro. Ad esempio se il sensore di temperatura supera un certo valore di soglia, allora si accende il ventilatore o ricevo un tweet sullo smartphone.

Affinchè le “cose” , gli oggetti possono parlare tra loro, occorre connetterle ad un filo comune: è quello che chiamiamo IOT o internet delle cose.

Dare una definizione di IOT non è semplice ma potremmo dire che esso rappresenta un insieme di tecnologie che consentono di collegare oggetti che nell’immaginario collettivo non sono connessi. Nella sua definizione originale con IOT si fa riferimento ad una serie di oggetti non digitali ma che grazie all’utilizzo di sensori e moduli di comunicazione sono avvolti, abbracciati da una enorme rete che è Internet.

Sapere di IOT non è solo un vezzo da informatici, diventerà quasi la normalità nei prossimi decenni.

Abbiamo miliardi di dispositivi connessi alla rete, che si scambiano informazioni.

La sveglia suonerà mezz’ora prima del previsto perchè ha ricevuto dati da telecamera poste sul nostro tragitto casa/lavoro , oggi trafficato. La sveglia quindi si connette con la macchina del caffè che ci prepara la colazione.

L’IOT oggi vale il 50% del mercato dell’ICT, con aumenti percentuali a due cifre negli ultimi anni.

 

Oggi è possibile realizzare dispositivi connessi servendosi di strumenti a basso costo e nello specifico noi utilizzereno Arduino e Raspberry e più in generale un modulo che consente di inviare e ricevere dati che si connettono alla rete, tale modulo è chiamato esp8266 (lo incontreremo nelle prime lezioni utilizzando il micro-controllore WeMos D1 e successivamente con Photon Particle.

 

In questa prima lezione vedremo come utilizzare WeMos D1, in sostanza una esp8266 arduinizzata, in pratica un microcontrollore capace di comandare sensori e attuatori o leggere dati da essi, con il vantaggio di potersi connettere ad Internet (e quindi fondamentale per il nostro IOT).

 

Iniziamo quindi da zero

COLLEGARE WeMOS al PC e far lapmpeggiare il led sulla scheda esp8266

Scarichiamo l’ultima versione del software Aruino https://www.arduino.cc/en/Main/Software (uso windows ma se utilizzate Mac avrete bisogno di alcuni driver aggiuntivi, contattatemi in privato)

 

Una volta scaricato il softwa aggiungere il link http://arduino.esp8266.com/stable/package_esp8266com_index.json all’interno di Arduino Additional Board Manager da File poi Preference

Per poter programmare la ESP8266 con il software Arduino occorre installare in Board Manager l’estensione, un insieme di pacchetti software in grado di sialogare con la nostra schedina da Tools poi Board poi Boards Manager

 

Facciamo lampeggiare il LED sulla scheda

Per far lampeggiare il led sulla scheda esiste già un programma, questa cosa è molto utile perchè all’interno di Arduino esistono programmi di esempio (sketch) che permettono di familiarizzare con la programmazione: guarda, poi modifica e poi prova tu!

Apriamo da File Examples poi 01-Basics poi Blink 

A questo punto colleghiamo la schedina alla porta USB del PC, per sapere a quale COM è connessa, andare su Tools Port prima senza aver connesso la scheda e poi dopo averla connessa, troviamo una COM aggiunta, nel mio caso la COM8.

A questo punto carichiam il programma nella scheda, selezioniamo Sketch poi Upload.

Diamo una occhiata al nostro programma

void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}

 

in questa prima parte dichiaracome uscita il led sulla schedina
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}

 

questa è la parte di controllo. In sostanza in un ciclo infinito, il led viene acceso e spento ad intervalli opportuni : 1000  sono in millisecondi, provate a cambiare i numeri in delay per cambiare la frequenza di lapeggio oppure provare a modificare il ciclo infinit con un ciclo ripetuto un numero limitato di volte.

ng

 

Direi che per questa prima lezione abbiamo imparato molte cose.

La prossima volta impareremo a controllare l’accensione e lo spegnimento di uno o più led via Web!

 

 

 

 

 

 

Vai alla barra degli strumenti