Съдържание:

Аларма за наводняване на мазе с ултра ниска мощност с ESP8266: 3 стъпки
Аларма за наводняване на мазе с ултра ниска мощност с ESP8266: 3 стъпки

Видео: Аларма за наводняване на мазе с ултра ниска мощност с ESP8266: 3 стъпки

Видео: Аларма за наводняване на мазе с ултра ниска мощност с ESP8266: 3 стъпки
Видео: Новые шелковые пути: невероятное наступление китайской торговли 2024, Юли
Anonim
Аларма за наводняване на мазе с ултра ниска мощност с ESP8266
Аларма за наводняване на мазе с ултра ниска мощност с ESP8266
Аларма за наводняване на мазе с ултра ниска мощност с ESP8266
Аларма за наводняване на мазе с ултра ниска мощност с ESP8266

Здравейте, добре дошли в първата ми инструкция.

Мазето на моята къща се наводнява на всеки няколко години по различни причини, като тежки летни гръмотевични бури, високи подпочвени води или дори спукване на тръба. Въпреки че не е хубаво място, но моят котел за централно отопление се намира там долу и водата може да навреди на електронните му части, затова трябва да изпомпвам водата възможно най-скоро. Трудно и неудобно е да се провери ситуацията след тежка лятна гръмотевична буря, затова реших да направя аларма, базирана на ESP8266, която ми изпраща имейл в случай на наводнение. (Когато наводнението е причинено от високи подпочвени води, нивото на водата обикновено е по -малко от 10 сантиметра, което не е вредно за нагревателя и не се препоръчва да се изпомпва, защото така или иначе ще се върне и колкото повече изпомпвате, толкова повече подпочвени води ще идват следващия път. Но е добре да знаете за ситуацията.)

В това приложение устройството може да е в "сън" с години и ако всичко работи по план, работи само за няколко секунди. Използването на дълбок сън не е практично, тъй като привлича твърде много ток, ако искаме да спим за много дълги периоди, а ESP8266 може да спи само за около 71 минути максимум.

Реших да използвам поплавъчен превключвател, за да включа захранването на ESP. С това решение ESP не се захранва, когато превключвателят е отворен, така че консумацията на енергия е само саморазреждането на батериите, което поддържа системата готова за аларма в продължение на години.

Когато нивото на водата достигне поплавъка, ESP се стартира нормално, свързва се с WiFi мрежата ми, изпраща ми имейл и заспива завинаги с ESP. Deepsleep (0), докато захранването се изключи и включи отново. Ако не може да се свърже с WiFi или не може да изпрати имейла, той заспива за 20 минути и опитва отново до успех.

Тази идея е подобна на решението, описано от Andreas Spiess в това видео. Но поради естеството на наводнението и поплавъчния превключвател, не е необходимо да добавяме MOSFET, за да поддържаме ESP включен, докато не изпълни задачата си, защото поплавъчният превключвател ще бъде затворен, ако нивото на водата е над нивото на спусъка.

Стъпка 1: Схемата:

Схемата
Схемата

Части

  • D1: BAT46-Шотки-диод за събуждане в дълбок сън. Имам по -добър опит с диодите на Шотки, отколкото резисторите между D0 и RST.
  • Поплавъчен превключвател: Прост тръстиков тръбопровод от 1,2 долара и поплавъчен превключвател на базата на магнит от eBay. Пръстенът с магнита може да се обърне, за да се премине между превключване на високо и ниско ниво на течността. Линк към eBay
  • Държач на батерията: за 2x AAA 1.5V батерии
  • P1: 2x 2P 5.08mm (200mil) винтови клеми за свързване на проводниците от батерията и поплавъчния превключвател.
  • C1: 1000uF 10V кондензатор за увеличаване на стабилността на ESP, докато радиото е включено. Моля, обърнете внимание, ако ESP е в дълбок сън, енергията, съхранявана в кондензатора, е достатъчна, за да го захранва за 3-4 минути. През този период работата на поплавъчния превключвател не може да рестартира ESP, защото кондензаторът го държи включен, докато е в дълбок сън. Това е интересно само по време на тестването.
  • U1: Микроконтролер LOLIN / Wemos D1 Mini Pro ESP8266. Това е професионалната версия с конектор за външна антена, която може да бъде полезна, когато е поставена в мазето. Моля, обърнете внимание, че трябва да запоите отново 0 омовия SMD "резистор", за да изберете външната антена вместо вградената по подразбиране керамична антена. Препоръчвам да закупите микроконтролери LOLIN от официалния магазин на LOLIN AliExpress, защото там има много фалшиви или стари версии Wemos / LOLIN платки.
  • Perfboard: 50 мм*50 мм прото дъска ще бъде достатъчна, за да побере всички части. Веригата е твърде проста, за да се направи печатна платка.:)

Моля, обърнете внимание, че батерията е свързана към входа 3.3V. Въпреки че D1 Mini има вграден LDO за USB / LiPo работа, нямаме нужда от това, когато се захранва от 3V на 2xAAA алкални батерии. С тази връзка моят D1 Mini успя да изпълни задачата си само с захранващо напрежение 1.8V.

Стъпка 2: Кодът

Програмата може да бъде по-добра или по-проста, но нейните части са добре доказани в другите ми проекти.

Скицата използва следните библиотеки:

ESP8266WiFi.h: По подразбиране за платки ESP8266.

Gsender.h: Библиотека за изпращачи на Gmail от Боря, може да се изтегли от тук.

Потокът на програмата е доста прост.

  • ESP стартира.
  • Чете RTC паметта, за да провери дали е първо стартиране или не
  • Свързва се с WiFi чрез функцията cleverwifi (). Това се свързва с WiFi, използвайки MAC адреса на маршрутизатора (BSSID) и номера на канала за по -бърза връзка, опитва се отново без тези след 100 неуспешен опит и преминава в режим на заспиване след 600 опита. Тази функция е получена от скицата за спестяване на консумация на енергия на OppoverBakke WiFi, но без запазването на данните за връзката към частта RTC в това приложение.
  • Проверява напрежението на батерията с ESP вградени функции ADC_MODE (ADC_VCC) / ESP.getVcc (). Това не изисква външен делител на напрежение или окабеляване към A0. Перфектен за напрежения под 3.3V, което е нашият случай.
  • Изпраща алтернативен имейл с Gsender.h. Добавих променливи и персонализиран текст към темата и низовете на съобщенията, за да докладвам за напрежението на батерията, изминалото време от първото откриване и съвети относно смяната на батерията. Моля, не забравяйте да промените имейл адреса на получателя.

    • Спи

      • Ако успее, той спи "завинаги" с ESP.deepSleep (0); Физически той ще бъде в режим на заспиване, докато нивото на водата стане високо. Технически това са няколко часа или максимум няколко дни, което няма да изтощи батерията с малкото ток на сън uA. Когато водата изтече, поплавъчният превключвател ще се отвори и ESP ще се изключи напълно, а текущата консумация ще бъде 0.
      • Ако не успее, той заспива за 20 минути, след което опитва отново. Възможно е прекъсване на захранването с променлив ток в случай на лятна гръмотевична буря. Той отчита рестартирането и го съхранява в RTC паметта. Тази информация се използва за отчитане на времето, изминало от първия опит за аларма. (Моля, обърнете внимание, когато тествате с USB захранване и сериен монитор, RTC може да запази стойността на броя на циклите между изтеглянията.)

Стъпка 3: Монтаж и монтаж

Монтаж и монтаж
Монтаж и монтаж
Монтаж и монтаж
Монтаж и монтаж
Монтаж и монтаж
Монтаж и монтаж

След като тествах кода на макет, го запоявах към малко парче перфорирана дъска.

Използвах 2 броя от 5,08 мм стъпка 2 полюсни винтови клеми, зашити заедно, женска глава за ESP, кондензатор и няколко джъмпера.

Моля, обърнете внимание, че SMD резисторът с номер "0" до керамичната антена трябва да бъде запоен отново към празните подложки до него, за да изберете външната антена.

След това поставих всичко в малка електрическа разпределителна кутия IP55. Проводниците от поплавъчния превключвател са свързани чрез кабелна уплътнение.

Кутията е поставена на безопасна височина, където водата може (надявам се) никога да не я достигне, затова използвах чифт сравнително дебел, 1 мм^2 (17AWG) меден проводник за свързване на поплавъчния превключвател. С тази настройка ESP може да стартира и изпраща съобщението дори при входно напрежение 1.8V.

След инсталацията този безшумен страж е нащрек, но се надявам скоро да не изпраща аларма …

Препоръчано: