Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Indice
ESP8266
tro caso semplifica la fase di configurazione Per implementare il comando vocale con
per il controllo del sistema con Google Assis- Google Home tramite IFTT , basterà sempli-
tant, tramite Google Home. cemente collegare il servizio al proprio ac-
count google e creare l’applet specifica per
La versione gratuita della piattaforma ha lo scopo.
delle limitazioni, che riguardano il numero
massimo dei topic e messaggi al minuto che Guarda il video alla fine dell’articolo per
è possibile pubblicare, la velocità di comuni- scoprire come fare.
cazione e la memorizzazione dei messaggi
sulla piattaforma..
La mia realizzazione risulta essere diversa da Per programmare il codice sul modulo
quella proposta nello schema di collegamen- EP8266, sarà necessario:
to, per il semplice motivo che ognuno può
avere delle necessità e fantasie progettuali 1) Scaricare lo sketch allegato a questo articolo;
diverse, di conseguenza quello che trovate 2) Avviare l’IDE di Arduino;
in questo articolo è il progetto base, pron- 3) Aprire lo sketch appena scaricato e modificar-
to per essere modificato e personalizzato il lo inserendo i dati della propria rete Wifi e il token
più velocemente possibile. Adafruit collegato al proprio account;
4) Collegare la DEV board al PC tramite un cavetto
Ad esempio, per il momento sulla mia micro USB;
scheda non ho installato il trasformatore 5) Selezionare la board corretta;
incapsulato, mentre i pulsanti e la scheda 6) Avviare il caricamento ed aspettarne il comple-
relè ho deciso di interfacciali al modulo ESP tamento.
tramite un MCP23017.
Se non hai mai configurato l’IDE di Ar-
duino per programmare un modulo ESP,
segui prima >>> questi passaggi. <<<
1. Creare un nuovo feed su Adafruit IO; Comunque sia, quello che è stato presenta-
2. Muoversi tra le funzioni di Adafruit IO; to oggi è un valido spunto per comprendere
3. Creare una nuova applet IFTT per l’attiva- quanto possa essere soddisfacente creare il
zione e disattivazione dei relè tramite i co- proprio sistema di domotica DIY e quanto sia
mandi vocali; versatile il protocollo MQTT.
4. Installare e configurare l’applicazione per
smartphone MQTT Dashboard; Prossimamente tratteremo l’implementazio-
5. Utilizzare il sistema appena creato (video ne di dispositivi MQTT in OpenHAB, passan-
test del progetto); do così ad un livello superiore.
ESP8266
ESP8266
In questo progetto al posto di utilizzare Il sensore PIR è un tipo di sensore passivo, Per alimentare la board verrà utilizzato il
una DEV board basata sul modulo Wireless che rileva i raggi infrarossi nel suo campo vi- trasformatore incapsulato HLK-PM03,
ESP8266, è stato scelto di impiegare diret- sivo, segnalando se qualcosa (o qualcuno) è creato per alimentare con estrema semplicità
tamente un modulo ESP8266, in versione in movimento. le schede elettroniche.
ESP-01. Dato un input compreso nel range di 100-
Questo perchè è in grado di individuare tutto 240V AC , verrà dato un output di 3.3V DC,
Questo per ridurre al minimo la dimensione quello che presenta una temperatura supe- erogando fino a 3W.
del circuito e perché non sono necessari mol- riore allo zero assoluto e che di conseguenza La casa madre di questo trasformatore com-
ti pin di input e output. emette energia sottoforma di radiazioni in- mercializza anche altre due versioni, da 5V e
frarosse. 12V DC.
Il modulo Wireless ESP8266, è basato su un
SoC MCU a 32bit ed è nato per aggiungere Davanti al sensore è presente una lente (len-
connettività Wireless ai sistemi elettronici e te di Fresnel) che scompone l’ambiente in
SOFTWARE - MQTT
per la progettazione di sistemi IoT low-cost. fasci in modo da creare le zone necessarie a
MQTT è un protocollo di comunicazio-
percepire la differenza di temperatura ge-
ne binario semplice e versatile, di tipo
Si tratta di modulo disponibile in diverse nerata da un corpo caldo che le attraversa.
client-server.
versioni, con una potente capacità di elabo-
Creato nel 1999 con l’intento di ottenere
razione grazie alla quale è possibile collega- Il sensore si adatta al livello di radiazione
un protocollo che potesse ridurre al minimo
re, attraverso i suoi pin GPIO, diverse periferi- infrarossa presente nella stanza in cui è ins-
l’utilizzo della banda nelle comunicazioni tra
che, tra le quali dei sensori ed altri dispositivi tallato e comincia a monitorare ogni variazio-
dispositivi e il consumo delle batterie.
compatibili. ne nel suo campo d’azione.
Dopo pochi anni venne acquisito dall’asso-
ciazione OASIS e nel 2010 divenne uno de-
Le sue dimensioni ridotte lo rendono idea- Ogni oggetto che si muove nella stanza per-
gli standard più interessanti nel mondo
le per la progettazione di dispositivi com- turberà questo livello di radiazione infraros-
dell’IoT.
patti e la mole di documentazione presente sa, e produrrà una variazione di stato che
online, accoppiata alla possibilità di utilizzar verrà segnalata dal modulo PIR.
Il protocollo MQTT, per scambiare informa-
diversi linguaggi di programmazione, ren-
zioni, sfrutta un meccanismo di pubblicazio-
dono il suo utilizzo meno ostico. Esistono diversi modelli di sensori PIR, ma
ne e sottoscrizione di messaggi tramite un
la funzione basilare è uguale per tutti: ogni
apposito message broker.
Maggiori informazioni sui moduli e le DEV qualvolta viene rilevato un movimento, varia
Se un determinato client vuole comunicare
board basati sui moduli wireless ESP8266 e lo stato logico del sensore.
con un altro, pubblica un messaggio su un
ESP32 li trovate in questo articolo.
certo argomento (detto topic) sul message
FARE ELETTRONICA FOCUS - Nº 2 - APRILE 2020 11
broker. ...(continua)
focus
CONCLUSIONE
Il message broker ha il compito di filtrare e pubblicato un nuovo messaggio su quegli Con pochi componenti è stato possibile as-
distribuire le comunicazioni tra pubblisher e argomenti, il message broker lo distribuisce semblare un dispositivo che può risultare
subscriver. a tutti i destinatari, configurando in questo utile in diverse circostanze.
I client possono iscriversi a determinati modo un sistema di messagistica uno a mol- Il circuito presentato può essere saldato su
argomenti (topics) e ogni volta che viene ti. una basetta millefori, ma data la sua sempli-
cità, i collegamenti potrebbero essere ese-
guiti saldando direttamente dei cavi ai com-
ponenti, da installare accuratamente dentro
un apposito box.
PROGRAMMAZIONE HARDWARE
Per programmare il modulo EP8266, po- Per assemblare il circuito, collegare i compo-
tete fare riferimento alla Guida completa nenti come nell’immagine di collegamento
sui moduli ESP8266 e ESP-32. seguente:
if (! client.connected ()) {
// reconnect ();
software_Reset ();
}
client.loop ();
bool pir = digitalRead (PIR_SENSOR_PIN);
ESP8266
HARDWARE
Sul circuito sono presenti dei pin che vanno formare un connettore 4×4, al
quale collegare i pulsanti e i relativi terminali per la retroilluminazione.
Ogni fila di pin del connettore va collegata ai pulsanti retroilluminati secondo
la seguente configurazione:
SOFTWARE
VIDEO DI REALIZZAZIONE
ESP8266 E ESP32
VERSIONI DISPONIBILI
Nella tabella seguente, sono messe a confronto le specifiche tecniche di entrambi i SoC
SCHEDE DI SVILUPPO
SCHEDA TECNICA
LinkNode R8 è una board pro- NodeMCU non si riferisce direttamen- Board molto simile ad una di quelle
grammabile che monta a bordo il mo- te al nome della scheda, ma fa riferi- viste in precedenza, ma la presente
dulo ESP-12f ed otto relè che è possi- mento al firmware che che è già preca- monta un modulo ESP32 anziché un
bile gestire da remoto. ricato sul modulo ESP8266. ESP8266.
I relè supportano un carico massimo Tramite NodeMCU DevKit è possibile Anche questa serie di board possono
di 10 A ciascuno e possono essere con- programmare utilizzando direttamen- essere alimentate direttamente trami-
trollati via software per controllare lo te il linguaggio LUA collegando la te delle batterie lipo e di conseguenza
stato dei dispositivi collegati. board al computer tramite un cavetto essere utilizzate per la realizzazione di
L’interfaccia WiFi, tramite un’applica- micro USB. progetti portatili.
zione, consente di associare la scheda Questa è una board che è possibile tro- La presenza maggiore di pin GPIO per-
alla propria rete WiFi e di scambiare vare a basso costo in molti store Cinesi mette di sviluppare dei progetti più
informazioni. e su Amazon. variegati, mentre la maggiore potenza
di calcolo e memoria possono essere
SCHEDA TECNICA ___ impiegati per svolgere operazioni più
impegnative.
SCHEDA TECNICA
FIRMWARE DISPONIBILI Tra questi, uno che risulta essere par- PROGRAMMAZIONE
ticolarmente interessante oltre a No-
Online è possibile trovare disponibili deMCU, è il firmware ESP Easy che I moduli ESP8266 e ESP32 possono
diversi Firmware, molti dei quali cus- permette la gestione dei moduli at- essere programmati in diversi lingua-
tom. traverso un’interfaccia Web rendendo ggi di programmazione, tra i quali:
Qui di seguito eccone alcuni tra i quali più semplice l’interfacciamento dei
è possibile scegliere. moduli ESP con dei componenti har- • Wiring (Attraverso l’IDE di Arduino)
dware, come ad esempio dei sensori • LUA
ambientali e dei GPIO expander. •C
FIRMWARE UFFICIALE
Inoltre tramite ESP Easy è possibile PROGRAMMAZIONE IN WIRING
Il firmware ufficiale rilasciato da Es- eseguire il collegamento con altre pia-
pressif permette la comunicazione con ttaforme, come OpenHAB, attraverso La buona notizia per gli amanti di Ar-
il modulo attraverso dei comandi AT. diversi protocolli di comunicazione. duino, è che è possibile utilizzare il
I comandi AT, sono delle particolari
stringhe utilizzate per comunicare con
diversi dispositivi elettronici, come ad
esempio i vecchi Modem fonici.
Il modo più semplice per inviare dei
comandi AT al modulo, è quello di
collegarlo al PC attraverso un conver-
titore USBseriale ed inviare i comandi
attraverso un monitor seriale.
Potrete trovare la lista dei comandi
completi per la gestione dei moduli
ESP nella documentazione ufficiale.
ALTRI FIRMWARE:
• Official FreeRTOS firmware1.1k
• Electodragon custom AT firmware732
(9600 baud with GPIO control)
• NodeMCU789 (Lua firmware)
• MicroPython640
• Frankenstein533 (Das-Uboot style prompt)
• NodeLua789 (Lua interpreter with web IDE)
• ESP Easy
ESP8266
http://arduino.esp8266.
com/stable/package_esp-
8266com_index.json
https://cdn-learn.adafruit.com/guides/
Per aggiungere la compatibilità dei
images/000/001/170/medium800/
moduli ESP32 sull’IDE di Arduino, pri- CURIOSITÀ smalldemo.jpg?1448482000
ma di tutto bisogna scaricare la suit
esp32-arduino presente su Github a Alcuni utenti del Web hanno scoperto http://www.linksprite.com/wiki/
questo indirizzo e copiarla nella carte- che alcuni moduli ESP8266 ed ESP32 images/thumb/a/ae/LinkNode_R8-5.
lla degli Sketch Arduino nel seguente sono stati utilizzati per la realizzazio- jpg/640px-LinkNode_R8-5.jpg
percorso che creeremo appositamen- ne di prodotti commerciali, come ad
https://cdn-shop.adafruit.
te: esempio questo. com/970x728/3405-06.jpg
hardware/espressif/esp32