Campanello intelligente per la casa con WiFi, rilevamento sicuro e avvisi mobili

  • Rilevamento sicuro a 230 V con optoaccoppiatore e separazione tra alimentazione e logica.
  • ESP-01, alimentatore da 3,3 V (LM317T) e assemblaggio del case 3D per un progetto pulito.
  • Interruzioni, MQTT e OpenHAB per avvisi mobili affidabili e opzione SMS.

campanello intelligente

Ding-dong! Sono sicuro che anche tu abbia un campanello classico a casa, che fa il suo dovere, ma non sempre lo sentiamo: magari siamo in un angolo, stiamo passando l'aspirapolvere a tutto volume, indossiamo le cuffie o semplicemente siamo circondati da così tanto rumore che ci perdiamo la notifica del corriere. L'idea di trasformare quel campanello in un campanello intelligente che ti avvisa sul telefono (e sull'orologio, se ne indossi uno) è un'ottima soluzione per non perdere mai più consegne o visite.

Inoltre, alcune persone desiderano fare un ulteriore passo avanti e richiedere che il campanello riproduca la sua suoneria tradizionale, accenda un LED indicatore e, idealmente, invii un SMS quando qualcuno preme il pulsante. Questo solleva alcune domande legittime: è meglio utilizzare due microcontrollori collegati tramite Wi-Fi (ad esempio, due ESP32) o optare per qualcosa di più semplice come un collegamento a radiofrequenza? È meglio utilizzare il campanello esistente con la sua alimentazione a 230V o costruirne uno completamente nuovo? Nei paragrafi successivi, spiegherò diversi approcci, i componenti, l'assemblaggio sicuro e una soluzione software proposta utilizzando MQTT, OpenHAB e Pushbullet , in modo che il progetto risulti curato, esteticamente gradevole e funzionale senza risultare eccessivamente complesso.

Architettura: da due MCU a RF, tramite WiFi

Quando si pensa alla progettazione, la prima cosa che viene in mente è utilizzare due microcontrollori sulla stessa rete domestica: un modulo all'interno e uno all'esterno, che comunicano tramite Wi-Fi. Funziona, certo, ma può risultare un po' eccessivo e costoso se si utilizzano due ESP32 solo per un campanello. L'obiettivo reale è molto semplice: un pulsante esterno che attiva la logica interna, la quale gestisce poi tutto il resto (suono, LED, notifica sul cellulare, persino SMS).

Un'alternativa più leggera consiste nell'inserire un semplice trasmettitore e ricevitore a radiofrequenza tra il pulsante esterno e il microcontrollore interno. Il vantaggio è che il pulsante non necessita di un microcontrollore completo: con un modulo RF economico , una batteria e un circuito ben progettato, è sufficiente inviare il segnale quando viene premuto. All'interno dell'abitazione, un microcontrollore abilitato al Wi-Fi riceve l'allarme dal ricevitore RF e gestisce il resto: emette il suono "ding-dong", attiva un LED, invia la notifica e, se lo si desidera, invia un SMS tramite un servizio esterno.

Se preferisci mantenere il cablaggio esistente e utilizzare il tuo campanello a 230V , esiste un'altra ottima soluzione: rilevare la presenza di tensione quando suona. Questo rilevamento, effettuato tramite isolamento galvanico, alimenta la logica di un microcontrollore Wi-Fi che trasmette l'evento e ti avvisa. In questo modo, non sostituisci il campanello , ma lo migliori semplicemente.

Per gli utenti che esitano a cimentarsi in progetti fai-da-te, esiste anche l'opzione di acquistare un sistema completo. Sul mercato sono disponibili videocitofoni wireless intelligenti con protezione IP65 e telecamere 1080P, che funzionano sia come videocitofoni che come sistemi di comunicazione bidirezionale. Alcuni negozi includono persino la funzione "Condividi" nella pagina del prodotto e molti offrono moduli "Hai trovato un prezzo inferiore?" in cui viene chiesto di indicare se il prezzo era in un negozio fisico , la regione e altri dettagli per verificare se è possibile eguagliare l'offerta. In breve, esistono soluzioni commerciali molto complete , ma se vi piace smanettare, una soluzione fai-da-te sarà più economica e personalizzabile.

progetto campanello intelligente

Rilevamento sicuro dei 230 V: l'optoaccoppiatore in soccorso

Molti campanelli tradizionali sono alimentati a 230 V solo quando qualcuno preme il pulsante. La chiave per "ascoltare" in sicurezza questo evento è isolare completamente l'alimentazione dal circuito logico. È qui che entrano in gioco gli optoaccoppiatori : dispositivi che trasmettono il segnale tramite luce tra due circuiti separati, garantendo che non vi sia alcun collegamento elettrico diretto tra la rete elettrica e i dispositivi elettronici a 3,3 V.

Per semplificare le cose, è possibile acquistare un circuito stampato preassemblato che rileva 230 V e fornisce un'uscita sicura per il microcontrollore. Queste schede solitamente includono l'optoaccoppiatore e la resistenza appropriata, proteggendo così il microcontrollore. Si tratta di una soluzione rapida e affidabile se non si desidera progettarlo da zero. Se invece vi piace costruire, l'altra opzione è replicare il circuito autonomamente con pochi componenti facilmente reperibili , mantenendo il principio di separazione fisica tra alimentazione e logica.

Presta attenzione al cablaggio e alla spaziatura: è consigliabile lasciare uno spazio generoso sulla scheda tra la linea a 230 V e l'alimentazione del microcontrollore. Se lavori su una scheda perforata, assicurati di avere spazio a sufficienza e, se possibile, racchiudi tutto in un contenitore ben progettato per evitare contatti indesiderati. Gli optoaccoppiatori, per loro stessa natura, aggiungono un ulteriore livello di tranquillità che ti permette di dormire sonni tranquilli.

Un altro componente importante è l'alimentazione: il microcontrollore che useremo funziona a 3,3 V. Se non si dispone di un alimentatore da 3,3 V, è possibile ridurre la tensione da 5 V utilizzando un regolatore LM317T , regolandolo correttamente per fornire una tensione stabile di 3,3 V. Questa combinazione (alimentatore da 5 V + regolatore) è molto comune nei progetti fai-da-te; è economica ed efficace.

installazione del campanello intelligente

Hardware pratico: ESP-01, custodia 3D e cablaggio

Per aggiungere la connettività Wi-Fi al sistema, un'opzione classica e ben nota è l' ESP-01 . È piccolo, economico, facile da programmare e, soprattutto, perfettamente adeguato per un campanello . Rispetto a un ESP32, che è un mostro per progetti più grandi, l'ESP-01 copre ampiamente le esigenze di lettura degli eventi, connessione di rete, pubblicazione MQTT e attivazione delle notifiche.

Durante l'assemblaggio fisico, può essere utile racchiudere tutto in una scatola stampata in 3D per una configurazione compatta e sicura. Quando si combinano la scheda elettronica ESP-01 e la scheda di alimentazione (con uno slot per una morsettiera), il tutto si adatta a volte quasi perfettamente allo spazio di un campanello tradizionale. Questo permette di posizionare l'elettronica vicino al campanello stesso e di mantenere l'estetica della casa senza dispositivi antiestetici.

Anche il cablaggio è importante. È consigliabile collegare il filo di fase del campanello , il filo di fase per l'elettronica (che deve essere separato in modo che il microfono sia sempre alimentato, anche se il campanello non viene premuto) e i fili neutri a una morsettiera chiaramente etichettata. In questo modo, è possibile rilevare quando l'alimentazione raggiunge il campanello e, allo stesso tempo, mantenere il sistema smart online per inviare eventi e notifiche. Ricordate le regole: ogni cosa al suo posto e con separazione fisica tra alimentazione e logica.

Per gli appassionati del fai-da-te, assemblare il circuito su una basetta millefori funziona benissimo, a patto di mantenere le distanze di sicurezza. Alcuni promettono di passare un giorno a PCB personalizzati, ma nel frattempo una basetta millefori ben fatta è un'ottima soluzione . Se si desidera documentare il progetto, è possibile salvare lo schema nel proprio programma preferito (ad esempio, un file EAGLE), il che semplifica notevolmente la condivisione e la revisione.

elettronica per campanello intelligente

Software e notifiche: interrupt, MQTT, OpenHAB e Pushbullet

Passiamo ora al "cervello". Nella sezione firmware per l'ESP-01, un metodo efficace per rilevare l'evento consiste nell'utilizzare un interrupt a fronte di salita . Un dettaglio pratico: definire il pin 3 (il pin RX della porta seriale) come pin di interrupt, in modo che quando il rilevatore (o il sensore ottico) indica la presenza di tensione, venga attivata una routine che contrassegna lo stato del buzzer.

La configurazione tipica in molti esempi utilizza una riga come: `attachInterrupt(digitalPinToInterrupt(sensePin), onDoorbellStateChange, FALLING); `. La routine, decorata con `ICACHE_RAM_ATTR` sul firmware ESP8266/ESP-01, potrebbe essere simile a questa: `void ICACHE_RAM_ATTR onDoorbellStateChange() { lastTrueState = millis(); doorbellState = true; }` . Questo salva il tempo di attivazione e imposta lo stato "qualcuno ha suonato" su true.

Nel ciclo principale, dopo un intervallo di tempo ragionevole, il flag viene reimpostato per consentire nuove notifiche. Questo implica un controllo temporale come `if (doorbellState && (now – lastTrueState) > 5000) { doorbellState = false; isStateSent = false; }` . Ciò garantisce che, se sono trascorsi 5 secondi dall'ultima chiamata, l'evento venga considerato chiuso e le notifiche possano essere inviate nuovamente se qualcuno preme il pulsante. Questo impedisce l'invio di notifiche indesiderate dovute a una singola pressione prolungata o a rimbalzi.

Per l'integrazione con i sistemi di domotica e gli standard per la casa intelligente , MQTT è incredibilmente pratico. Puoi configurare il tuo broker e integrarlo in OpenHAB , dove creerai un "Thing" e il relativo "Item" che rappresentano lo stato del campanello (ad esempio, OFF/ON). Da lì, puoi configurare le notifiche con il servizio che preferisci: Pushbullet è un classico, e puoi attivare l'avviso con una regola che si attiva quando l'Item passa da OFF ad ON.

Lo scheletro di quella regola in OpenHAB potrebbe essere simile a questo: `rule "RuleName" when Item ItemName changed from OFF to ON then val actions = getActions("pushbullet", "ItemNamePushbulletBot") if (actions !== null) { actions.sendPushbulletNote("Main doorbell", "Main doorbell", "Someone is at the main door") } end` . In termini più semplici: non appena l'Item si accende, invii una nota ai tuoi dispositivi. Se hai bisogno di SMS, puoi sostituire `Pushbullet` con un servizio SMS o un gateway che abbia un binding disponibile sulla tua piattaforma di domotica.

Per chi preferisce non toccare il campanello originale e desidera visualizzare le immagini sul proprio cellulare, è importante ricordare che sul mercato sono disponibili videocitofoni wireless con telecamere 1080p e grado di protezione IP65. Questi dispositivi offrono funzionalità di videocitofono integrate e, in molti negozi, includono persino pulsanti " Condividi " nella pagina del prodotto e il popolare modulo "Hai trovato un prezzo inferiore?" per mantenere prezzi competitivi; potrebbero anche chiedere se il prodotto è stato visto in un negozio fisico e la provincia di residenza per valutare la richiesta. Rappresentano un'alternativa pratica , sebbene il loro costo non sia solitamente paragonabile a quello di un'installazione fai-da-te ben eseguita.

software per campanello intelligente

Un altro consiglio pratico sul software: il dispositivo dovrebbe mantenere una connessione Wi-Fi stabile e riconnettersi automaticamente al broker MQTT in caso di interruzione. Gli ESP in genere includono una routine di "riconnessione in caso di assenza di connessione" e utilizzano un timer per evitare che si blocchino nel tentativo infinito di riconnettersi. Un sistema di monitoraggio software può evitarti più di un problema concreto.

Per il LED indicatore, è possibile impostarlo in modo che lampeggi in sincronia con l'evento (ad esempio, per 5 secondi dopo l'avvio della chiamata) e poi si spenga. Per un tocco più discreto, si può utilizzare un lampeggio graduale PWM per indicare "chiamata in corso" e una luce fissa breve per "chiamata registrata". Questi segnali visivi, pur non essendo essenziali, sono utili quando non si ha il telefono a portata di mano.

Per chi sta valutando l'invio di messaggi SMS, è importante ricordare che esistono servizi e API che consentono di inviare messaggi con una semplice chiamata HTTP dal proprio microcontrollore o, meglio ancora, dal server di domotica . Quest'ultima soluzione riduce il carico sul microcontrollore e centralizza la logica (ad esempio, inviando messaggi SMS solo se la casa è in modalità "assente"). Inoltre, l'invio di SMS comporta solitamente un costo per trasmissione, quindi è consigliabile implementare una semplice regola antispam per evitare l'invio di più di un messaggio ogni X minuti.

Tra l'altro, se integri tutto con OpenHAB (o piattaforme simili), separerai la fase di "scoperta e pubblicazione" (MCU) da quella di "automazione e notifica" (server). Questa divisione di responsabilità semplifica la manutenzione del sistema: il microcontrollore si concentra su un singolo compito, mentre il server, più flessibile, gestisce notifiche, filtri, regole e registri storici delle chiamate .

Una volta completato e testato il cablaggio sul banco, è il momento dell'installazione: potrebbe essere necessario posare un nuovo cavo per alimentare il campanello in modo continuo. In molte case, il condotto esistente lo consente, richiedendo solo una piccola modifica alla scatola di derivazione più vicina. È fondamentale lavorare in sicurezza: scollegare l'alimentazione, identificare i conduttori , verificare le normative e, in caso di dubbi, chiamare un professionista.

Se ritieni che manchi qualcosa, il passo successivo potrebbe essere misurare quante volte viene premuto il campanello (telemetria di base), utilizzare un sensore di movimento PIR , esporre le metriche al tuo sistema (ad esempio, tramite MQTT a un database di serie temporali) o persino registrare un video con una telecamera IP quando viene attivato il campanello. Non fa strettamente parte del progetto principale, ma l'automazione offre questi vantaggi.

Per quanto riguarda la finitura, assicurati che l' involucro stampato in 3D sia ben ventilato in modo che il regolatore (se stai usando un LM317T) non si surriscaldi. Un piccolo dissipatore di calore e lasciare spazio tra i componenti saranno d'aiuto. Inoltre, etichettare l'interno con le diciture "fase di suoneria", "fase di alimentazione" e "neutro" renderà molto più semplici eventuali revisioni o espansioni future , evitando di dover procedere per tentativi quando riprenderai il progetto mesi dopo.

Tornando al dibattito iniziale (due MCU contro RF), se siete preoccupati per il consumo energetico del pulsante esterno e volete semplificare al massimo le cose , la combinazione RF + MCU interna è vincente: il trasmettitore esterno può essere minimale e a basso consumo, e all'interno si mantiene tutto "pronto all'uso", con un'alimentazione stabile. Se preferite evitare il collegamento radio e avete già il cablaggio per il campanello , il rilevamento a 230 V con un optoaccoppiatore e una singola MCU è semplice, robusto e pulito.

Infine, un paio di buone pratiche: documenta lo schema (anche se si tratta solo di una foto del prototipo con annotazioni), carica il codice sul tuo repository e aggiungi un file README con la piedinatura. Piccoli dettagli come indicare che il pin 3 (RX) viene utilizzato come interrupt eviteranno problemi se qualcuno, o anche tu, decidesse di attivare la porta seriale senza verificarlo. E se condividi il progetto, ancora meglio : altri potranno replicarlo, migliorarlo o darti spunti.

È chiaro che esiste una soluzione sia per chi ama il fai-da-te e vuole mantenere il proprio campanello intelligente e ricevere notifiche, sia per chi preferisce un sistema commerciale completo con telecamera e certificazione IP65. Se siete amanti del fai-da-te , la combinazione di un rilevatore sicuro, ESP-01, alimentatore da 3,3 V con LM317T, contenitore 3D, edge interrupt, MQTT, OpenHAB e Pushbullet vi offrirà un campanello intelligente affidabile, espandibile e, soprattutto, personalizzabile, con la possibilità di aggiungere SMS o qualsiasi altro canale senza dover ricostruire il sistema.

Scheda Arduino compatibile con sensori per Arduino
Articolo correlato:
Sensori per Arduino, un'ottima combinazione per gli utenti inesperti

Aggiungi come fonte preferita in Google