Sommario:
- Forniture
- Passaggio 1: hardware
- Passaggio 2: software
- Passaggio 3: assemblare
- Passaggio 4: modulo di lavoro
Video: Sensore per porta e serratura del capannone alimentato a batteria, solare, ESP8266, ESP-Now, MQTT: 4 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 09:59
In questo Instructable ti mostro come ho realizzato un sensore alimentato a batteria per monitorare la porta e lo stato della serratura del mio capannone per biciclette remoto. Non ho alimentazione di rete, quindi l'ho alimentato a batteria. La batteria viene caricata da un piccolo pannello solare.
Il modulo è progettato per il funzionamento a bassa potenza e funziona su un ESP-07S in modalità di sospensione profonda che si sveglia e controlla la porta e la posizione di blocco ogni minuto. Tuttavia, quando la porta viene aperta, il modulo viene attivato da un semplice circuito hardware per inviare immediatamente l'informazione di 'porta aperta'. Il modulo comunica tramite ESP-Now, in cui il tempo di trasmissione è molto breve, richiedendo solo una piccola quantità di energia.
La mia domotica in esecuzione su Openhab e Mosquitto gestisce i messaggi e mi invia un messaggio allarmante tramite Telegram se l'allarme è attivato.
Forniture
Tutti i componenti sono acquistati da Aliexpress.
- Il modulo ESP-07S è stato scelto per il facile collegamento di un'antenna esterna per aumentare la portata di ESP-Now.
- Scheda caricabatterie TP4056 con protezione della batteria
- 18650 batteria LiPo
- Interruttore reed (NO per monitorare la posizione della porta)
- Interruttore di contatto (posizione di blocco del monitor)
- Pannello solare (6V, 0.6W)
- Transistor, resistori, diodo, connettori (vedi schema)
Passaggio 1: hardware
Lo schema assemblato è incluso come immagine. Per prima cosa ho prototipato il circuito su una breadboard. Poi ho saldato tutti i componenti su una scheda perf.
Uso un modulo ESP-07S ESP8266 poiché ha una connessione per un'antenna esterna. Dato che il mio capannone per biciclette è fuori, il segnale WiFi deve passare attraverso un muro di cemento. Ho scoperto che un'antenna esterna aumenta notevolmente la portata dell'ESP-Now. Abbastanza logico, dal momento che è un segnale WiFi.
Per il sensore della porta ho usato un interruttore reed con connessioni NA e NC botn. Quando la porta è chiusa, un magnete attaccato al apre l'interruttore. Il modulo controlla lo stato della porta e della serratura ogni 60 secondi, tuttavia, quando la porta viene aperta, voglio essere informato immediatamente, quindi ho implementato un circuito di ripristino, vedi sotto.
Per il sensore di blocco ho utilizzato un interruttore a contatto con connessioni NA e NC. Quando il lucchetto è chiuso, il perno di blocco apre l'interruttore. Quindi, sia il sensore porta che il sensore serratura sono normalmente aperti (NO).
La batteria viene caricata tramite una scheda caricabatterie TP4056 con protezione della batteria collegata a un piccolo pannello solare da 6V.
Spiegherò alcune parti del circuito di seguito.
Circuito di ripristino
Il circuito di ripristino con il Mosfet 2N7000 è collegato al pin di ripristino dell'ESP8266. Se la porta è chiusa, il contatto è aperto, sia il gate che il source del transistor sono alti e il mosfet è spento. Il condensatore collegato al gate ha una carica positiva. L'ESP8266 reed GPIO12 come HIGH = chiuso.
All'apertura della porta, la sorgente del mosfet è collegata a massa. Poiché il gate è alto, il mosfet viene acceso e porta il pin di ripristino a massa, con risultati in un ripristino dell'ESP8266. Il condensatore viene scaricato tramite R7 e quindi spegne il mosfet. Guarda lo screenshot del mio oscilloscopio per l'impulso basso di 50 ms. Dopo l'impulso, l'ESP8266 si avvia. L'ESP8266 reed GPIO12 come LOW = aperto.
Quando la porta viene richiusa, il resistore R6 tira su la sorgente e GPIO12.
Monitoraggio della batteria
La tensione della batteria viene letta tramite un partitore di tensione tra VBat e GND. Tuttavia, non voglio una connessione permanente tra VBat e GND, perché scarica la batteria. Pertanto metto un mosfet a canale P sul lato alto del partitore di tensione e il gate del mosfet viene sollevato, quindi il mosfet è spento. Solo quando GPIO14 è basso, il mosfet è acceso e ESP8266 può registrare la tensione con l'ADC.
Passaggio 2: software
Il modulo ESP8266 è per lo più in modalità di sospensione profonda per risparmiare energia.
Ogni 60 secondi, il modulo si avvia con WiFi disabilitato e misura la posizione della serratura e della porta e verifica se queste posizioni sono cambiate rispetto ai valori memorizzati nella memoria RTC. Se una posizione è cambiata, il modulo dorme per un tempo minimo e si riattiva con il WiFi abilitato per inviare la nuova posizione tramite ESP-Now. E naturalmente le nuove posizioni sono memorizzate nella memoria RTC. Se non è stato modificato nulla, il modulo si addormenta di nuovo e si riattiva con il WiFi disattivato.
Vedi il mio altro Instructable in cui spiego come utilizzo ESP-Now per trasmettere messaggi e trasformarli in messaggi MQTT.
Se il "circuito OTA" viene chiuso manualmente tramite un ponticello, il modulo si riattiva e si connette alla mia rete WiFi per attendere un aggiornamento OTA tramite ESP8266HTTPUpdateServer.
Ogni 30 minuti viene misurata e pubblicata la tensione della batteria.
Funziona come una macchina statale. Gli stati sono definiti nel programma che è pubblicato sul mio Github.
STATE_CHECK: sveglia con Radio spenta (WiFi spento), basta controllare se qualcosa è cambiato
STATE_INIT: sveglia con la radio accesa (WiFi attivo) e trasmette gli stati di porta e serratura
STATE_DOOR: sveglia con la radio accesa, pubblica lo stato della porta la prossima volta che si avvia
STATE_LOCK: sveglia con la radio accesa, pubblica lo stato di blocco la prossima volta che si avvia
STATE_VOLTAGE: sveglia con la radio accesa, pubblica la tensione la prossima volta che si avvia
STATE_OTA 5: sveglia con Radio accesa, vai in modalità OTA
Passaggio 3: assemblare
Utilizzo terminali a vite e connettori DC maschio/femmina per poter montare e smontare il mio progetto. Ho messo tutte le parti in una piccola scatola in ABS, guarda le foto. Ho incapsulato le parti in nastro Kapton per l'isolamento elettrico
Collego il pannello solare tramite una spina CC maschio (5,5 x 2,1) con un diodo 1N5817 che ha una bassa tensione diretta.
L'interruttore reed è incollato nella scatola e un magnete è incollato sulla porta nella posizione giusta.
Il contatto di blocco viene inserito di lato, vedere l'immagine.
Passaggio 4: modulo di lavoro
I dati ricevuti vengono letti dalla mia domotica Openhab. Se ti piace, posso pubblicare i file Openhab.
io monitoro:
- La tensione della batteria (con persistenza quindi vedo la tensione nel tempo in un grafico).
- Le posizioni della porta e della serratura.
- Le volte che la posizione è cambiata.
In questo modo, quando vado a letto, posso vedere facilmente se tutti i capannoni sono chiusi.
All'inizio dell'uso, la batteria è stata caricata in una giornata luminosa e dopo circa una settimana la batteria era completamente carica. Ora in autunno la batteria rimane carica. Apparentemente il modulo è molto economico e utilizza molta meno energia di un piccolo pannello solare. La robusta batteria probabilmente ha energia per alcuni mesi di oscurità. Vediamo come si comporta il modulo questo inverno, quando la temperatura nel capannone è molto più bassa.
Consigliato:
Sensore di livello del collettore d'acqua alimentato a batteria: 7 passaggi (con immagini)
Sensore di livello del collettore d'acqua alimentato a batteria: La nostra casa dispone di un serbatoio dell'acqua alimentato dalla pioggia che cade sul tetto e utilizzato per il wc, la lavatrice e l'irrigazione delle piante in giardino. Negli ultimi tre anni le estati sono state molto secche, quindi abbiamo tenuto d'occhio il livello dell'acqua nel serbatoio. S
Luce LED temporizzata per capannone solare e alimentata a batteria: 4 passaggi
Luce a LED temporizzata per capannone solare e alimentata a batteria: in questo tutorial ti mostrerò come ho realizzato una luce a LED nel mio capannone. Dato che non ho un collegamento alla rete elettrica, l'ho alimentato a batteria. La batteria viene caricata tramite pannello solare. La luce a LED si accende tramite un interruttore a impulsi e si spegne dopo
Sensore di umidità per fiori IOT WiFi (alimentato a batteria): 8 passaggi (con immagini)
Sensore di umidità per fiori WiFi IOT (alimentato a batteria): in questo tutorial presentiamo come costruire un sensore di umidità/acqua WiFi con un monitor del livello della batteria in meno di 30 minuti. Il dispositivo monitora il livello di umidità e invia i dati a uno smartphone tramite Internet (MQTT) con un intervallo di tempo prescelto. tu
ESP IoT alimentato a batteria: 10 passaggi (con immagini)
ESP IoT alimentato a batteria: queste istruzioni mostrano come creare una base ESP IoT alimentata a batteria sul design nelle mie istruzioni precedenti
ESP8266/ESP-12 SmartThings DS18B20 alimentato da Arduino Temp. Sensore: 4 passaggi (con immagini)
ESP8266/ESP-12 SmartThings DS18B20 alimentato da Arduino Temp. Sensore: a tutti noi piace sapere qual è la temperatura attuale della stanza e, a volte, qual è la temperatura in un'altra stanza, o forse anche nella tua casa di vacanza dall'altra parte del mondo. Forse vuoi monitorare la temperatura nella casa del tuo animale domestico Lizard