Cuprins:

Alarma de inundație la subsol cu putere foarte redusă cu ESP8266: 3 pași
Alarma de inundație la subsol cu putere foarte redusă cu ESP8266: 3 pași

Video: Alarma de inundație la subsol cu putere foarte redusă cu ESP8266: 3 pași

Video: Alarma de inundație la subsol cu putere foarte redusă cu ESP8266: 3 pași
Video: Top 5 cele mai mari valuri din istorie, MEGATSUNAMI 2024, Iulie
Anonim
Alarma de inundare la subsol cu putere foarte redusă cu ESP8266
Alarma de inundare la subsol cu putere foarte redusă cu ESP8266
Alarma de inundare la subsol cu putere foarte redusă cu ESP8266
Alarma de inundare la subsol cu putere foarte redusă cu ESP8266

Bună, bun venit la primul meu instructable.

Subsolul casei mele este inundat în fiecare câțiva ani din diverse motive, cum ar fi furtuni puternice de vară, ape subterane înalte sau chiar o țeavă care izbucnește. Deși nu este un loc frumos, dar cazanul meu de încălzire centrală este situat acolo jos, iar apa îi poate afecta componentele electronice, așa că trebuie să pompez apa cât mai curând posibil. Este dificil și incomod să verific situația după o furtună puternică de vară, așa că am decis să fac o alarmă bazată pe ESP8266 care îmi trimite un e-mail în cazul unei inundații. (Când inundațiile sunt cauzate de apele subterane ridicate, nivelul apei este de obicei mai mic de 10 centimetri, ceea ce nu dăunează încălzitorului și nu se recomandă pomparea pentru că va reveni oricum și cu cât pompați mai mult, cu atât vor apărea mai multe ape subterane data viitoare. Dar este bine să știm despre situație.)

În această aplicație, dispozitivul ar putea fi în "somn" de ani de zile și, dacă totul funcționează conform planificării, funcționează doar câteva secunde. Folosirea somnului profund nu este practic, deoarece atrage prea mult curent dacă dorim să dormim perioade foarte lungi, iar ESP8266 poate dormi doar aproximativ 71 minute maximum.

Am decis să folosesc un comutator plutitor pentru a porni ESP-ul. Cu această soluție, ESP nu este alimentat atunci când comutatorul este deschis, astfel încât consumul de energie este doar auto-descărcarea bateriilor, ceea ce menține sistemul gata să alarmeze ani de zile.

Când nivelul apei ajunge la comutatorul plutitor, ESP pornește normal, se conectează la rețeaua mea WiFi, îmi trimite un e-mail și merge la culcare pentru totdeauna cu ESP. Dacă nu se poate conecta la WiFi sau nu poate trimite e-mail-ul, se culcă timp de 20 de minute și încearcă din nou până la succes.

Această idee este similară cu soluția descrisă de Andreas Spiess în acest videoclip. Dar, din cauza naturii inundațiilor și a comutatorului plutitor, nu este nevoie să adăugăm un MOSFET pentru a menține ESP pornit până nu își termină sarcina, deoarece comutatorul plutitor va fi închis dacă nivelul apei este peste nivelul declanșatorului.

Pasul 1: Schema:

Schema
Schema

Părți

  • D1: BAT46 Schottky-diode pentru trezirea somnului profund. Am experiențe mai bune cu diodele Schottky decât rezistențele dintre D0 și RST.
  • Comutator flotant: comutator flotant simplu de 1,2 dolari cu tub de stuf și magnet de la eBay. Inelul cu magnetul poate fi inversat pentru a comuta între comutarea nivelului de lichid ridicat și scăzut. Link eBay
  • Suport baterie: pentru 2x baterii AAA 1,5V
  • P1: 2x 2P 5,08 mm (200mil) terminale cu șurub pentru conectarea firelor de la baterie și de la întrerupătorul plutitor.
  • C1: condensator 1000uF 10V pentru a crește stabilitatea ESP-ului în timp ce radioul este pornit. Vă rugăm să rețineți, dacă ESP-ul este în somn profund, energia stocată în condensator este suficientă pentru a-l alimenta timp de 3-4 minute. În acea perioadă, funcționarea comutatorului plutitor nu poate reporni ESP-ul, deoarece condensatorul îl menține pornit în timpul somnului profund. Acest lucru este interesant doar în timpul testării.
  • U1: microcontroler LOLIN / Wemos D1 Mini Pro ESP8266. Aceasta este versiunea pro cu conector de antenă externă, care ar putea fi utilă atunci când este plasată în subsol. Vă rugăm să rețineți, ar trebui să re-lipiți "rezistorul" SMD de 0 ohm pentru a selecta antena externă în locul antenei ceramice încorporate implicite. Vă recomandăm să achiziționați microcontrolere LOLIN din magazinul oficial LOLIN AliExpress, deoarece există o mulțime de plăci Wemos / LOLIN vechi sau false.
  • Perfboard: O placă proto de 50 mm * 50 mm va fi suficientă pentru a se potrivi tuturor pieselor. Circuitul este prea simplu pentru a crea un PCB.:)

Vă rugăm să rețineți, bateria este conectată la intrarea de 3,3V. Deși D1 Mini are un LDO încorporat pentru funcționarea USB / LiPo, nu avem nevoie de asta atunci când este alimentat de la 3V de baterii alcaline 2xAAA. Cu această conexiune, D1 Mini-ul meu a reușit să-și îndeplinească sarcina doar cu tensiune de alimentare de 1,8V.

Pasul 2: Codul

Programul ar putea fi mai frumos sau mai simplu, dar părțile sale sunt bine dovedite în celelalte proiecte ale mele.

Schița folosește următoarele biblioteci:

ESP8266WiFi.h: Implicit pentru plăcile ESP8266.

Gsender.h: biblioteca expeditorului Gmail din Borya, poate fi descărcată de aici.

Fluxul programului este destul de simplu.

  • ESP începe.
  • Citește memoria RTC pentru a verifica dacă este sau nu un prim început
  • Se conectează la WiFi utilizând funcția cleverwifi (). Aceasta se conectează la WiFi utilizând adresa MAC a routerului (BSSID) și numărul canalului pentru o conexiune mai rapidă, reîncearcă fără cele după 100 de încercări nereușite și intră în repaus după 600 de încercări. Această funcție a fost derivată din schița de economisire a consumului de energie WiFi OppoverBakke, dar fără salvarea datelor de conectare la partea RTC din această aplicație.
  • Verifică tensiunea bateriei cu ESP încorporat în caracteristicile ADC_MODE (ADC_VCC) / ESP.getVcc (). Acest lucru nu necesită divizor de tensiune extern sau orice cablare la A0. Perfect pentru tensiuni sub 3,3 V, acesta este cazul nostru.
  • Trimite un e-mail special cu Gsender.h. Am adăugat variabile și text personalizat subiectului și șirurilor de mesaje pentru a raporta tensiunea bateriei, timpul scurs de la prima detectare și sfaturile privind înlocuirea bateriei. Vă rugăm să nu uitați să schimbați adresa de e-mail a destinatarului.

    • Dorm

      • Dacă are succes, se culcă „pentru totdeauna” cu ESP.deepSleep (0); Fizic va fi în modul de repaus până când nivelul apei este ridicat. Aceasta este din punct de vedere tehnic câteva ore sau maximum câteva zile, ceea ce nu va scurge bateria cu puțini curenți de somn uA. Când apa a dispărut, comutatorul plutitor se va deschide și ESP-ul va fi oprit complet, iar consumul curent va fi 0.
      • Dacă nu reușește, se culcă timp de 20 de minute, apoi încearcă din nou. Este posibil să aveți o întrerupere a curentului alternativ în caz de furtună de vară. Numără repornirile și le stochează în memoria RTC. Aceste informații sunt utilizate pentru a raporta timpul scurs de la prima încercare de alarmă. (Vă rugăm să rețineți, când îl testați cu alimentare USB și monitor serial, RTC poate păstra și valoarea numărului de cicluri între descărcări.)

Pasul 3: Asamblare și instalare

Asamblare și instalare
Asamblare și instalare
Asamblare și instalare
Asamblare și instalare
Asamblare și instalare
Asamblare și instalare

După ce am testat codul pe un panou, l-am lipit pe o bucată mică de perfboard.

Am folosit 2 bucăți de borne cu șurub de 5,08 mm cu 2 poli, cusute împreună, un antet feminin pentru ESP, un condensator și câțiva jumperi.

Vă rugăm să rețineți, rezistența SMD cu numărul „0” de lângă antena ceramică ar trebui să fie re-lipită pe tampoanele goale de lângă aceasta pentru a selecta antena externă.

Apoi am pus totul într-o cutie mică de conexiuni electrice IP55. Firele de la comutatorul plutitor sunt conectate printr-o presetupă.

Cutia este plasată într-o înălțime sigură, unde apa nu poate (sperăm) să o atingă niciodată, așa că am folosit o pereche de sârmă de cupru de 1 mm ^ 2 (17AWG) relativ groasă pentru a conecta comutatorul plutitor. Cu această configurare, ESP ar putea porni și trimite mesajul chiar și cu tensiune de intrare de 1,8 V.

După instalare, această santinelă silențioasă este în gardă, dar sper că nu va trebui să trimită o alarmă în curând …

Recomandat: