Accensione di un led usando i GPIO di Raspberry e visualizzazione tasti in una pagina WEB ( video ) ,per la parte hardware basta collegare il led
tra GND ed il pin GPIO12.
[Per i pin GPIO associati ai Pin di Raspberry si veda immagine presente nel seguente link)].
Visualizzazione temperatura ed umidità in una pagina WEB usando il sensore DHT11 collegato ai GPIO di Raspberry ( video ), per la parte hardware si veda immagine sottostante e
si ricordi di porre un led tra gnd e GPIO26.
Aggiornamneto di un database creato con PhpMyAdmin dei valori di umidità e temperatura e visualizzazione dei primi dieci dati in una pagina WEB.
Ad ogni inserimento dei dati sql aggiungerà la data e ora relativa. Visto che i dati sono inseriti ogni determinati minuti si prevede di cancellare i primi dati
inseriti per evitare di creare un database di dimensioni eccesssive
( video ).
Accensione led via WIFI usando il modulo ESP8266-01 mediante pulsanti creati in una pagina WEB [si vedano le colonne successive].
Programmare ESP8266-01
L'ESP8266-01 permette di ricevere dei dati ed elaborarli utilizzando un programma caricato nella scheda
attraverso un programmatore simile ad una chiavetta USB che comunica con il programma di Arduino. Al programmatore si salda un pulsante che deve essere premuto
per un secondo prima e dopo l'inserimento nella presa USB del portatile (si vedano le immagini sotto riportate).
Per usare il programmatore serve il driver per pc a 64bit CH340.
Il programma caricato con arduino è questo,
si veda successivamente il video che descrive la creazione della pagina WEB con RedNode
per capire le linee di codice.
Come si osserva dal video si devono installare:
la libreria relativa all'ESP8266-01 e per poterla
recuperare per internet bisogna indicare nel programma l'indirizzo WEB dove trovarla
( http: //arduino.esp8266.com /stable /package_esp8266com_index.json ).
la libreria che riguarda la comunicazione via WIFI via MQTT e viene caricata nell' IDE di Arduino in modo diverso dal solito ,
nel video si usa il file da scaricare.
PROGRAMMATORE CON ESP8266-01 INSERITO (nella figura a destra)
ESP8266-01
REDNODE ESP8266-01
Per controllare la corretta comunicazione tra ESP e Arduino attraverso il protocollo MQTT si deve:
collegare la scheda ESP all'usb del PC (senza tener premuto il pulsante saldato)
accendere Raspberry e controllare che utilizzi la connessione WIFI corretta
La scheda ESP e REDNODE comunicano attraverso il protocollo MQTT che deve essere installato nel server di
Raspberry (si usa Mosquitto) e reso sempre attivo in fase di esecuzione.
sudo apt update
sudo apt install -y mosquitto mosquitto-clients installa il broker MQTT
sudo systemctl enable mosquitto.service per rendere il servizio attivo in fase di accensione di raspberry
mosquitto -v per visionare il corretto funzionamento del sistema
Successivamente si deve:
collegare la scheda ESP in una breadboard come da immagine dello schema elettrico sotto riportato
avviare Raspberry e controllare che la rete che si collega sia corretta, magari come primo avvio usare VLC VIEWR con collegamento
tra PC e raspberry con cavo eternet
scollegare il cavo Ethernet ed usare il WIFI del PC usando la stessa rete usata da Raspberry ed ESP
con putty scrivere la seguente riga di codice per avviare RedNode red-node-start
si veda il video per ottenere la comunicazione via WEB tra la scheda ESP8266-01 e creare la pagina WEB
caricata in Raspberry.
Il protocollo MQTT è ideale nelle applicazioni IOT, per inviare i dati il mittente (un sensore) pubblica il messaggio indicando nella variabile "topic"
una parola/numero che lo identifica, poi sarà ricevuto dal broker (installato in Raspberry) che lo elabora. Analogamente il broker in raspberry può comunicare
un messaggio ai sensori connessi indicando nella variabile topic chi è il destinatario.
Questo protocollo viene usato anche in applicazioni (SCADA/HMI) industriali tra PC e sensori in comunicazioni uno a molti.
Inoltre l'MQTT permette di usare il metodo SSL (Secure Sockets Layer) con l’uso di applicazioni di cifratura nella comunicazione.