Sistema di controllo del riscaldamento “lowcost” : Esp8266 + Raspberry

IOT FOR Dummies.

 Ovvero: se ci sono riuscito io, può farcela chiunque 😉

Da tempo pensavo di realizzare un sistema di controllo del riscaldamento “lowcost” che potesse essere controllato anche da remoto. Una possibile soluzione potrebbe essere quella di utilizzare due schede esp2866 con sensore di temperatura, relayed un hub(cioè un intermediario) per gestire le comunicazioni tramite protocollo MQTT.

  • Prima precisazione: Il motivo per cui non ho collegato ad una singola scheda sia il sensore di temperatura che il relay (cosa assolutamente possibile) è perché volevo effettuare la misurazione nell’ambiente in cui si soggiorna e che, di solito, è distante dal locale in cui si trova la caldaia.
  • Seconda precisazione: in commercio esistono soluzioni che semplificano l’assemblaggio dei vari componenti ed abbassano ulteriormente i costi.  A prezzi ridicoli si possono trovare schede esp2866 con sensore dht11 a bordo e schede con relay 10 Ampere. Io ho preferito la soluzione “da assemblare” perché sto imparando a fare i collegamenti e perché non volevo attendere un mese per avere tutto l’occorrente dalla Cina.

Per realizzare il sistema ho utilizzato:

  • Due schede esp2866 (in grado di collegarsi in rete tramite wifi) – costo 4 euro
  • Un sensore di temperatura dht11 – costo da 1,50 fino a 3 euro
  • Un relay 10A – costo 2,20 euro inclusa spedizione su Ebay
  • Un HUB sul quale installare un Broker MQTT, io ho utilizzato una RaspberryPi 3 (esistono anche soluzioni Cloud come CloudMQTT). Gratis se si utilizza il servizio CloudMqtt in versione base, circa 45 euro se si decide di investire in una Raspberry PI che ci permetterà di realizzare un sistema di automazione domestica scalabile.

 



English Version

Il protocollo MQTT

Ci sarebbe sicuramente tantissimo da dire sul protocollo MQTT.Gli esperti mi perdoneranno se cercherò di semplificare al massimo il discorso. In poche parole, il protocollo MQTT serve a far comunicare gli elementi del sistema IOT che stiamo realizzando.

Questi i termini base:

  • Il “topic” è l’argomento per il quale possono essere pubblicati i messaggi e sul quale i subscribers possono restare in ascolto. Esempio: home/riscaldamento. Se volessimo utilizzare anche il sensore di umidità del DHT11 per comandare un umidificatore, potremmo anche pensare, in un secondo tempo, ad un topic home/umidità
  • I “publishers” sono gli elementi che pubblicano i messaggi per un determinato topic. Nel nostro caso la scheda ESP2886 con il sensore di temperatura invia il comando di accensione o spegnimento della caldaia
  • I “subscribers” sono gli elementi in ascolto su un determinato topic. Nel nostro caso la scheda ESP2866 con il relay che accende o spegne la caldaia in base al comando ricevuto
  • Il “broker MQTT”, il centro di smistamento dei messaggi. Nel nostro caso la Raspberry PI con sistema Hassbian e add-onMosquitto.

Un po di foto

esp8266 controlliamo la caldaia
esp8266 controllo temperatura e caldaia

 

Sensore temperatura - esp8266 controllo temperatura e caldaia
Sensore temperatura – esp8266 controllo temperatura e caldaia

 

Sensore temperatura - esp8266 controllo temperatura e caldaia
relè – esp8266 controllo temperatura e caldaia

 



Il Publisher

La prima scheda ESP2866 con il sensore di temperatura funziona come “publisher”. Quando la temperatura varia rispetto una determinata soglia, il publisher invia un comando di accensione o spegnimento al broker MQTT sul topichome/temperatura. Se la temperatura scende al di sotto di una determinata soglia, la scheda invia un comando di tipo “ON”. Al contrario invia un comando di tipo “OFF”.

 

Il Subscriber

La seconda scheda ESP2866 con relayresta in ascolto sul topichome/riscaldamento e, in base al messaggio ricevuto dal broker, accende o spegne la caldaia chiudendo o aprendo il circuito di controllo dell’impianto di riscaldamento

Il Broker MQTT

Sulla Raspberry ho installato Hassbian, un sistema operativo che la trasforma in un centro di controllo ed automazione domestica in grado di gestire, tra l’altro, le comunicazioni tra elementi IOT. Hassbian contiene un set di funzioni di base ma può essere esteso tramite l’installazione di add-on.  Per quello che volevo realizzare, ho installato Mosquitto,un broker gratuito MQTT. Quando il broker riceve un messaggio per un determinato topic, provvede a smistarlo a tutti i subscribers in ascolto su quel canale.

Il codice

Passiamo agli  sketches.

 

 

 

English Version

Bruno Gangemi

 

Key :esp8266 controllo temperatura e caldaia ; esp8266 ; Raspberry ; Controllo temperatura esp8266