Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Controllo per caldaia con Raspberry Pi Zero

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[11] Re: Controllo per caldaia con Raspberry Pi Zero

Messaggioda Foto Utenteedgar » 20 ott 2020, 15:11

minomic ha scritto:Sono piuttosto alle prime armi, e vorrei realizzare un piccolo controllore intelligente per la mia caldaia, con un Raspberry Pi Zero e un relay

Prova a spiegare in cosa consisterebbe il controllo intelligente: un ARM per accendere un relè mi sa di ammazzare la mosca col cannone ...
Avatar utente
Foto Utenteedgar
10,0k 4 5 8
Master
Master
 
Messaggi: 5229
Iscritto il: 15 set 2012, 22:59

0
voti

[12] Re: Controllo per caldaia con Raspberry Pi Zero

Messaggioda Foto Utenteminomic » 20 ott 2020, 19:30

edgar ha scritto:
minomic ha scritto:Sono piuttosto alle prime armi, e vorrei realizzare un piccolo controllore intelligente per la mia caldaia, con un Raspberry Pi Zero e un relay

Prova a spiegare in cosa consisterebbe il controllo intelligente: un ARM per accendere un relè mi sa di ammazzare la mosca col cannone ...


Assolutamente possibile. L'idea era che, come hobby, avrei potuto realizzare una piccola applicazione per il mio smartphone, comandare la caldaia a distanza, poi magari aggiungere sensori, eccetera.
Non deve necessariamente essere una cosa fantastica o innovativa. E' più che altro una scusa per imparare di più in un campo che mi incuriosisce.

Comunque, come dicevo, meglio partire da circuiti più semplici.
Nel frattempo posso confermare che, usando i 3.3V del Raspberry come VCC, il relay si attiva e disattiva senza problemi quando cambio la tensione su un pin GPIO. Quindi il primo passo è fatto. :D
Avatar utente
Foto Utenteminomic
20 2
 
Messaggi: 39
Iscritto il: 22 mar 2012, 19:25

0
voti

[13] Re: Controllo per caldaia con Raspberry Pi Zero

Messaggioda Foto Utenteedgar » 20 ott 2020, 20:28

Senza scomodare un mostro come il Raspberry, puoi valutare anche un ESP32/8266. Mai usati ma ho visto più di un progetto in rete.
Una precisazione sui relè: nei cronotermostati sono in genere relay latching a doppia bobina: un impulso sulla bobina A e il contatto chiude, un impulso sulla bobina B e il contatto apre. Si risparmia sul consumo.
Avatar utente
Foto Utenteedgar
10,0k 4 5 8
Master
Master
 
Messaggi: 5229
Iscritto il: 15 set 2012, 22:59

0
voti

[14] Re: Controllo per caldaia con Raspberry Pi Zero

Messaggioda Foto Utenteminomic » 20 ott 2020, 21:05

Capito, grazie mille per queste informazioni!
Avatar utente
Foto Utenteminomic
20 2
 
Messaggi: 39
Iscritto il: 22 mar 2012, 19:25

0
voti

[15] Re: Controllo per caldaia con Raspberry Pi Zero

Messaggioda Foto Utentedursino » 20 ott 2020, 22:15

edgar ha scritto:Senza scomodare un mostro come il Raspberry, puoi valutare anche un ESP32/8266. Mai usati ma ho visto più di un progetto in rete.
Una precisazione sui relè: nei cronotermostati sono in genere relay latching a doppia bobina: un impulso sulla bobina A e il contatto chiude, un impulso sulla bobina B e il contatto apre. Si risparmia sul consumo.

Sto usando un esp32 una bomba assoluta.
Avatar utente
Foto Utentedursino
265 1 5 5
Expert
Expert
 
Messaggi: 537
Iscritto il: 8 mar 2009, 13:24

1
voti

[16] Re: Controllo per caldaia con Raspberry Pi Zero

Messaggioda Foto Utenteminomic » 11 nov 2020, 23:44

Ciao a tutti,
Per completezza, volevo postare la conclusione della storia: ho dato un'occhiata allo schema della caldaia, e ho anche comprato un multimetro per verificare la tensione del consenso caldaia, che è intorno a 24 V (leggermente inferiore).
Quindi ho semplicemente collegato i due fili del termostato ai connettori COM e NO del relay, pilotato dal Raspberry Pi Zero, sul quale gira un piccolo web server che ho scritto in Python.
Poi ho scritto una semplice applicazione Android che manda messaggi al Raspberry e dice di attivare/disattivare il relay (ovviamente tramite messaggi autenticati... non voglio che qualcun altro controlli la mia caldaia :D). Voilà, tutto funziona perfettamente e con un semplice port forwarding ho il controllo anche da remoto.
Adesso intendo aggiungere qualche Sonoff per controllare luci e lampade varie, tutto sempre comandato tramite la mia applicazione. Ho visto che alcuni modelli di Sonoff hanno la modalità DIY in cui di fatto diventano dei server REST: fantastico.

Grazie a tutti per i consigli!
Avatar utente
Foto Utenteminomic
20 2
 
Messaggi: 39
Iscritto il: 22 mar 2012, 19:25

0
voti

[17] Re: Controllo per caldaia con Raspberry Pi Zero

Messaggioda Foto UtenteWALTERmwp » 12 nov 2020, 11:53

minomic ha scritto:(...) ho anche comprato un multimetro per verificare la tensione del consenso caldaia, che è intorno a 24 V (leggermente inferiore)
24 V cosa ? Come hai misurato il livello di tensione ?

Solo un invito, per arricchire questo thread.
minomic ha scritto:(...) dal Raspberry Pi Zero, sul quale gira un piccolo web server che ho scritto in Python (...)
descrivi magari le versioni dei software che hai impiegato, eventuali librerie.

minomic ha scritto:(...) Poi ho scritto una semplice applicazione Android che (...)
anche per questa piattaforma, indica quale versione dello O.S, quale dell'ambiente di sviluppo ed eventuali librerie.
Sono informazioni che certo non completano una esposizione ma contribuiscono alla definizione degli strumenti impiegati(considerata anche la sezione del forum in cui ci si trova).

Saluti

p.s.
forse mi è sfuggito: riporta l'identificativo della caldaia, tramite documentazione si può verificare la sezione del consenso.
W - U.H.F.
Avatar utente
Foto UtenteWALTERmwp
30,2k 4 8 13
G.Master EY
G.Master EY
 
Messaggi: 8986
Iscritto il: 17 lug 2010, 18:42
Località: le 4 del mattino

3
voti

[18] Re: Controllo per caldaia con Raspberry Pi Zero

Messaggioda Foto Utenteminomic » 12 nov 2020, 18:49

Ciao WALTERmwp,

Aggiungo volentieri informazioni sul mio progettino da weekend-di-lockdown. Con tutto questo tempo che purtroppo abbiamo a disposizione, ho deciso di fare almeno qualcosa di utile in casa. Che poi "utile" è un concetto discutibile, ma lasciamo perdere :D

Modello caldaia: Bulex ThemaCondens 25
La tensione di consenso l'ho per prima cosa trovata indicata nel manuale della caldaia (foto allegata) e poi l'ho verificata con il multimetro ai morsetti del vecchio termostato. Quando la caldaia è spenta, il multimetro segna intorno ai 24 V tra COM e NO, mentre quando è accesa segna ovviamente 0 V.

Web server: Python3 con framework Flask. Il server internamente usa la libreria gpiozero per pilotare il pin GPIO che attiva/disattiva il relay. Usare la libreria è semplicissimo. Esempio veloce per un relay il cui input è collegato al pin 21:

Codice: Seleziona tutto
from gpiozero import OutputDevice
relay = OutputDevice(21, active_high=False)
relay.on()
...
relay.off()
...
relay.toggle()


Da notare che la libreria prevede anche la possibilità di simulare la presenza di pin, e ho usato questa feature per i miei unit test in locale.

App Android: sviluppata in Java con AndroidStudio ultima versione, per il mio smartphone con Android 10. Per la parte HTTP client ho usato la libreria volley di Google: si trovano tanti esempi nella documentazione ufficiale e in giro per la rete.

Architettura SW: il web server (Raspberry) espone un unico endpoint.
Una richiesta GET su questo endpoint restituisce lo stato attuale del relay (attivo o spento).
Una richiesta POST permette di cambiare lo stato del relay. Il body del POST conterrà lo stato desiderato e un nonce per evitare replay attacks. Quando il web server riceve una richiesta, il nonce viene salvato come "usato" in un in-memory database (redis), in modo che sia possibile verificare che il nonce contenuto in nuove richieste sia fresco. Per quanto riguarda il nonce stesso, uso un semplice UUID v4.
Capitolo sicurezza: tutte le richieste (sia GET che POST) prevedono una autenticazione tramite HMAC: l'app Android aggiunge il tag HMAC alla richiesta e il web server verifica questo tag prima di fare qualunque cosa.
Il limite di questa soluzione è che la stessa chiave deve essere presente sia sul client sia sul server. Se volessi aggiungere altri client dovrei fornire loro la chiave o, cosa migliore, passare a un sistema di firme digitali come ECDSA. Ma dato che uso solo il mio telefono, questa soluzione è sufficiente.

Networking: ho configurato un port forwarding sul mio router per esporre la porta del web server, in modo da poter comandare la caldaia anche da remoto.

Ciao!
Allegati
caldaia.png
caldaia.png (150.15 KiB) Osservato 27792 volte
Avatar utente
Foto Utenteminomic
20 2
 
Messaggi: 39
Iscritto il: 22 mar 2012, 19:25

0
voti

[19] Re: Controllo per caldaia con Raspberry Pi Zero

Messaggioda Foto UtenteWALTERmwp » 12 nov 2020, 20:48

minomic ha scritto:(...) La tensione di consenso (...)
bene; forse ovvio sottolinearlo ma trovare il riscontro nella documentazione è importante.

Bravo Foto Utenteminomic per la realizzazione, di scontato e banale c'è ben poco, quel che risulta semplice per altri può essere complicato se non "misterioso".
Anche la condivisione è importante, uno degli elementi alla base di ElectroYou.

Saluti
W - U.H.F.
Avatar utente
Foto UtenteWALTERmwp
30,2k 4 8 13
G.Master EY
G.Master EY
 
Messaggi: 8986
Iscritto il: 17 lug 2010, 18:42
Località: le 4 del mattino

0
voti

[20] Re: Controllo per caldaia con Raspberry Pi Zero

Messaggioda Foto UtentePaolino » 17 nov 2020, 9:15

Grazie Foto Utenteminomic per il tuo contributo. =D> =D>
Perché non valuti l'ipotesi di scrivere un articolo qui su ElectroYou, così da avere un documento più facilmente rintracciabile?

Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

Precedente

Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti