Съдържание:

Управлявайте вашата автоматична плъзгаща се врата с Home Assistant и ESP Home: 5 стъпки (със снимки)
Управлявайте вашата автоматична плъзгаща се врата с Home Assistant и ESP Home: 5 стъпки (със снимки)

Видео: Управлявайте вашата автоматична плъзгаща се врата с Home Assistant и ESP Home: 5 стъпки (със снимки)

Видео: Управлявайте вашата автоматична плъзгаща се врата с Home Assistant и ESP Home: 5 стъпки (със снимки)
Видео: Встреча №2-24.04.2022 | Диалог и ориентация членов команды Е... 2024, Ноември
Anonim
Управлявайте вашата автоматична плъзгаща се врата с Home Assistant и ESPHome
Управлявайте вашата автоматична плъзгаща се врата с Home Assistant и ESPHome

Следващата статия е някаква обратна връзка за моя личен опит с управлението на автоматичната плъзгаща се врата, която бях инсталирал в къщата си. Тази порта, марка "V2 Alfariss", беше снабдена с няколко дистанционни управления Phox V2, които да я контролират. Имам и звънец на вратата на Google Nest Hello, който за съжаление не може да бъде включен в контролера на плъзгащата се врата за дистанционно отваряне на портата от мобилното приложение. За мен един от начините да реша това ограничение беше да намеря начин да свържа автоматичния контролер с плъзгаща се порта към Интернет. С тази нова, свързана порта, мога да отговоря на случаи на употреба като управление на плъзгащата се врата с мобилния си телефон. Постигнах това с помощта на Home Assistant, ESPhome и няколко електронни части.

Идеята зад тази статия не е да ви даде нещо готово за употреба, а по-скоро да ви вдъхнови. Не забравяйте, че ако нямате абсолютно същата автоматична порта, не забравяйте да изтеглите и прочетете техническата документация за вашия модел. Адаптирайте го и го подобрете. Внимание: Бъдете внимателни и не забравяйте да изключите електрическото захранване, преди да отворите главния контролер. Наслади се!

Консумативи

  • Инструменти:

    • Отвертка
    • Поялник
    • Мултиметър
  • Части:

    • Raspberry PI 3 (пълен комплект: 2A alim + 32gb sd карта)
    • ESP8266 Wemos D1 мини
    • 2 релейни модула
    • 2 резистора 10k
    • ПХБ за прототипиране
    • Проводници

Стъпка 1: Как работи?

Как работи?
Как работи?

Основното предизвикателство тук е да свържете автоматичната плъзгаща се врата към смарт телефон. За да направим това, нека превърнем автоматичната плъзгаща се врата в IOT устройство. Разбира се, има няколко начина за постигане на това. В моя случай, след някои експерименти, реших да отида с:

  • Използване на Home Assistant като хъб за управление на портала и получаване на заявки от потребител.
  • Инсталиране на ESPHome като фърмуер вътре в ESP8266.
  • Електронни части:

    • Прототипна печатна платка за запояване на компоненти и свързването им
    • Две релета за симулиране на бутон за отваряне или затваряне на портата
    • Старо 5V захранване за захранване на ESP8266
    • Два резистора за разделяне на напрежението от сензора за отваряне/затваряне
  • Интернет връзка с рутер (нужда се от функция за конфигуриране на NAT правило)
  • Профил в DuckDNS, който позволява разрешаването на имена на вашия Home Assistant
  • Мобилен телефон за инсталиране на приложението Home Assistant и джаджа на екрана

Потока

Погледнете схемата, за да разберете по -добре.

  1. От мобилния си телефон натискате джаджата за мобилно приложение Home Assistant
  2. Искане се изпраща до вашия уеб адрес на Home Assistant (разрешен от DuckDNS и TLS чрез нека да шифроваме).
  3. Вашият интернет рутер насочва заявката към приложението Home assistant
  4. Home Assistant изпраща действието на заявката до ESPHome
  5. ESPHome задейства двигателя на автоматичната плъзгаща се врата
  6. Шампанско!

Стъпка 2: Инсталирайте и настройте Home Assistant на Raspberry PI

Home Assistant може да се разглежда като център за всички ваши домашни IOT неща. Това ще бъде добро място за контрол на всички свързани устройства и добавяне на много функции. Основните характеристики, които най-много ми харесват, са таблото за управление, API и разнообразието от добавки.

Инсталация

Очевидно нямам никакви добавени стойности, които да ви кажа как да настроите и инсталирате Home Assistant. Всъщност преди този проект не познавах този софтуер. Основните статии са:

  • Инсталирайте Home Assistant с тази статия
  • Мрежовата конфигурация за Home Assistant може да се намери тук:

    github.com/home-assistant/operating-system…

  • Инсталирайте ESPHome с това:
  • Инсталирайте добавката DuckDNS за Home Assistant:
  • Инсталирайте плъгина за редактор на файлове (полезно):

След всички тези точки имате хубав Home Assistant, работещ на вашия Raspberry PI. Трябва да можете да го достигнете чрез HTTP и локален IP или да опитате https://homeassistant.local: 8123.

Конфигурация

Конфигурирайте DuckDNS с вашия домейн и с маркера. Например, можете да видите на снимките, част от моята конфигурация. Не забравяйте да приемете_terms с „true“.

lets_encrypt:

accept_terms: true certfile: fullchain.pem keyfile: privkey.pem token: 92f56bb2-2c26-4802-8d4d-xxxxxxxxxxxx домейни:-nameofyourchoice.duckdns.org секунди: 300

Решавам да конфигурирам HA със статичен IP, защото е по-опростен и сте сигурни, че IP ще бъде същият след рестартиране и след това вашите правила за пренасочване на портове ще продължат да работят: https://github.com/home-assistant/ операционна система …

В моя случай добавям част от конфигурацията във файла configuration.yaml, защото DuckDNS не управлява https, само нека да шифроваме сертификата и актуализацията на DuckDns:

http:

ssl_certificate: /ssl/fullchain.pem ssl_key: /ssl/privkey.pem base_url:

Стъпка 3: Персонализираната електронна дъска за подобряване на автоматичната плъзгаща се врата

Персонализираната електронна дъска за подобряване на автоматичната плъзгаща се врата
Персонализираната електронна дъска за подобряване на автоматичната плъзгаща се врата
Персонализираната електронна дъска за подобряване на автоматичната плъзгаща се врата
Персонализираната електронна дъска за подобряване на автоматичната плъзгаща се врата
Персонализираната електронна дъска за подобряване на автоматичната плъзгаща се врата
Персонализираната електронна дъска за подобряване на автоматичната плъзгаща се врата

Може би това беше най -необичайната част за мен, защото обикновено оправям повече софтуерни неща, отколкото хардуерни. Започнах с макет и много основна схема, само за да проверя дали съм в състояние да кача програма в Wemos D1 mini и да мига светодиод. След това промених фърмуера за ESPhome и следвах тази перфектна статия за начало:

След няколко повторения, за да намеря правилната верига, я документирах с Fritzing. Не забравяйте да отделите време за тази стъпка, тъй като няма връщане назад, когато всичко е запоено (не точно, но не лесно връщане назад). Опитах се да симулирам входния сензор от Автоматична плъзгаща се врата, но това беше неуспех (обяснявам по -късно защо). Лично открих, че Fritzing е добър инструмент за документиране на това, което свързвате на дъската.

Забележка: Тук ще намерите добра отправна точка в често задаваните въпроси за ESPhome, ако не можете да свържете вашия ESPHome към Home Assistant за първата инициализация. След качването на фърмуера ще можете да качвате „по въздуха“(OTA).

Реле за активиране на спусъка за отваряне/затваряне

В техническата спецификация на автоматичните плъзгащи се врати е посочено, че трябва да затворите верига между "START" и "COM", за да задействате действие отваряне/затваряне на вратата (пълното отваряне). Затваряща верига между "START. P" и "COM" задейства действие за отваряне/затваряне на вратата за пешеходци. Не използвах "STOP", но това е същата концепция, но за спиране на портата при отваряне или затваряне.

При избора на електронен компонент реших да отида за реле вместо за транзистор. Транзисторите са хубави, но не дават гаранция, че веригата е идеално близка. Мисля, че те могат да позволят на много нисък ток да преминава във веригата. Друго предимство на релето е, че когато тествате веригата си, по принцип чувате, когато контактът е близо, със звука „щракване“.

Вземете състоянието на отворен сензор

В началото мислех да използвам някакви магнитни сензори за откриване на състояния на отворени или затворени врати. Но разбрах, че има щепсел, в който се споменава "граничен сензор" на контролера. Очевидно не е направено да се използва (от отрепки като мен), открих с тестер за контакти, че мога да прочета състоянието отворено или затворено, когато отворя портата. Направих голяма грешка, мислейки, че състоянието е някакво TTL логическо напрежение (3.3v). В този случай можете директно да ги включите към Wemos Input. Но всъщност, когато вратата е отворена, има изходно напрежение 6.3v. За да използвате този сигнал, трябва да разделите напрежението с този вид верига https://www.learningaboutelectronics.com/Articles/H… Решението е доста просто, защото напрежението трябва да бъде разделено на две. Така че, аз съм използвал два резистора от 10 Kohms между изхода на граничния сензор и входа Wemos (отново, погледнете в приложените снимки за схема).

Евтино 5v захранване

За да захранвам всички тези компоненти, използвам старо захранване за мобилен телефон. Отворих го и смених щепсела на малък щепселен кабел с винт. Също така реших да обединя двете платки (esp и захранване) с горещо лепило (да, знам, това е малко мръсно, но работи:-). Не е най -чистото нещо, но по -лесно за боравене и избягване на докосване на 220v.

Това е всичко за хардуерната част.

Стъпка 4: Фърмуерът на ESPHome да работи на прототипа на печатната платка

Логиката вътре в ESP8266 се инжектира чрез портала за домашен помощник ESPHome добавка. Вие кодирате логиката, която ESPHome изпълнява. Много малкият вид приложение трябва да бъде код със синтаксис на ESPHome. Това е наистина лесно и забавно, защото само с няколко реда YAML вашият ESP8266 бързо се превръща в интелигентно нещо. Пълният изходен код е достъпен тук: https://gist.github.com/toomone/819112ea1b04937912… Нека се съсредоточим върху важната част от кода.

Управление на релетата

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

превключвател:

- платформа: gpio pin: D3 // ПИН кодът, от който ще се извежда сигналът на идентификатора на Wemos: relay restore_mode: ALWAYS_OFF - платформа: име на шаблона: „Gate Pedestrian Remote“икона: „mdi: walk“turn_on_action: // логика, която да се изпълнява от ESPHome за симулиране на импулс - превключвател.turn_on: реле - забавяне: 500ms - превключвател.

Предишният код ще генерира превключвател и шаблон. Тези две концепции позволяват на ESPHome да предложи подобрен механизъм без реално кодиране. Каня ви да прочетете документацията на ESPHome, за да задълбочите предлаганите функции. https://esphome.io/cookbook/relay.html и

Четене на състоянието на сензора за отворено затваряне

двоичен_сензор:

- платформа: gpio pin: номер: D1 обърнат: истинско име: "отворен сензор" id: open_sensor device_class: garage_door

Тази част от скрипта казва на борда на wemos да прочете състоянието на отворения сензор на D1. За да намерите D1, трябва само да прочетете на вашата Wemos PCB. Използвал съм параметъра "обърнат" към true, за да обърна стойността на сигнала. Не си спомням ясната причина, но мисля, че беше лесно да се покаже близо или отворено съответно на състоянието на портала на таблото за управление на HA.

Разрешаване на API обаждане до ESPHome

Ако искате да можете да използвате приспособлението за домашен помощник на телефона си, трябва да добавите това малко парче код:

# Активиране на API за домашен помощник

api: услуги: - услуга: open_portal_pedestrian тогава: - switch.turn_on: реле - забавяне: 500ms - switch.turn_off: реле

По този начин конфигураторът на приложение за домашен помощник ще изброи действието за отваряне на портала. Избрах само това за пешеходци, защото това е най -използваното от мен.

Стъпка 5: Изложете вашия домашен асистент на света

Изложете вашия домашен асистент на света
Изложете вашия домашен асистент на света
Изложете вашия домашен асистент на света
Изложете вашия домашен асистент на света

Защото, ако искате да можете да отворите вашата автоматична плъзгаща се врата, където и да сте на планетата, а не само от вас вкъщи, трябва да изложите HA на света. Между другото, не забравяйте да използвате силно удостоверяване на паролата. На вашия интернет рутер трябва да конфигурирате правило, за да насочите целия трафик, идващ от конкретен порт към определен IP, а също и порт. Например, ще намерите конфигурацията, която направих на маршрутизатора на моя доставчик (съжалявам, че е на френски), но ще забележите, че това е наистина проста конфигурация. Правилото трябва да казва на вашия рутер да приеме целия протокол на порт xxxx, за да премине към IP за домашен помощник с порт 8123 (ако не сте го променили).

Това е всичко. Не се колебайте да задавате въпроси, защото със сигурност съм забравил да добавя подробности за конкретна част. Системата работи всеки ден без проблеми. Харесва ми и фактът, че мога да отворя или затворя състоянието на портала от телефона си.

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