Оглавление:

Сигнализация затопления подвала сверхнизкой мощности с ESP8266: 3 шага
Сигнализация затопления подвала сверхнизкой мощности с ESP8266: 3 шага

Видео: Сигнализация затопления подвала сверхнизкой мощности с ESP8266: 3 шага

Видео: Сигнализация затопления подвала сверхнизкой мощности с ESP8266: 3 шага
Видео: Собираем сигнализатор затопления на основе датчика воды 2024, Июль
Anonim
Сигнализация затопления подвала сверхнизкой мощности с ESP8266
Сигнализация затопления подвала сверхнизкой мощности с ESP8266
Сигнализация затопления подвала сверхнизкой мощности с ESP8266
Сигнализация затопления подвала сверхнизкой мощности с ESP8266

Привет, добро пожаловать в мой первый поучительный.

Подвал моего дома раз в несколько лет затопляется по разным причинам, например, сильным летним грозам, высоким уровням грунтовых вод или даже разрыву трубы. Хотя это не очень хорошее место, но мой котел центрального отопления находится там, и вода может повредить его электронные части, поэтому мне нужно как можно скорее откачать воду. Сложно и неудобно проверять ситуацию после сильной летней грозы, поэтому я решил сделать сигнализацию на базе ESP8266, которая отправляет мне электронное письмо в случае наводнения. (Когда наводнение вызвано высоким уровнем грунтовых вод, уровень воды обычно составляет менее 10 сантиметров, что не вредит нагревателю, и откачивать его не рекомендуется, потому что он все равно вернется, и чем больше вы откачиваете, тем больше будет поступать грунтовых вод. в следующий раз. Но хорошо бы знать о ситуации.)

В этом приложении устройство может находиться в «спящем режиме» в течение многих лет, и, если все работает по плану, работает всего несколько секунд. Использование глубокого сна нецелесообразно, поскольку он потребляет слишком много энергии, если мы хотим спать в течение очень долгого времени, а ESP8266 может спать не более 71 минуты.

Я решил использовать поплавковый выключатель, чтобы включить ESP. В этом решении ESP не запитывается, когда переключатель разомкнут, поэтому потребляемая мощность - это только саморазряд батарей, что позволяет системе на долгие годы быть готовой к срабатыванию сигнализации.

Когда уровень воды достигает поплавкового переключателя, ESP запускается нормально, подключается к моей сети Wi-Fi, отправляет мне электронное письмо и навсегда засыпает с ESP. Deepleep (0), пока питание не будет выключено и снова включено. Если он не может подключиться к Wi-Fi или не может отправить электронное письмо, он переходит в спящий режим на 20 минут и пытается снова до успеха.

Эта идея похожа на решение, описанное Андреасом Списсом в этом видео. Но из-за характера затопления и поплавкового выключателя нам не нужно добавлять полевой МОП-транзистор, чтобы держать ESP включенным до тех пор, пока он не завершит свою задачу, потому что поплавковый выключатель будет замкнут, если уровень воды выше уровня срабатывания..

Шаг 1: Схема:

Схема
Схема

Запчасти

  • D1: диод Шоттки BAT46 для пробуждения во время сна. У меня лучший опыт работы с диодами Шоттки, чем с резисторами между D0 и RST.
  • Поплавковый выключатель: простая язычковая трубка за 1,2 доллара и поплавковый выключатель на основе магнита от eBay. Кольцо с магнитом можно перевернуть для переключения между высоким и низким уровнем жидкости. Ссылка на eBay
  • Держатель батареи: для 2 батареек AAA 1,5 В
  • P1: 2 винтовых зажима 2P 5,08 мм (200 мил) для подключения проводов от аккумулятора и поплавкового выключателя.
  • C1: конденсатор 1000 мкФ 10 В для повышения стабильности ESP при включенном радио. Обратите внимание, если ESP находится в глубоком сне, энергии, запасенной в конденсаторе, достаточно для его питания в течение 3-4 минут. В этот период срабатывание поплавкового переключателя не может перезапустить ESP, потому что конденсатор поддерживает его включенным во время глубокого сна. Это интересно только во время тестирования.
  • U1: микроконтроллер LOLIN / Wemos D1 Mini Pro ESP8266. Это профессиональная версия с разъемом для внешней антенны, который может пригодиться при установке в подвале. Обратите внимание, что вам следует повторно припаять «резистор» SMD 0 Ом, чтобы выбрать внешнюю антенну вместо встроенной керамической антенны по умолчанию. Я рекомендую покупать микроконтроллеры LOLIN в официальном магазине LOLIN AliExpress, потому что там много поддельных или старых версий плат Wemos / LOLIN.
  • Перфорированная плита: прототипной платы размером 50 мм * 50 мм будет достаточно, чтобы вместить все детали. Схема слишком проста для изготовления печатной платы.:)

Обратите внимание, аккумулятор подключается ко входу 3,3 В. Хотя D1 Mini имеет встроенный LDO для работы через USB / LiPo, он нам не нужен, когда он питается от 3 В щелочных батарей 2xAAA. Благодаря этому подключению мой D1 Mini смог выполнить свою задачу с напряжением питания всего 1,8 В.

Шаг 2: Код

Программа могла быть лучше или проще, но ее части хорошо зарекомендовали себя в других моих проектах.

В скетче используются следующие библиотеки:

ESP8266WiFi.h: по умолчанию для плат ESP8266.

Gsender.h: Библиотеку отправителей Gmail от Borya, можно скачать отсюда.

Программа довольно проста.

  • ESP запускается.
  • Считывает память RTC, чтобы проверить, первый запуск или нет
  • Подключается к Wi-Fi с помощью функции cleverwifi (). Он подключается к Wi-Fi, используя MAC-адрес маршрутизатора (BSSID) и номер канала для более быстрого подключения, повторяет попытки без них после 100 неудачных попыток и переходит в спящий режим после 600 попыток. Эта функция была получена из эскиза энергопотребления Wi-Fi OppoverBakke, но без сохранения данных подключения в части RTC в этом приложении.
  • Проверяет напряжение батареи с помощью ESP, встроенного в функции ADC_MODE (ADC_VCC) / ESP.getVcc (). Это не требует внешнего делителя напряжения или какой-либо проводки к A0. Идеально подходит для напряжений ниже 3,3 В, как в нашем случае.
  • Отправляет другое электронное письмо с Gsender.h. Я добавил переменные и настраиваемый текст к теме и строкам сообщений, чтобы сообщить о напряжении батареи, времени, прошедшем с момента первого обнаружения, и советах по замене батареи. Не забудьте изменить адрес электронной почты получателя.

    • Спит

      • В случае успеха он «спит вечно» с ESP.deepSleep (0); Физически он будет находиться в спящем режиме до тех пор, пока уровень воды не станет высоким. Технически это несколько часов или максимум несколько дней, которые не разряжают батарею при токе сна в несколько мкА. Когда вода уйдет, поплавковый выключатель разомкнется, и ESP полностью отключится, а потребление тока будет равно 0.
      • В случае неудачи он засыпает на 20 минут, затем пытается снова. Возможно отключение переменного тока в случае летней грозы. Он подсчитывает количество перезапусков и сохраняет их в памяти RTC. Эта информация используется для отчета о времени, прошедшем с момента первой попытки подачи сигнала тревоги. (Обратите внимание, что при тестировании с USB-питанием и последовательным монитором RTC может также сохранять значение счетчика циклов между загрузками.)

Шаг 3: Сборка и установка

Сборка и установка
Сборка и установка
Сборка и установка
Сборка и установка
Сборка и установка
Сборка и установка

После тестирования кода на макетной плате я припаял его к небольшому куску монтажной платы.

Я использовал 2 куска двухполюсных клемм с шагом 5,08 мм, сшитых вместе, гнездовой разъем для ESP, конденсатор и несколько перемычек.

Обратите внимание, что резистор SMD с номером «0» рядом с керамической антенной необходимо повторно припаять к пустым контактным площадкам рядом с ним, чтобы выбрать внешнюю антенну.

Затем я поместил все это в небольшую электрическую распределительную коробку IP55. Провода от поплавкового выключателя подключаются через кабельный ввод.

Коробку помещают на безопасную высоту, где вода (надеюсь) никогда не достигнет ее, поэтому я использовал пару относительно толстых медных проводов 1 мм ^ 2 (17AWG) для подключения поплавкового выключателя. При такой настройке ESP может запускаться и отправлять сообщение даже при входном напряжении 1,8 В.

После установки этот бесшумный дозорный стоит на страже, но я надеюсь, что ему не придется в ближайшее время посылать сигнал тревоги …

Рекомендуемые: