Innholdsfortegnelse:

Ultralav strømkjellerflomalarm med ESP8266: 3 trinn
Ultralav strømkjellerflomalarm med ESP8266: 3 trinn

Video: Ultralav strømkjellerflomalarm med ESP8266: 3 trinn

Video: Ultralav strømkjellerflomalarm med ESP8266: 3 trinn
Video: Starcadian - Ultralove 2024, November
Anonim
Ultralav strømkjellerflomalarm med ESP8266
Ultralav strømkjellerflomalarm med ESP8266
Ultralav strømkjellerflomalarm med ESP8266
Ultralav strømkjellerflomalarm med ESP8266

Hei, velkommen til min første instruks.

Kjelleren i huset mitt blir oversvømmet hvert par år av forskjellige årsaker som kraftige tordenvær om sommeren, høyt grunnvann eller til og med et rør som brister. Selv om det ikke er et fint sted, men sentralvarmekjelen min ligger der nede og vann kan skade de elektroniske delene, så jeg må pumpe ut vannet så snart som mulig. Det er vanskelig og ubehagelig å sjekke situasjonen etter et kraftig sommertordenvær, så jeg bestemte meg for å lage en ESP8266-basert alarm som sender meg en e-post i tilfelle flom. (Når oversvømmelsen er forårsaket av høyt grunnvann, er vannnivået vanligvis mindre enn 10 centimeter, noe som ikke er skadelig for varmeren, og det anbefales ikke å pumpe ut fordi det kommer tilbake uansett og jo mer du pumper, jo mer grunnvann kommer neste gang. Men det er godt å vite om situasjonen.)

I denne applikasjonen kan enheten være i "søvn" i årevis, og hvis alt fungerer som planlagt, fungerer det bare i noen få sekunder. Å bruke dyp søvn er ikke praktisk, da det trekker for mye strøm hvis vi vil sove i veldig lange perioder, og ESP8266 kan bare sove i omtrent 71 minutter.

Jeg bestemte meg for å bruke en flytebryter for å slå på strømmen til ESP. Med denne løsningen får ikke ESP strøm når bryteren er åpen, så strømforbruket er bare selvutladning av batteriene, noe som holder systemet klart til alarm i mange år.

Når vannnivået når flytebryteren, starter ESP normalt, kobler til WiFi-nettverket mitt, sender meg en e-post og sover for alltid med ESP. Desepsleep (0) til strømmen slås av og på igjen. Hvis den ikke kan koble til WiFi eller ikke kan sende e-posten, går den i dvale i 20 minutter, og prøver igjen til den lykkes.

Denne ideen ligner på løsningen beskrevet av Andreas Spiess i denne videoen. Men på grunn av flomens natur og flytebryteren trenger vi ikke å legge til en MOSFET for å holde ESP -en på før den er ferdig med oppgaven, fordi flottørbryteren vil bli lukket hvis vannivået er over utløsernivået.

Trinn 1: Skjematisk:

Skjematisk
Skjematisk

Deler

  • D1: BAT46 Schottky-diode for dyp søvn. Jeg har bedre erfaringer med Schottky -dioder enn motstander mellom D0 og RST.
  • Flytebryter: Enkelt $ 1,2 sivrør og magnetbasert flytebryter fra eBay. Ringen med magneten kan reverseres for å skifte mellom høyt og lavt væskenivå. eBay -lenke
  • Batteriholder: for 2x AAA 1,5V batterier
  • P1: 2x 2P 5,08 mm (200mil) skrueterminaler for tilkobling av ledningene fra batteriet og flytebryteren.
  • C1: 1000uF 10V kondensator for å øke stabiliteten til ESP mens radioen er på. Vær oppmerksom på at hvis ESP er i dyp søvn, er energien som er lagret i kondensatoren nok til å drive den i 3-4 minutter. I den perioden kan driften av flytebryteren ikke starte ESP på nytt fordi kondensatoren holder den på mens den er i dyp søvn. Dette er bare interessant under testing.
  • U1: LOLIN / Wemos D1 Mini Pro ESP8266 mikrokontroller. Dette er pro -versjonen med ekstern antennekontakt, som kan være nyttig når den plasseres i kjelleren. Vær oppmerksom på at du bør lodde igjen 0 ohm SMD "motstanden" for å velge den eksterne antennen i stedet for standard innebygd keramisk antenne. Jeg anbefaler å kjøpe LOLIN -mikrokontrollere fra den offisielle LOLIN AliExpress -butikken fordi det er mange falske eller gamle versjoner av Wemos / LOLIN -plater der ute.
  • Perfboard: Et 50 mm*50 mm proto -brett vil være nok til å passe alle delene. Kretsen er for enkel til å lage en PCB.:)

Vær oppmerksom på at batteriet er koblet til 3,3V -inngangen. Selv om D1 Mini har en innebygd LDO for USB / LiPo -drift, trenger vi ikke det når den drives av 3V med 2xAAA alkaliske batterier. Med denne forbindelsen klarte min D1 Mini å fullføre oppgaven med bare 1,8V forsyningsspenning også.

Trinn 2: Koden

Programmet kan være hyggeligere eller enklere, men delene er godt bevist i mine andre prosjekter.

Skissen bruker følgende biblioteker:

ESP8266WiFi.h: Standard for ESP8266 -kort.

Gsender.h: Gmail avsenderbibliotek fra Borya, kan lastes ned herfra.

Programflyten er ganske enkel.

  • ESP starter.
  • Leser RTC -minne for å sjekke om det er en første start eller ikke
  • Kobles til WiFi ved hjelp av cleverwifi () -funksjonen. Dette kobles til WiFi ved hjelp av ruteren MAC -adresse (BSSID) og kanalnummer for raskere tilkobling, prøver på nytt uten de etter 100 mislykkede forsøk og går i dvale etter 600 forsøk. Denne funksjonen er avledet fra OppoverBakkes WiFi -strømforbrukssparerskisse, men uten å lagre tilkoblingsdataene til RTC -delen i denne applikasjonen.
  • Kontrollerer batterispenningen med ESP innebygde ADC_MODE (ADC_VCC) / ESP.getVcc () -funksjoner. Dette krever ikke ekstern spenningsdeler eller ledninger til A0. Perfekt for spenninger under 3,3V, som er vårt tilfelle.
  • Sender en alrt e-post med Gsender.h. Jeg la til variabler og tilpasset tekst til emne- og meldingsstrengene for å rapportere batterispenning, tid som har gått siden første oppdagelse og råd om batteribytte. Ikke glem å endre mottakerens e-postadresse.

    • Sover

      • Hvis det lykkes, sover det "for alltid" med ESP.deepSleep (0); Fysisk vil den være i hvilemodus til vannstanden er høy. Dette er teknisk sett noen få timer eller maksimalt noen få dager, noe som ikke tapper batteriet med de få uA -søvnstrømmene. Når vannet er borte, åpner flytebryteren og ESP slås helt av, og det nåværende forbruket er 0.
      • Hvis det ikke lykkes, sovner det i 20 minutter, og prøver deretter igjen. Det er mulig å få strømbrudd i tilfelle tordenvær om sommeren. Den teller omstartene og lagrer den i RTC -minnet. Denne informasjonen brukes til å rapportere tiden som har gått siden det første alarmforsøket. (Vær oppmerksom på at når du tester den med USB -strøm og seriell skjerm, kan RTC også beholde syklusverdien mellom nedlastinger.)

Trinn 3: Montering og installasjon

Montering og installasjon
Montering og installasjon
Montering og installasjon
Montering og installasjon
Montering og installasjon
Montering og installasjon

Etter å ha testet koden på et brødbrett loddet jeg den til et lite stykke perfboard.

Jeg brukte 2 stykker 5,08 mm pitch 2 -polet skrueterminaler sydd sammen, en kvinnelig topptekst for ESP, en kondensator og noen hoppere.

Vær oppmerksom på at SMD-motstanden med "0" -nummeret ved siden av den keramiske antennen bør loddes på nytt på de tomme putene ved siden av den for å velge den eksterne antennen.

Så satte jeg det hele i en liten IP55 elektrisk koblingsboks. Ledningene fra flottørbryteren er tilkoblet gjennom en kabelgjennomføring.

Boksen er plassert i en sikker høyde, der vannet (forhåpentligvis) aldri kan nå den, så jeg brukte et par relativt tykke 1 mm^2 (17AWG) kobbertråd for å koble flottørbryteren. Med dette oppsettet kan ESP starte og sende meldingen selv med 1,8V inngangsspenning.

Etter installasjonen er denne stille vaktmesteren på vakt, men jeg håper den ikke trenger å sende alarm snart …

Anbefalt: