Sommario:
- Passaggio 1: hardware e materiali
- Passaggio 2: software
- Passaggio 3: configurazione
- Passaggio 4: notifiche
- Passaggio 5: integrazione EasyIOT
- Passaggio 6: altre azioni di Bell Push
Video: Sensore di pressione e temperatura del campanello della porta: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Ciò migliora un campanello per porte cablato standard con un modulo esp-12F (esp8266).
Si installa nel campanello stesso per evitare qualsiasi modifica al cablaggio. Fornisce le seguenti funzioni
- Rileva le pressioni del campanello della porta
- Invia notifiche al telefono tramite IFTTT
- Memorizza l'attività del campanello in un server easyIOT (opzionale)
- Attiva altre attività tramite un URL quando viene premuto il campanello della porta
Catturo un'istantanea su una webcam vicino alla porta e posso visualizzare le acquisizioni recenti del campanello della porta sul mio telefono
- Sensore di temperatura integrato opzionale (DS18B20) che fa parte del monitoraggio della temperatura della mia casa
Passaggio 1: hardware e materiali
Sono necessari i seguenti materiali
- ESP-12F (ESP8266) modulo wifi/cpu
- Convertitore DC Buck per alimentazione a 3,3 V
- Diodo raddrizzatore (es. 1N4001)
- Condensatore elettrolitico 220uF 35V
- Condensatore elettrolitico 220uF 16V
- Diodo Zener 3.3 o 2.6V
- resistori
- Pezzo di cartone
- Connettori se richiesti
- Sensore di temperatura digitale DS18B20 se necessario
Lo schema mostra il circuito utilizzato. Presuppone un campanello alimentato a corrente alternata a bassa tensione che è il tipo più comune di campanello semplice cablato. Il campanello riceve alimentazione da un trasformatore per campanello esterno in genere intorno a 10 V CA. Questo non è critico con l'unico vincolo che è la tensione massima nel convertitore buck. Quello che uso è basato su MP2307 con un ingresso massimo di 23 V CC (~ 16 V CA).
Normalmente ci sono 3 terminali attivi. Con la spinta della campana che effettua il collegamento da un lato dell'alimentazione CA al solenoide della campana. Il modulo utilizza i due terminali AC per produrre l'alimentazione DC attraverso un semplice raddrizzatore a semionda. Il rilevamento della pressione della campana avviene monitorando la tensione attraverso il solenoide effettivo. Questo sarà normalmente macinato, ma quando la campana viene attivata sarà l'AC piena. Un resistore / diodo zener lo taglia in modo che un impulso 0 - 3,3 V 50 Hz venga alimentato in un pin GPIO. Il software lo elabora per fornire una singola attivazione per ogni pressione del campanello.
Ho costruito il circuito su un pezzo di strip board e questo è abbastanza piccolo da adattarsi facilmente al campanello. Uso semplici connettori a ponticello per semplificare l'installazione e includere specificamente in linea con l'alimentazione CA principale in modo che possa essere ripristinato facilmente se necessario.
Lo schema mostrato include un sensore di temperatura DS18B20. Questo è facoltativo. Lo uso come parte di una rete che monitora la maggior parte delle aree della mia casa. Se incluso è bene cablare il sensore con qualche centimetro di cavo per consentirne l'isolamento da eventuali effetti di riscaldamento locale.
Passaggio 2: software
Il pulsante porta utilizza uno sketch Arduino disponibile su github
Questo deve essere regolato per adattarsi alle condizioni locali e quindi compilato in un ambiente Arduino esp8266. Le seguenti librerie sono necessarie, sono standard o possono essere aggiunte.
- ESP8266WiFi
- WifiClient
- ESP8266WebServer
- ESP8266mDNS
- ESP8266HTTPUpdateServer
- ArduinoJson
- WifiClient Secure
- IFTTTMaker
- DNSServer
- WiFiManager (uso opzionale)
- OneWire
- Dallas Temperatura
Gli elementi nello schizzo da modificare includono
- Dettagli di accesso Wi-Fi locale (ssid, password) se non si utilizza WifiManager
- Codice di autorizzazione per l'accesso web AP_AUTHID. È bene renderlo di una lunghezza decente. Può contenere caratteri alfanumerici.
- firmware OTA password update_password
-
Password WifiManager WM_PASSWORD
Il Wi-Fi può essere configurato manualmente commentando WM_NAME
- Chiave produttore IFTTT (vedi il passaggio di notifica)
Le modifiche facoltative includono
- Modifica del pin di ingresso per il rilevatore del campanello
- Sostituzione del perno per il sensore di temperatura
- Modifica della porta di accesso Web da 80. predefinita
Una volta fatto, dovrebbe essere prima compilato e caricato utilizzando il caricamento seriale convenzionale. L'aggiornamento successivo può essere effettuato compilando un binario di esportazione in ambiente Arduino e quindi accedendo all'interfaccia OTA su ip/firmware.
La pressione del campanello della porta viene rilevata nel software interrompendo il rilevamento del fronte di salita del primo impulso dal circuito del rilevatore. Tutti gli interrupt successivi vengono ignorati. Un timeout viene utilizzato per riattivare il rilevatore dopo il BELL_MIN_INTERVAL che è impostato su 10 secondi.
È possibile accedere ad altre attività sul server Web esp8266
- ip/recente mostra l'attività recente del campanello della porta
- ip/reloadConfig ricarica espConfig
- ip/bellPush simula la pressione di un campanello
Passaggio 3: configurazione
Così com'è costruito, il software ottiene la sua configurazione da un server web locale. Il modulo carica i dati di configurazione in base al suo indirizzo Mac. Ciò rende molto conveniente eseguire più moduli utilizzando lo stesso binario e semplifica anche l'aggiornamento della configurazione senza ricompilare. Sarebbe possibile saltare questo e inserire i dati di configurazione direttamente nel codice.
Memorizzo il file di configurazione sul mio server EasyIOT che ha una cartella su easyIOT/html in cui è possibile recuperare facilmente il file di configurazione.
Il file si chiama espConfig ed è un semplice file di testo che memorizza una serie di parametri (12) per ogni possibile indirizzo Mac. Un modulo carica solo i parametri impostati per il suo indirizzo Mac.
Un esempio dal file è
#Sala
#Indirizzo Mac123456ABCDEF
#nome modulo
esp8266-hall
#maschera modalità server (1=senso temperatura, 4 = modalità boiler, 4 = campanello)
9
Nodo #EIOT per la temperatura
N9S0
#inutilizzato
-1
# intervallo di temperatura minimo in secondi
60
#intervallo di temperatura massimo in secondi
300
#intervallo potenza caldaia
0
Nodo di alimentazione della caldaia #EasyIOT
-1
#EasyIOT nodo push campanello
N10S0
# Valore di notifica IFTTT
davanti
#IFTTT notifica il nome dell'evento
campanello di casa
#azione URL
192.168.0.2/snap.php
Qualsiasi riga che inizia con # viene ignorata. Tutte le linee devono essere presenti. -1 viene utilizzato per i parametri da ignorare.
Il file di configurazione viene letto al primo avvio del modulo. Può anche essere ricaricato in un sistema in esecuzione (quando la configurazione è stata modificata) accedendo a ip/reloadConfig
La parte della configurazione della modalità caldaia non è rilevante qui, ma viene utilizzata nei miei sensori di temperatura collegati all'uscita del tubo di riscaldamento centralizzato poiché rileva quando la caldaia si sta riscaldando e può calcolare il consumo energetico medio.
Passaggio 4: notifiche
Quando viene rilevata una spinta del campanello della porta, tenta di notificarlo tramite IFTTT o PushOver. Ora faccio PushOver in quanto dà una risposta più veloce.
Per IFTTT è necessario un account e attivare il canale Maker WebHoooks. La MakerKey di questo canale deve essere compilata nel codice.
Imposta un'azione IF utilizzando Maker WebHooks e usa il nome dell'evento con lo stesso nome della configurazione (ad esempio campanello). L'azione THEN dovrebbe essere la notifica IFTTT. Puoi aggiungere value1 alla notifica che sarà nel file di configurazione. Questo può essere utile se hai 2 o più rilevatori.
È necessario installare l'app IFTTT sul telefono e verranno visualizzate le notifiche ogni volta che viene attivato il campanello.
Per PushOver hai bisogno di un account PushOver e segui le istruzioni per ricevere le notifiche API. Devi impostare i token NOTIFICATION_APP e NOTIFICATION_USER nel software con i valori del tuo account PushOver.
Devi installare l'app PushOver sul tuo telefono e pagare una modesta tariffa una tantum per ricevere le notifiche. Ne vale la pena a mio avviso per ottenere una risposta molto più rapida.
Passaggio 5: integrazione EasyIOT
Il software può inviare report push di temperatura e campanello a un server EasyIOT. L'automazione EasyIOT può essere utilizzata per intraprendere ulteriori azioni in base a questi report.
Configura un server EasyIOT (ad esempio su un Raspberry Pi). Configura l'indirizzo IP e la password del nome utente nel software esp8266 e compila.
Ora aggiungi un driver virtuale nella configurazione di EASYIOT. Scegliere Ingresso analogico temperatura e annotare il nome del nodo EasyIOT. Questo dovrebbe essere inserito nella parte del nome del nodo della temperatura del file espConfig.
Aggiungi un secondo driver virtuale. Scegli Ingresso digitale porta, annota il nome del nodo e inseriscilo nel file espConfig.
Passaggio 6: altre azioni di Bell Push
Il software ha una routine chiamata actionBellOn. Come scritto questo può fare 3 cose
- Notifica IFTTT
- Rapporto EasyIOT
- Esegui un'azione URL
L'URL può essere utilizzato per attivare altre attività da altri server web. L'URL utilizzato è nel file espConfig.
Se il server dell'URL è autenticato, il nome utente e la password devono essere configurati e compilati nel codice.
Lo uso per accedere a un URL chiamato snap.php su una telecamera accanto alla porta. Questo richiede un-j.webp
Uso fotocamere basate su Raspberry Pi che rendono questa operazione molto semplice. telecamera
Consigliato:
Il campanello della porta hip hop: 9 passaggi (con immagini)
Il campanello della porta Hip Hop: un campanello con più campioni e un giradischi su cui puoi effettivamente grattare! Quindi, un paio di anni fa, dopo un post su Facebook su un'idea per un campanello con squilli separati per ogni persona in casa mia, amico mio ha gettato l'idea per incl
Hack della luce della stanza del campanello per non udenti: 7 passaggi (con immagini)
Hack della luce del campanello per non udenti: Problema: mio padre è registrato come sordo e mia madre ha problemi di udito e per questo spesso hanno difficoltà a sentire il campanello. Questo potrebbe essere un problema sofferto anche da molti altri. Hanno comprato un campanello con luce lampeggiante per aiutarli con t
Visualizzazione della pressione barometrica e della temperatura utilizzando Infineon XMC4700 RelaxKit, Infineon DPS422 e AWS.: 8 passaggi
Visualizzazione della pressione atmosferica e della temperatura utilizzando Infineon XMC4700 RelaxKit, Infineon DPS422 e AWS.: È un progetto semplice per acquisire la pressione atmosferica e la temperatura utilizzando il DPS 422 di Infineon. Diventa goffo monitorare la pressione e la temperatura per un periodo di tempo. È qui che entra in gioco l'analisi, l'intuizione sul cambiamento in
Campanello della porta dell'ufficio: 5 passaggi
Campanello della porta dell'ufficio: ho creato questo campanello per far sapere al nostro ufficio quando le persone vengono alla porta del nostro supporto tecnico. Spesso non è subito evidente se c'è qualcuno nella suite degli uffici in quanto non abbiamo un "addetto alla reception" Questo sistema di avviso rapido e semplice basato su arduino
Guardiano V1.0 --- Aggiornamento della telecamera spioncino della porta con Arduino (caratteristiche di registrazione del rilevamento del movimento e scosse elettriche): 5 passaggi
Guardiano V1.0 ||| Aggiornamento della telecamera spioncino della porta con Arduino (funzioni di registrazione del rilevamento del movimento e scosse elettriche): ho ordinato una telecamera spioncino ma quando la uso, mi sono reso conto che non esiste una funzione di registrazione automatica (attivata dal rilevamento del movimento). Poi ho iniziato a indagare su come funziona. Per registrare un video, dovresti 1- tenere premuto il pulsante di accensione per quasi 2 secondi