Съдържание:
- Консумативи
- Стъпка 1: Хардуер - Схема
- Стъпка 2: Хардуер - заграждение
- Стъпка 3: Софтуер
- Стъпка 4: Домашна автоматизация и телеграма
- Стъпка 5: Подобрения и допълнителни подобрения
Видео: Сензор за врати с батерия с интеграция на домашната автоматизация, WiFi и ESP-NOW: 5 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
В тази инструкция ще ви покажа как направих сензор за врата с батерия с интеграция на домашната автоматизация. Виждал съм някои други хубави сензори и алармени системи, но исках сам да си направя такъв.
Моите цели:
- Сензор, който открива и съобщава за бързо отваряне на врата (<5 секунди)
- Сензор, който открива затварянето на вратата
- Сензор, който работи с батерии и работи няколко месеца на батерия
Хардуерът и софтуерът са вдъхновени от
- Тригбордът на Кевин Дара (TPL5111 и TPS73733).
- Това видео
Направих сензор за моята и задната врата. Единствената разлика е позицията на светодиода и външния превключвател на захранването (на сензора на задната врата).
Направих няколко подобрения по време на разработката в хардуера и софтуера, може да се види на снимките.
Консумативи
Купих електронните компоненти от Aliexpress, основните части:
- LiPo батерия
- TPS73733 LDO
- TPL5111
- Тръстен превключвател
- P-канал MOSFET: IRLML6401TRPBF
- Магнит
- Адаптерна платка за печатни платки за SMD компоненти и други.
Стъпка 1: Хардуер - Схема
Вижте приложените схеми за веригата. Запоявах SMD частите на адаптерна печатна платка и запоявах всички компоненти към двустранна перф платка. Свързах ESP-01 чрез женски заглавки, за да мога да го премахна, за да го програмирам чрез адаптера, показан в стъпка 3 на тази инструкция.
Схемата работи по следния начин:
- Когато вратата се отвори, TPL5111 получава изстрел в щифта DELAY/M_DRV и позволява TPS73733 LDO, който захранва ESP-01. За тази операция EN/ONE_SHOT трябва да се издърпа ниско, вижте листа с данни на TPL5111.
- След стартиране на програмата (вижте стъпка Софтуер), ESP-01 изпраща сигнал Done към TPL5111, който след това деактивира TPS73733, което води до състояние на много ниска мощност за TPL5111 и TPS73733.
Използвам тръстикови превключватели с NO и NC връзки. Свързах NC кабела, тъй като герконът трябва да затвори веригата, когато магнитът е отстранен (вратата е отворена) и да се отвори, когато магнитът е близо (вратата е затворена).
За сензора на задната врата добавих някои кондензатори и резистори, когато открих някои нестабилности, но нестабилността беше причинена от софтуера (esp_now_init), както открих по -късно.
Стъпка 2: Хардуер - заграждение
Проектирах корпуса в Autodesk Fusion360, вдъхновен от това видео от „човека с швейцарския акцент“.
STL файловете от трите части:
- Кутия
- Капак
- Поставка за магнит
са публикувани на моята страница Thingiverse.
Стъпка 3: Софтуер
Програмата е в моя Github.
Потокът на програмата е показан на снимката. Вижте моя друг Instructable за обяснението как използвам ESP-NOW.
Когато модулът е включен, той първо се опитва да изпрати съобщението „ОТВОРЕНО“чрез ESP-NOW. Ако това не успее, преминава към WiFi и MQTT връзка.
Разбрах, че поне в моята настройка съобщението „ЗАТВОРЕНО“не е изпратено успешно през ESP-NOW, затова премахнах това от програмата и използвах само WiFi и MQTT.
През времето, през което вратата се отваря и модулът изчаква вратата да се затвори, той използва това време за свързване към WiFi и MQTT, така че когато вратата е затворена, тя трябва само да изпрати измереното напрежение и съобщение ЗАТВОРЕН и след това директно заспива.
Програмата проверява дали затвореното съобщение е получено от приемника чрез слушане на MQTT съобщение по правилната тема.
Стъпка 4: Домашна автоматизация и телеграма
Сензорите на вратата ми комуникират с Openhab Home Automation на моя Raspberry Pi Zero.
Основни приложения:
- Прочетете състоянието на вратата: ОТВОРЕНО или ЗАТВОРЕНО.
- Алармирайте ме чрез телеграма, ако се отвори врата (Ако алармата е включена или е включена функцията Монитор).
- Прочетете последния път, когато вратата беше отворена или затворена.
- Пребройте броя отвори, които сензорът на вратата може да обработи, преди батерията да се изтощи.
Например, ако сме на почивка и съседът влиза да полива растенията, получавам съобщение. Вижте видеото във въведението.
Моите елементи от Openhab, правила и файлове със карта на сайта са в моя Github. В тези файлове можете да видите и моя сензор за врата на навеса, който използва обикновен кабелен тръстиков превключвател и малък контакт (краен) превключвател от 3D принтер в отвора за заключване (вижте снимките).
Как се използва действието Telegram в Openhab е описано тук.
Стъпка 5: Подобрения и допълнителни подобрения
През последните месеци направих следното подобрение.
Дръжте дългите отвори на вратите чрез самопревключващ се импулсен сигнал
През лятото оставяме задната врата отворена за няколко часа, когато сме у дома. Работещият ESP-01 с WiFi връзка след това ненужно ще изтощи батерията. Затова включих превключвател за включване/изключване, за да мога да изключвам модула в тези ситуации.
Това обаче понякога води до постоянно изключен модул (когато забравих да го включа) и изтощена батерия след няколко следобеда на отворена врата и работещ модул (Когато забравих да го изключа).
Затова исках да мога да изключа модула чрез софтуера, след като модулът беше включен за предварително определено време (1 минута).
Въпреки това, когато импулсът „DONE“на ESP-01 изключи TPL5111, когато вратата беше затворена, установих, че TPL5111 не е изключен от импулс „DONE“, докато щифтът DELAY/M_DRV е ВИСОК. Този ВИСОК сигнал на щифта DELAY/M_DRV е причинен от отворената врата и NC контакта на тръстиковия превключвател, свързан към напрежението на акумулатора.
Така че сигналът към извода DELAY/M_DRV не трябва да бъде непрекъснато ВИСОК, а трябва да бъде импулсен. В листа с данни TPL5111 можете да откриете, че той трябва да бъде импулс от> 20 ms. Направих този самопревключващ сигнал чрез P-канал MOSFET, кондензатор и 10K и 300K резистор, вижте включената схема.
Работи по следния начин:
- Ако NC контактът на тръстиковия превключвател е затворен, портата е НИСКА и Mosfet е включен, което води до ВИСОК сигнал на щифт DELAY/M_DRV, който активира модула.
- Кондензаторът се зарежда бързо, което води до повишаване на напрежението на портата.
- След приблизително 20 ms напрежението на портата е 97% от напрежението на акумулатора (300K/(300K+10K), което е ВИСОКО и MOSFET се изключва, което води до НИСКИ сигнал на щифта DELAY/M_DRV.
- Когато изводът DELAY/M_DRV е НИСКИ, сигналът DONE на ESP-01 води до изключване на модула.
Това е внедрено в софтуера; цикъл while не само проверява дали вратата все още е отворена, но също така проверява дали модулът не е включен твърде дълго. Ако е включен твърде дълго, той публикува NULL стойност (неопределено състояние на вратата). В този случай не знам дали вратата е отворена или затворена и не постигам всички цели, споменати във въведението, но животът на батерията е по -важен и повечето пъти отваряме вратата отново по -късно същия ден, което води до потвърдено затворено състояние на вратата.
Важно е да използвате P-канал Mosfet, който е подходящ за използвания тук диапазон на напрежение. Mosfet трябва да бъде напълно включен при VGS от около - 3.8V и напълно изключен при VGS от около -0.2 V. Опитах няколко Mosfeta и установих, че IRLML6401TRPBF работи добре за тази цел в комбинация с 10K и 300K резистори. Кондензатор от 1 uF работи добре, за да получи дължина на импулса от около 20 ms. По -голям кондензатор води до по -дълъг импулс, което не е необходимо, тъй като TPL5111 е активиран. Използвах моя осцилоскоп DSO150, за да проверя напреженията и дължината на импулса.
Планирано подобрение: OTA актуализация
Планирам да включа OTA актуализация чрез следната процедура, която вече е частично включена в текущия софтуер
- Чрез Openhab на NodeRed публикувам запазено съобщение „актуализация“и „тема за актуализация“.
- Ако модулът е включен и свързан към MQTT сървъра и се абонира за „темата за актуализация“, той получава съобщението за актуализация.
- Съобщението за актуализация ще попречи на изключването на модула и стартира
- Чрез уебсайта на HTTPUpdateServer можете да актуализирате софтуера.
- Чрез Openhab на NodeRed публикувам запазено „празно“съобщение и „тема за актуализация“.
Планирано подобрение: изключване на хардуера след предварително определено време
В настоящата схема използвам 200K резистор между DELAY/M_DRV и GND на TPL5111. Това включва модула за повече от 2 часа (вижте 7.5.3. От листа с данни TPL5111). Не искам обаче модулът да е включен толкова дълго, защото след това батерията се изтощава. Ако софтуерното решение (вижте по -горе) не успее да изключи модула или съобщението за актуализация неволно поставя модула в режим на актуализация, модулът остава включен за дълго време.
Затова е по -добре да използвате по -малък резистор между DELAY/M_DRV и GND на TPL5111, така че модулът да се изключи след кратко време, например 50K резистор, което води до включване от 7 минути.
Препоръчано:
DIY Интелигентна отварачка за гаражни врати + интеграция на домашен асистент: 5 стъпки
DIY Интелигентна отварачка за гаражни врати + Интеграция на домашен асистент: Превърнете нормалната си гаражна врата умно, като използвате този проект „Направи си сам“. Ще ви покажа как да го изградите и контролирате с помощта на Home Assistant (над MQTT) и да имате възможност за дистанционно отваряне и затваряне на гаражната врата. Ще използвам платка ESP8266, наречена Wemos
Евтино отваряне на врати за гаражни врати: 6 стъпки (със снимки)
Евтино отваряне на интелигентни гаражни врати: CreditI почти копирах внедряването на Savjee, но вместо да използвам Shelly, използвах Sonoff Basic. Вижте неговия уебсайт и канала в YouTube! Https: //www.savjee.be/2020/06/make-garage-door-ope…https: //www.youtube.com/c/Savjee/AssumptionsYou h
Първи стъпки с домашната автоматизация: Инсталиране на Home Assistant: 3 стъпки
Първи стъпки с автоматизацията на дома: Инсталиране на Home Assistant: Сега ще стартираме поредицата за домашна автоматизация, където създаваме интелигентен дом, който ще ни позволи да контролираме неща като светлини, високоговорители, сензори и така нататък, използвайки централен хъб заедно с гласов асистент. В тази публикация ще научим как да инс
Изключително прост начин да започнете с домашната автоматизация с помощта на DIY модули: 6 стъпки
Изключително прост начин да започнете с автоматизацията на дома с помощта на DIY модули: Бях приятно изненадан, когато реших да опитам да добавя някои DIY сензори към домашния помощник. Използването на ESPHome е изключително просто и в тази публикация ще се научим как да контролираме GPIO щифт и също така да получим температура & данни за влажност от безжичен n
Основи на домашната автоматизация: 6 стъпки (със снимки)
Основи на домашната автоматизация: Здравейте всички. Тази инструкция ще ви помогне да разберете основите на домашната автоматизация. Тъй като това е на основно ниво, ще използваме само Arduino и няколко други компонента. История за Instructable:- Все още уча за Arduino p