Cuprins:
Video: Senzor de ușă și blocare alimentat de baterie, solar, ESP8266, ESP-Now, MQTT: 4 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
În acest Instructable vă arăt cum am realizat un senzor alimentat cu baterie pentru a monitoriza starea ușii și a blocării magaziei de biciclete la distanță. Am alimentare cu rețea electrică, de aceea am alimentat cu baterie. Bateria este încărcată de un mic panou solar.
Modulul este proiectat pentru funcționare cu putere redusă și rulează pe un ESP-07S în somn profund care se trezește și verifică poziția ușii și a blocării în fiecare minut. Cu toate acestea, când ușa este deschisă, modulul este trezit de un simplu circuit hardware pentru a trimite imediat informațiile despre „ușa deschisă”. Modulul comunică prin ESP-Now, în care timpul de transmisie este foarte scurt, necesitând doar o cantitate mică de energie.
Domotica mea care rulează pe Openhab și Mosquitto gestionează mesajele și îmi trimite un mesaj alarmant prin Telegram dacă alarma este pornită.
Provizii
Toate componentele sunt cumpărate de la Aliexpress.
- Modulul ESP-07S este ales pentru conectarea ușoară a unei antene externe pentru a crește gama ESP-Now.
- Placă de încărcare TP4056 cu protecție a bateriei
- 18650 baterie LiPo
- Comutator Reed (NU pentru a monitoriza poziția ușii)
- Comutator de contact (poziția de blocare a monitorului)
- Panou solar (6V, 0,6W)
- Tranzistoare, rezistențe, diode, conectori (vezi schema)
Pasul 1: Hardware
Schema așa cum este construită este inclusă ca imagine. În primul rând am prototipat circuitul pe o placă de calcul. Apoi am lipit toate componentele pe o placă de perf.
Folosesc un modul ESP-07S ESP8266 deoarece are o conexiune pentru o antenă externă. Deoarece magazia pentru biciclete este afară, semnalul WiFi trebuie să treacă printr-un perete de beton. Am aflat că o antenă externă mărește puternic autonomia ESP-Now. Destul de logic, deoarece este un semnal WiFi.
Pentru senzorul ușii am folosit un comutator reed cu conexiuni botn NO și NC. Când ușa este închisă, un magnet atașat la comutator deschide comutatorul. Modulul verifică starea ușii și a blocării la fiecare 60 de secunde, totuși, când ușa este deschisă, vreau să fiu informat imediat, de aceea am implementat un circuit de resetare, vezi mai jos.
Pentru senzorul de blocare am folosit un comutator de contact cu conexiuni botn NO și NC. Când blocarea este închisă, știftul de blocare deschide comutatorul. Deci, atât senzorul ușii, cât și senzorul de blocare sunt normal deschise (NU).
Bateria se încarcă printr-o placă de încărcare TP4056 cu protecție a bateriei atașată la un mic panou solar de 6V.
Voi explica mai jos câteva părți ale circuitului.
Resetați circuitul
Circuitul de resetare cu 2N7000 Mosfet este conectat la pinul de resetare al ESP8266. Dacă ușa este închisă, contactul este deschis, atât poarta, cât și sursa tranzistorului sunt înalte, iar mosfetul este oprit. Condensatorul conectat la poartă are o încărcare pozitivă. ESP8266 stabilește GPIO12 ca HIGH = închis.
Când ușa este deschisă, sursa mosfetului este conectată la masă. Deoarece poarta este înaltă, mosfetul este pornit și trage pinul de resetare la sol, rezultând o resetare a ESP8266. Condensatorul este descărcat prin R7 și apoi oprește mosfetul. Vedeți captura de ecran a osciloscopului meu pentru pulsul scăzut de 50 ms. După puls, ESP8266 pornește. ESP8266 stabilește GPIO12 ca LOW = deschis.
Când ușa este închisă din nou, rezistența R6 trage sursa și GPIO12 în sus.
Monitorizarea bateriei
Tensiunea bateriei este citită printr-un divizor de tensiune între VBat și GND. Cu toate acestea, nu vreau o conexiune permanentă între VBat și GND, deoarece aceasta descarcă bateria. Prin urmare, am pus un MOSFET canal P în partea înaltă a divizorului de tensiune și poarta MOSFET este trasă, astfel încât MOSFETUL este oprit. Numai când GPIO14 este scăzut, MOSFET este pornit, iar ESP8266 poate reda tensiunea cu ADC.
Pasul 2: Software
Modulul ESP8266 este în cea mai mare parte în modul de repaus profund pentru a economisi energie.
La fiecare 60 de secunde, modulul pornește cu WiFi dezactivat și măsoară poziția de blocare și ușă și verifică dacă aceste poziții s-au schimbat în comparație cu valorile stocate în memoria RTC. Dacă s-a schimbat o poziție, modulul doarme un timp minim și se trezește cu WiFi activat pentru a trimite noua poziție prin ESP-Now. Și, desigur, noile poziții sunt stocate în memoria RTC. Dacă nu s-a schimbat nimic, modulul doarme din nou și se trezește cu WiFi oprit.
Vedeți celălalt Instructable în care vă explic cum folosesc ESP-Now pentru a transmite mesajul și pentru a le transforma în mesaje MQTT.
Dacă „circuitul OTA” este închis manual printr-un jumper, modulul se trezește și se conectează la rețeaua mea WiFi pentru a aștepta o actualizare OTA prin ESP8266HTTPUpdateServer.
La fiecare 30 de minute, tensiunea bateriei este măsurată și publicată.
Funcționează ca o mașină de stat. Stările sunt definite în programul care este publicat pe Github.
STATE_CHECK: trezește-te cu Radio off (WiFi oprit), verifică doar dacă s-a schimbat ceva
STATE_INIT: treziți-vă cu Radio pornit (WiFi activat) și transmiteți starea ușii și a blocării
STATE_DOOR: trezește-te cu Radio pornit, publică doorstate data viitoare când pornește
STATE_LOCK: trezește-te cu Radio pornit, publică lockstate data viitoare când pornește
STATE_VOLTAGE: treziți-vă cu Radio pornit, publicați tensiunea data viitoare când pornește
STATE_OTA 5: trezește-te cu Radio pornit, mergi la modul OTA
Pasul 3: Asamblați
Folosesc terminale cu șurub și conectori DC tată / mamă pentru a putea asambla și dezasambla proiectul meu. Am pus toate piesele într-o cutie mică din ABS, vezi pozele. Am încapsulat piesele în banda Kapton pentru izolarea electrică
Conectez panoul solar printr-o priză DC tată (5,5 x 2,1) cu o diodă 1N5817 care are o tensiune redusă înainte.
Comutatorul reed este lipit în cutie și un magnet este lipit pe ușă în poziția corectă.
Contactul de blocare este introdus din lateral, vezi imaginea.
Pasul 4: Modul de lucru
Datele primite sunt citite de automatizarea mea de acasă Openhab. Îmi place, pot posta fișierele Openhab.
Monitorizez:
- Tensiunea bateriei (cu persistență, așa că văd tensiunea în timp într-un grafic).
- Pozițiile ușii și încuietorii.
- Momentele în care s-a schimbat poziția.
În acest fel, când mă culc, pot vedea cu ușurință dacă toate magaziile sunt încuiate.
La începutul utilizării, bateria a fost încărcată într-o zi luminoasă și, după aproximativ o săptămână, bateria a fost complet încărcată. Acum toamna, bateria rămâne încărcată. Aparent modulul este foarte economic și folosește mult mai puțină energie decât generează un mic panou solar. Bateria puternică are, probabil, energie pentru câteva luni de întuneric. Să vedem cum funcționează modulul în această iarnă, când temperatura din magazie este mult mai scăzută.
Recomandat:
Senzor de nivel al colectorului de apă alimentat cu baterie: 7 pași (cu imagini)
Senzor de nivel al colectorului de apă alimentat de baterie: Casa noastră are un rezervor de apă alimentat din ploaia care cade pe acoperiș și este folosit pentru toaletă, mașina de spălat și udarea plantelor din grădină. În ultimii trei ani, verile au fost foarte uscate, așa că am urmărit nivelul apei din rezervor. S
Office alimentat de baterie. Sistem solar cu comutare automată a panourilor solare est / vest și turbină eoliană: 11 pași (cu imagini)
Office alimentat de baterie. Sistem solar cu panouri solare de comutare automată est / vest și turbină eoliană: proiectul: un birou de 200 de metri pătrați trebuie să fie alimentat cu baterie. Biroul trebuie să conțină, de asemenea, toate controlerele, bateriile și componentele necesare pentru acest sistem. Energia solară și eoliană vor încărca bateriile. Există o mică problemă de numai
Senzor de umiditate pentru flori IOT WiFi (alimentat cu baterie): 8 pași (cu imagini)
Senzor de umiditate cu flori IOT WiFi (alimentat de la baterie): În acest instructiv vă prezentăm cum să construiți senzor de umiditate / apă WiFi cu un monitor de nivel al bateriei în mai puțin de 30 de minute. Dispozitivul monitorizează un nivel de umiditate și trimite date către un smartphone prin internet (MQTT) cu un interval de timp ales. U
Senzor de ușă alimentat de baterie cu integrare automată la domiciliu, WiFi și ESP-ACUM: 5 pași (cu imagini)
Senzor de ușă alimentat de baterie cu integrare de automatizare la domiciliu, WiFi și ESP-ACUM: În acest instructiv vă arăt cum am realizat un senzor de ușă alimentat de baterie cu integrare de automatizare la domiciliu. Am văzut și alți senzori și sisteme de alarmă drăguțe, dar am vrut să fac unul singur. Obiectivele mele: un senzor care detectează și raportează o doo
Blocare ușă a aplicației de casă: 5 pași (cu imagini)
Blocare ușă a aplicației de casă: în acest proiect, arăt cum se poate realiza o simplă blocare / deblocare ușă a aplicației telefonice din componente simple și introduc o aplicație ușor de utilizat numită Blynk. Folosesc un cip wifi Wemos D1 Mini și Arduino IDE pentru a crea codul. Puteți utiliza această configurație pentru a