Turinys:

Itin mažos galios rūsio potvynio aliarmas su ESP8266: 3 žingsniai
Itin mažos galios rūsio potvynio aliarmas su ESP8266: 3 žingsniai

Video: Itin mažos galios rūsio potvynio aliarmas su ESP8266: 3 žingsniai

Video: Itin mažos galios rūsio potvynio aliarmas su ESP8266: 3 žingsniai
Video: MINECRAFT KURIAME GALIU SUSTABDYTI LAIKĄ 2! 2024, Lapkritis
Anonim
Itin mažos galios rūsio potvynio aliarmas su ESP8266
Itin mažos galios rūsio potvynio aliarmas su ESP8266
Itin mažos galios rūsio potvynio aliarmas su ESP8266
Itin mažos galios rūsio potvynio aliarmas su ESP8266

Sveiki, sveiki atvykę į mano pirmąjį pamokymą.

Mano namo rūsys kas keletą metų užtvindomas dėl įvairių priežasčių, pvz., Smarkios vasaros perkūnijos, aukšto požeminio vandens ar net sprogus vamzdžiui. Nors tai nėra graži vieta, tačiau mano centrinio šildymo katilas yra apačioje ir vanduo gali pakenkti jo elektroninėms dalims, todėl turiu kuo greičiau išpumpuoti vandenį. Sunku ir nemalonu patikrinti situaciją po stiprios vasaros perkūnijos, todėl nusprendžiau padaryti ESP8266 signalą, kuris man atsiunčia potvynio el. Laišką. (Kai potvynį sukelia didelis požeminis vanduo, vandens lygis paprastai yra mažesnis nei 10 centimetrų, o tai nekenkia šildytuvui ir nerekomenduojama išpumpuoti, nes jis vis tiek grįš ir kuo daugiau pumpuosite, tuo daugiau gruntinio vandens pateks kitą kartą. Bet gerai žinoti apie situaciją.)

Šioje programoje prietaisas gali „miegoti“daugelį metų, o jei viskas veikia taip, kaip planuota, jis veikia tik kelias sekundes. Gilaus miego naudojimas nėra praktiškas, nes jis pritraukia per daug srovės, jei norime miegoti labai ilgai, o ESP8266 gali miegoti tik apie 71 minutę.

Aš nusprendžiau naudoti plūdinį jungiklį, kad įjungčiau ESP maitinimą. Naudojant šį sprendimą, ESP nėra maitinamas, kai jungiklis yra atidarytas, todėl energijos suvartojimas yra tik savaiminis baterijų išsikrovimas, todėl sistema yra pasirengusi signalizuoti daugelį metų.

Kai vandens lygis pasiekia plūdinį jungiklį, ESP įsijungia įprastai, prisijungia prie mano „WiFi“tinklo, atsiunčia man el. Laišką ir eina miegoti amžinai su ESP. Miego režimas (0), kol maitinimas išjungiamas ir vėl įjungiamas. Jei jis negali prisijungti prie „WiFi“arba negali išsiųsti el. Laiško, jis užmiega 20 minučių ir bando dar kartą, kol pasiseks.

Ši idėja yra panaši į Andreas Spiess aprašytą sprendimą šiame vaizdo įraše. Tačiau dėl potvynio pobūdžio ir plūdinio jungiklio mums nereikia pridėti MOSFET, kad ESP būtų įjungtas, kol jis neužbaigs savo užduoties, nes plūdinis jungiklis bus uždarytas, jei vandens lygis viršys trigerio lygį.

1 žingsnis: schema:

Schema
Schema

Dalys

  • D1: BAT46 Schottky diodas, skirtas pažadinti gilų miegą. Turiu geresnės patirties su Schottky diodais nei rezistoriai tarp D0 ir RST.
  • Plūdinis jungiklis: paprastas 1,2 USD vertės nendrinis vamzdis ir magnetinis plūdinis jungiklis iš „eBay“. Žiedas su magnetu gali būti apverstas, kad būtų galima pakeisti aukšto ir žemo skysčio lygio perjungimą. „eBay“nuoroda
  • Baterijų laikiklis: 2x AAA 1.5V baterijoms
  • P1: 2x 2P 5,08 mm (200 ml) varžtai, skirti prijungti laidus iš akumuliatoriaus ir plūdinio jungiklio.
  • C1: 1000uF 10V kondensatorius, siekiant padidinti ESP stabilumą, kai radijas įjungtas. Atminkite, kad jei ESP yra gilus miego režimas, kondensatoriuje sukauptos energijos pakanka 3-4 minutes. Tuo laikotarpiu plūdinis jungiklis negali iš naujo paleisti ESP, nes kondensatorius jį įjungia giliai miegant. Tai įdomu tik bandymų metu.
  • U1: LOLIN / Wemos D1 Mini Pro ESP8266 mikrovaldiklis. Tai profesionali versija su išorine antenos jungtimi, kuri gali būti naudinga, kai ji įdedama į rūsį. Atminkite, kad turėtumėte iš naujo lituoti 0 omų SMD „rezistorių“, kad pasirinktumėte išorinę anteną, o ne numatytąją įmontuotą keraminę anteną. Aš rekomenduoju įsigyti LOLIN mikrovaldiklius iš oficialios LOLIN AliExpress parduotuvės, nes ten yra daug padirbtų ar senos versijos Wemos / LOLIN plokščių.
  • Perfboard: 50 mm*50 mm protinės plokštės pakaks, kad tilptų visos dalys. Grandinė yra per paprasta, kad būtų galima pagaminti PCB.:)

Atminkite, kad akumuliatorius prijungtas prie 3,3 V įvesties. Nors „D1 Mini“turi įmontuotą LDO, skirtą USB / LiPo veikimui, mums to nereikia, kai jis maitinamas iš 3 V 2xAAA šarminių baterijų. Naudodamas šį ryšį, mano D1 Mini sugebėjo atlikti savo užduotį ir tik su 1,8 V maitinimo įtampa.

2 žingsnis: kodas

Programa galėtų būti gražesnė ar paprastesnė, tačiau jos dalys yra gerai įrodytos kituose mano projektuose.

Eskizas naudoja šias bibliotekas:

ESP8266WiFi.h: numatytasis ESP8266 plokštėms.

Gsender.h: „Gmail“siuntėjų biblioteką iš „Borya“galite atsisiųsti iš čia.

Programos eiga yra gana paprasta.

  • ESP prasideda.
  • Skaito RTC atmintį, kad patikrintų, ar tai pirmasis paleidimas, ar ne
  • Prisijungia prie „WiFi“naudojant „cleverwifi“() funkciją. Tai prisijungia prie „WiFi“naudojant maršrutizatoriaus MAC adresą (BSSID) ir kanalo numerį, kad būtų galima greičiau prisijungti, po 100 nesėkmingų bandymų bando dar kartą be tų ir užmiega po 600 bandymų. Ši funkcija buvo gauta iš „OppoverBakke“„WiFi“energijos suvartojimo taupymo eskizo, tačiau neišsaugojus ryšio duomenų su šios programos RTC dalimi.
  • Tikrina akumuliatoriaus įtampą naudojant ESP įmontuotas ADC_MODE (ADC_VCC) / ESP.getVcc () funkcijas. Tam nereikia išorinio įtampos skirstytuvo ar jokių laidų prie A0. Puikiai tinka esant žemesnei nei 3,3 V įtampai, tai yra mūsų atvejis.
  • Siunčia el. Laišką su Gsender.h. Prie temos ir pranešimų eilučių pridėjau kintamųjų ir pasirinktinio teksto, kad praneščiau apie akumuliatoriaus įtampą, laiką, praėjusį nuo pirmojo aptikimo, ir patarimus dėl baterijų keitimo. Nepamirškite pakeisti gavėjo el. Pašto adreso.

    • Miega
      • Jei pavyks, jis miega „amžinai“su ESP.deepSleep (0); Fiziškai jis veiks miego režimu, kol vandens lygis bus aukštas. Techniškai tai yra kelios valandos arba daugiausia kelios dienos, todėl akumuliatorius neišsikrauna naudojant kelias uA miego srovę. Kai vandens nebeliks, plūdinis jungiklis atsidarys ir ESP bus visiškai išjungtas, o srovės sunaudojimas bus 0.
      • Jei nepavyksta, jis užmiega 20 minučių, tada bando dar kartą. Vasaros perkūnijos atveju gali būti nutrauktas kintamosios srovės maitinimas. Jis skaičiuoja paleidimus iš naujo ir išsaugo juos RTC atmintyje. Ši informacija naudojama pranešti apie laiką, praėjusį nuo pirmojo pavojaus signalo. (Atminkite, kad bandant jį naudojant USB maitinimą ir nuoseklųjį monitorių, RTC taip pat gali išlaikyti ciklų skaičiaus vertę tarp atsisiuntimų.)

3 žingsnis: surinkimas ir montavimas

Surinkimas ir montavimas
Surinkimas ir montavimas
Surinkimas ir montavimas
Surinkimas ir montavimas
Surinkimas ir montavimas
Surinkimas ir montavimas

Išbandęs kodą ant duonos lentos, lituodavau jį prie nedidelio perforatoriaus gabalo.

Naudojau 2 sujungtus 5,08 mm žingsnio 2 polių varžtų gnybtus, ESP moterišką antraštę, kondensatorių ir keletą trumpiklių.

Atkreipkite dėmesį, kad norint pasirinkti išorinę anteną, SMD rezistorius su „0“numeriu šalia keraminės antenos turi būti perlituotas prie tuščių bloknotų.

Tada aš viską sudėjau į mažą IP55 elektros jungčių dėžutę. Laidai iš plūdinio jungiklio yra prijungti per kabelio sandariklį.

Dėžutė dedama į saugų aukštį, kur vanduo (tikiuosi) niekada jo nepasieks, todėl plūdiniam jungikliui prijungti naudojau porą gana storos, 1 mm^2 (17AWG) varinės vielos. Atlikus šią sąranką, ESP galėtų paleisti ir siųsti pranešimą net esant 1,8 V įėjimo įtampai.

Po įdiegimo šis tylus sargybinis yra budintis, bet tikiuosi, kad netrukus jam nereikės siųsti aliarmo …

Rekomenduojamas: