Sommario:

Sensore di pressione e temperatura del campanello della porta: 6 passaggi
Sensore di pressione e temperatura del campanello della porta: 6 passaggi

Video: Sensore di pressione e temperatura del campanello della porta: 6 passaggi

Video: Sensore di pressione e temperatura del campanello della porta: 6 passaggi
Video: PULIZIA SENSORE PRESSIONE OLIO - Guida Completa per RISPARMIARE SOLDI DI OFFICINA 2024, Dicembre
Anonim
Sensore di pressione e temperatura del campanello della porta
Sensore di pressione e temperatura del campanello della porta

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

Hardware e materiali
Hardware e materiali
Hardware e materiali
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: