Съдържание:

Сензор за врата и заключване на батерията, соларен, ESP8266, ESP-Now, MQTT: 4 стъпки (със снимки)
Сензор за врата и заключване на батерията, соларен, ESP8266, ESP-Now, MQTT: 4 стъпки (със снимки)

Видео: Сензор за врата и заключване на батерията, соларен, ESP8266, ESP-Now, MQTT: 4 стъпки (със снимки)

Видео: Сензор за врата и заключване на батерията, соларен, ESP8266, ESP-Now, MQTT: 4 стъпки (със снимки)
Видео: Internet of Things (камера) 2024, Юли
Anonim
Сензор за врата и заключване на батерията, соларен, ESP8266, ESP-Now, MQTT
Сензор за врата и заключване на батерията, соларен, ESP8266, ESP-Now, MQTT
Сензор за врата и заключване на батерията, соларен, ESP8266, ESP-Now, MQTT
Сензор за врата и заключване на батерията, соларен, ESP8266, ESP-Now, MQTT
Сензор за врата и заключване на батерията, соларен, ESP8266, ESP-Now, MQTT
Сензор за врата и заключване на батерията, соларен, ESP8266, ESP-Now, MQTT

В тази инструкция ще ви покажа как направих сензор, захранван от батерии, за да наблюдавам вратата и състоянието на заключване на отдалечения си навес за велосипеди. Имам захранване от мрежата, затова го захранвам от батерии. Батерията се зарежда от малък слънчев панел.

Модулът е предназначен за работа с ниска мощност и работи на ESP-07S в дълбок сън, който се събужда и проверява вратата и заключва позицията всяка минута. Въпреки това, когато вратата се отвори, модулът се събужда от проста хардуерна верига, за да изпрати незабавно информацията за „отворена врата“. Модулът комуникира чрез ESP-Now, в който времето за предаване е много кратко и изисква само малко количество енергия.

Моята домашна автоматизация, работеща на Openhab и Mosquitto, обработва съобщенията и ми изпраща тревожно съобщение чрез Telegram, ако алармата е включена.

Консумативи

Всички компоненти се купуват от Aliexpress.

  • Модулът ESP-07S е избран за лесно свързване на външна антена за увеличаване на обхвата на ESP-Now.
  • Платка за зарядно устройство TP4056 със защита на батерията
  • 18650 LiPo батерия
  • Reed превключвател (НЕ за наблюдение на позицията на вратата)
  • Контактен превключвател (позиция на заключване на монитора)
  • Слънчев панел (6V, 0.6W)
  • Транзистори, резистори, диоди, конектори (вижте схемата)

Стъпка 1: Хардуер

Хардуер
Хардуер
Хардуер
Хардуер
Хардуер
Хардуер

Изградената схема е включена като картина. Първо прототипирах схемата на макет. Тогава запоявах всички компоненти на перф дъска.

Използвам модул ESP-07S ESP8266, тъй като има връзка за външна антена. Тъй като моят навес за велосипеди е отвън, WiFi сигналът трябва да мине през бетонна стена. Открих, че външна антена силно увеличава обхвата на ESP-Now. Доста логично, тъй като това е WiFi сигнал.

За сензора на вратата използвах тръстиков ключ с botn NO и NC връзки. Когато вратата се затвори, магнит, прикрепен към отварянето, отваря превключвателя. Модулът проверява състоянието на вратата и заключването на всеки 60 секунди, но когато вратата се отвори, искам да бъда информиран незабавно, затова внедрих верига за нулиране, вижте по -долу.

За сензора за заключване използвах превключвател за контакти с botn NO и NC връзки. Когато ключалката е затворена, заключващият щифт отваря превключвателя. И така, и сензорът на вратата, и сензорът за заключване са нормално отворени (НЕ).

Батерията се зарежда чрез зарядно устройство TP4056 със защита на батерията, прикрепена към малък 6V соларен панел.

Ще обясня някои части от веригата по -долу.

Нулирайте веригата

Веригата за нулиране с 2N7000 Mosfet е свързана към щифта за нулиране на ESP8266. Ако вратата е затворена, контактът е отворен, портата и източникът на транзистора са високи и MOSFET е изключен. Кондензаторът, свързан към портата, има положителен заряд. ESP8266 тръстика GPIO12 като HIGH = затворен.

Когато вратата се отвори, източникът на MOSFET е свързан към земята. Тъй като портата е висока, MOSFET се включва и издърпва щифта за нулиране към земята, което води до нулиране на ESP8266. Кондензаторът се разрежда чрез R7 и след това изключва MOSFET. Вижте екранната снимка на моя осцилоскоп за ниския импулс от 50 ms. След пулса ESP8266 се зарежда. ESP8266 тръстика GPIO12 като LOW = отворен.

Когато вратата се затвори отново, резистор R6 дърпа източника и GPIO12 нагоре.

Мониторинг на батерията

Напрежението на батерията се отчита чрез делител на напрежение между VBat и GND. Не искам обаче постоянна връзка между VBat и GND, защото изтощава батерията. Затова поставих P-канал MOSFET от високата страна на делителя на напрежението и портата на MOSFET се изтегля, така че MOSFET е изключен. Само когато GPIO14 е нисък, MOSFET се включва и ESP8266 може да понижи напрежението с ADC.

Стъпка 2: Софтуер

Модулът ESP8266 е предимно в режим на дълбок сън, за да пести енергия.

На всеки 60 секунди модулът се зарежда с деактивиран WiFi и измерва позицията на ключалката и вратата и проверява дали тези позиции са се променили в сравнение със стойностите, съхранени в RTC паметта. Ако дадена позиция се е променила, модулът спи за минимално време и се събужда с разрешен WiFi за изпращане на новата позиция чрез ESP-Now. И разбира се новите позиции се съхраняват в RTC паметта. Ако нищо не е променено, модулът просто спи отново и се събужда с изключен WiFi.

Вижте другия ми Instructable, в който обяснявам как използвам ESP-Now за предаване на съобщения и трансформирането им в MQTT съобщения.

Ако „OTA-веригата“се затвори ръчно чрез джъмпер, модулът се събужда и се свързва с моята WiFi мрежа, за да изчака актуализация на OTA чрез ESP8266HTTPUpdateServer.

На всеки 30 минути се измерва и публикува напрежението на батерията.

Работи като държавна машина. Състоянията са дефинирани в програмата, публикувана в моя Github.

STATE_CHECK: събудете се с изключено радио (WiFi изключен), просто проверете дали нещо се е променило

STATE_INIT: събуждане с включено радио (WiFi включен) и предаване на състоянието на вратата и заключването

STATE_DOOR: събудете се с включено радио, публикувайте състоянието на вратата следващия път, когато се зареди

STATE_LOCK: събудете се с включено радио, публикувайте lockstate следващия път, когато се зареди

STATE_VOLTAGE: събудете се с включено радио, публикувайте напрежението следващия път, когато се зареди

STATE_OTA 5: събудете се с включено радио, отидете на OTA режим

Стъпка 3: Сглобете

Съберете
Съберете
Съберете
Съберете
Съберете
Съберете
Съберете
Съберете

Използвам винтови клеми и DC мъжки/женски конектори, за да мога да сглобя и разглобявам проекта си. Сложих всички части в малка ABS кутия, вижте снимките. Капсулирах частите в лента Kapton за електрическа изолация

Свързвам слънчевия панел чрез мъжки DC щепсел (5.5 x 2.1) с 1N5817 диод, който има ниско напрежение напред.

Тръстилковият превключвател е залепен в кутията и магнит е залепен на вратата в правилната позиция.

Заключващият контакт се въвежда отстрани, вижте снимката.

Стъпка 4: Работен модул

Работен модул
Работен модул
Работен модул
Работен модул

Получените данни се четат от домашната ми автоматика на Openhab. Харесва ми, мога да публикувам файловете на Openhab.

Наблюдавам:

  • Напрежението на батерията (с постоянство, така че виждам напрежението във времето в графика).
  • Позициите на вратата и заключването.
  • Времената, в които позицията се променя.

По този начин, когато си лягам, лесно мога да видя дали всички навеси са заключени.

В началото на употреба батерията беше заредена в светъл ден и след около седмица батерията беше напълно заредена. Сега през есента батерията остава заредена. Очевидно модулът е много икономичен и използва много по -малко енергия, отколкото генерира малък слънчев панел. Силната батерия вероятно има мощност за няколко месеца тъмнина. Нека видим как се представя модулът тази зима, когато температурата в навеса е много по -ниска.

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