Turinys:

Baterijomis varomas durų ir užrakto jutiklis, saulės, ESP8266, ESP-Now, MQTT: 4 žingsniai (su nuotraukomis)
Baterijomis varomas durų ir užrakto jutiklis, saulės, ESP8266, ESP-Now, MQTT: 4 žingsniai (su nuotraukomis)

Video: Baterijomis varomas durų ir užrakto jutiklis, saulės, ESP8266, ESP-Now, MQTT: 4 žingsniai (su nuotraukomis)

Video: Baterijomis varomas durų ir užrakto jutiklis, saulės, ESP8266, ESP-Now, MQTT: 4 žingsniai (su nuotraukomis)
Video: 🧨 Čia surinktos visos Volvo XC90 silpnybės ir problemos. Subtitrai! 2024, Lapkritis
Anonim
Baterijomis varomas durų ir užrakto jutiklis, saulės, ESP8266, ESP-Now, MQTT
Baterijomis varomas durų ir užrakto jutiklis, saulės, ESP8266, ESP-Now, MQTT
Baterijomis varomas durų ir užrakto jutiklis, saulės, ESP8266, ESP-Now, MQTT
Baterijomis varomas durų ir užrakto jutiklis, saulės, ESP8266, ESP-Now, MQTT
Baterijomis varomas durų ir užrakto jutiklis, saulės, ESP8266, ESP-Now, MQTT
Baterijomis varomas durų ir užrakto jutiklis, saulės, ESP8266, ESP-Now, MQTT

Šioje instrukcijoje aš jums parodysiu, kaip sukūriau akumuliatoriumi maitinamą jutiklį, kad galėčiau stebėti nuotolinio dviračio pastogės duris ir užrakto būseną. Turiu maitinimą iš tinklo, todėl maitinu akumuliatoriumi. Akumuliatorius įkraunamas nedideliu saulės kolektoriu.

Modulis skirtas mažos galios veikimui ir veikia ESP-07S giliai miegant, kuris kiekvieną minutę atsibunda ir tikrina duris bei užrakto padėtį. Tačiau, atidarius duris, modulį pažadina paprasta aparatūros grandinė, kad iškart atsiųstų informaciją apie atidarytas duris. Modulis palaiko ryšį per ESP-Now, kurio perdavimo laikas yra labai trumpas ir reikalauja tik nedidelio energijos kiekio.

Mano namų automatika, veikianti „Openhab“ir „Mosquitto“, tvarko pranešimus ir siunčia man nerimą keliantį pranešimą per „Telegram“, jei žadintuvas įjungtas.

Prekės

Visi komponentai yra perkami iš „Aliexpress“.

  • ESP-07S modulis pasirinktas taip, kad būtų galima lengvai prijungti išorinę anteną, kad padidėtų ESP-Now diapazonas.
  • TP4056 įkroviklio plokštė su apsauga nuo akumuliatoriaus
  • 18650 LiPo baterija
  • Nendrinis jungiklis (NE, norint stebėti durų padėtį)
  • Kontaktinis jungiklis (monitoriaus užrakto padėtis)
  • Saulės skydelis (6V, 0,6W)
  • Tranzistoriai, rezistoriai, diodai, jungtys (žr. Schemą)

1 žingsnis: Aparatūra

Techninė įranga
Techninė įranga
Techninė įranga
Techninė įranga
Techninė įranga
Techninė įranga

Sukurta schema įtraukta į paveikslėlį. Pirmiausia aš sukūriau grandinės prototipą ant duonos lentos. Tada visus komponentus lituodavau ant lentos.

Aš naudoju ESP-07S ESP8266 modulį, nes jame yra išorinės antenos jungtis. Kadangi mano dviračių namelis yra lauke, „WiFi“signalas turi praeiti per betoninę sieną. Sužinojau, kad išorinė antena stipriai padidina ESP-Now diapazoną. Gana logiška, nes tai yra „WiFi“signalas.

Durų jutikliui naudojau nendrinį jungiklį su botn NO ir NC jungtimis. Kai durys uždarytos, prie atidarymo pritvirtintas magnetas atidaro jungiklį. Modulis tikrina durų ir užrakto būseną kas 60 sekundžių, tačiau, atidarius duris, noriu būti nedelsiant informuotas, todėl įdiegiau atstatymo grandinę, žr.

Užrakto jutikliui naudoju kontaktinį jungiklį su „botn NO“ir „NC“jungtimis. Kai užraktas uždarytas, fiksavimo kaištis atidaro jungiklį. Taigi tiek durų, tiek užrakto jutiklis paprastai atidaromi (NE).

Baterija įkraunama per TP4056 įkrovimo plokštę su apsaugine baterija, pritvirtinta prie mažo 6V saulės kolektoriaus.

Žemiau paaiškinsiu kai kurias grandinės dalis.

Iš naujo nustatyti grandinę

Atstatymo grandinė su „2N7000 Mosfet“yra prijungta prie ESP8266 atstatymo kaiščio. Jei durys uždarytos, kontaktas atidarytas, tiek vartai, tiek tranzistoriaus šaltinis yra aukšti, o „mosfet“yra išjungtas. Prie vartų prijungtas kondensatorius turi teigiamą krūvį. ESP8266 nendrės GPIO12 kaip HIGH = uždarytos.

Atidarius duris, „Mosfet“šaltinis yra prijungtas prie žemės. Kadangi vartai yra aukšti, „Mosfet“įjungiamas ir traukia atstatymo kaištį į žemę, todėl ESP8266 atstatomas. Kondensatorius iškraunamas per R7 ir tada išjungia „MOSFET“. Žiūrėkite mano osciloskopo ekrano kopiją, kad pamatytumėte mažą 50 ms impulsą. Po pulso ESP8266 įsijungia. ESP8266 nendrės GPIO12 kaip LOW = atviras.

Kai durys vėl uždaromos, rezistorius R6 traukia šaltinį ir GPIO12 aukštyn.

Baterijos stebėjimas

Akumuliatoriaus įtampa nuskaitoma per įtampos skirstytuvą tarp VBat ir GND. Tačiau nenoriu nuolatinio ryšio tarp „VBat“ir „GND“, nes tai išeikvoja akumuliatorių. Todėl aš įdėjau P kanalo „mosfet“į aukštą įtampos skirstytuvo pusę, o „mosfet“vartai yra ištraukti, todėl „mosfet“yra išjungtas. Tik kai GPIO14 yra žemas, „Mosfet“įjungiamas ir ESP8266 gali nustatyti įtampą su ADC.

2 žingsnis: programinė įranga

ESP8266 modulis dažniausiai yra gilaus miego režime, kad taupytų energiją.

Kas 60 sekundžių modulis įsijungia išjungus „WiFi“ir matuoja spynos ir durų padėtį bei patikrina, ar šios pozicijos nepasikeitė, palyginti su RTC atmintyje saugomomis vertėmis. Jei padėtis pasikeitė, modulis minimaliai miega ir pabunda, kai įjungtas „WiFi“, kad išsiųstų naują poziciją per ESP-Now. Ir, žinoma, naujos pozicijos yra saugomos RTC atmintyje. Jei niekas nepasikeitė, modulis tiesiog vėl miega ir atsibunda išjungęs „WiFi“.

Žr. Kitą „Instructable“, kuriame paaiškinu, kaip naudoju ESP-Now pranešimams perduoti ir paversti juos MQTT pranešimais.

Jei „OTA grandinė“rankiniu būdu uždaroma per trumpiklį, modulis atsibunda ir prisijungia prie mano „WiFi“tinklo laukdamas OTA atnaujinimo per ESP8266HTTPUpdateServer.

Kas 30 minučių matuojama ir skelbiama akumuliatoriaus įtampa.

Jis veikia kaip valstybinė mašina. Būsenos yra apibrėžtos programoje, kuri paskelbta mano „Github“.

STATE_CHECK: pabusti išjungus radiją („WiFi“išjungtas), tiesiog patikrinkite, ar kažkas nepasikeitė

STATE_INIT: pabusti įjungus radiją (įjungtas „WiFi“) ir perduoti durų bei užrakto būsenas

STATE_DOOR: pabusti su įjungtu radiju, kitą kartą paleidus paskelbti „doorstate“

STATE_LOCK: pabusti su įjungtu radiju, kitą kartą paleidus paskelbti lokalinę būseną

STATE_VOLTAGE: pabusti su įjungtu radiju, kitą kartą paleidus paskelbti įtampą

STATE_OTA 5: pabusti su įjungtu radiju, eiti į OTA režimą

3 žingsnis: Surinkite

Surinkite
Surinkite
Surinkti
Surinkti
Surinkite
Surinkite
Surinkti
Surinkti

Aš naudoju sraigtinius gnybtus ir nuolatinės srovės jungtis, kad galėčiau surinkti ir išardyti savo projektą. Visas dalis sudėjau į mažą ABS dėžutę, žiūrėkite paveikslėlius. Aš uždariau dalis Kaptono juostoje, skirtoje elektrai izoliuoti

Saulės skydelį jungiu per kintamosios srovės kištuką (5,5 x 2,1) su 1N5817 diodu, kurio priekinė įtampa yra žema.

Nendrių jungiklis yra priklijuotas dėžutėje, o magnetas yra priklijuotas prie durų tinkamoje padėtyje.

Užrakto kontaktas įvedamas iš šono, žr.

4 žingsnis: darbo modulis

Darbo modulis
Darbo modulis
Darbo modulis
Darbo modulis

Gautus duomenis skaito mano „Openhab“namų automatika. Man patinka, galiu paskelbti „Openhab“failus.

Stebiu:

  • Akumuliatoriaus įtampa (atkakliai, todėl grafike matau įtampą laikui bėgant).
  • Durų ir spynų padėtys.
  • Laikotarpiai pasikeitė.

Tokiu būdu, eidama miegoti, lengvai matau, ar visos pastogės yra užrakintos.

Naudojimo pradžioje akumuliatorius buvo įkrautas šviesią dieną, o maždaug po savaitės baterija buvo visiškai įkrauta. Dabar rudenį baterija lieka įkrauta. Matyt, modulis yra labai ekonomiškas ir sunaudoja daug mažiau energijos nei mažas saulės kolektorius. Kietas akumuliatorius tikriausiai turi energijos keletą mėnesių tamsoje. Pažiūrėkime, kaip modulis veikia šią žiemą, kai tvarto temperatūra yra daug žemesnė.

Rekomenduojamas: