- DIY. Умный дом своими руками
- ESP8266 и прочее Arduino
- Sonoff
- Список популярных прошивок
- Мой умный дом на ESP8266, часть 3
- Прошивка ESP8266
- Настройка I2C
- Настройка связи с MQTT-брокером
- Настройка кнопки
- Датчик атмосферного давления BMP085
- Датчик влажности DHT11
- Проверка
- Ответы на вопросы
- Читают сейчас
- Редакторский дайджест
- Похожие публикации
- Мой умный дом на ESP8266, часть 2
- Знакомство с Node-RED и потоковое программирование в Yandex IoT Core
- Развертывание и настройка аутентификации node-red на docker-compose
- Заказы
- Минуточку внимания
- Комментарии 19
DIY. Умный дом своими руками
Мы продолжаем цикл статей, которые помогут вам сделать выбор относительно того, каким образом вы хотите построить свой Умный дом. Если вы не совсем понимаете о чем речь, то советуем вам ознакомиться с первой статьей цикла, которая описывает наш взгляд на концепцию Умного дома. Что касается вариантов, из которых можно выбрать, то мы подробно разобрали самые популярные варианты создания умного дома в отдельной статье. А если вы все это уже читали, то тогда добро пожаловать в дивный новый мир самостоятельного создания собственных устройств для Умного дома, ведь DIY расшифровывается как «Do It Yourself», что в переводе означает «Сделай это сам».
Сама концепция DIY являет собой создание чего-то нового, ранее не существующего. С этого начинаются стартапы и новые, революционные продукты. С идеи, которая впоследствии воплощается в реально работающее устройство.
В разрезе Умного дома — это не только электронные компоненты, это напечатанные на 3D принтере детали и механизмы и многое другое. Причем даже если вы умеете работать только с деревом или металлом, то ничто не мешает вам придумать устройство для своего дома и сделать его в дальнейшем умным. Все довольно просто и чаще всего требуется просто собрать устройство по инструкции, и по ней же сделать определенные шаги по настройке. В целом это означает, что вам необходимо базовое умение так или иначе обращаться с паяльником (хотя и это не всегда необходимо) и обладать хотя бы минимальными навыками программирования (ну или просто понимать, как залить прошивку в контроллер, опять же — по инструкции).
А так как компоненты стоят феерически дешево, то конечная стоимость готового устройства получается настолько низкой, что если сравнивать с готовыми решениями — это окупает временные затраты (если вы конечно действительно получаете кайф от «ковыряния с железками»).
С учетом сложившейся практики, одними из самых популярных направлений DIY в сфере Умный дом, являются всего два:
Есть еще огромное множество вариантов и компонентов, но эти два являются одними из самых популярных, мы остановимся на них.
Поэтому, если Вы все-таки решились идти этим путем, рекомендую дочитать эту статью до конца.
ESP8266 и прочее Arduino
ESP8266 — это микроконтроллер китайского производителя Espressif с интерфейсом Wi-Fi. Помимо Wi-Fi, микроконтроллер отличается отсутствием флеш-памяти в SoC, программы пользователя исполняются из внешней флеш-памяти с интерфейсом SPI.
У устройства есть ряд особенностей:
- Он не имеет корпуса, но при этом имеет малые габариты.
- На его борту порядка десяти управляемых пинов (контактов) для подключения внешней периферии.
- Нет встроенного блока питания, питание осуществляется от 5В.
Sonoff
Sonoff — это линейка продуктов для систем «Умный дом» от компании Itead Studio. Специализация этой компании заключается в производстве высокотехнологичной современной электроники и простых устройств Internet of Things.
- Малый размер.
- Наличие корпуса.
- Встроенный блок питания (работа от 220В).
- К недостаткам хочется отнести малое количество пинов для подключения внешней периферии (хотя это не особо предусматривалось производителем).
Также важным преимуществом данного устройства является то, что его очень легко переделать в «реле с сухим контактом», благодаря возможности перерезания силовых дорожек на плате. То есть вы можете сделать по сути кнопку, которую сможете удаленно нажимать из программы, причем эта кнопка будет питаться по 220В.
При покупке, на борту устройства имеется прошивка от производителя, благодаря которой устройство можно интегрировать практически в любую систему Умного дома. Но нас будет интересовать именно альтернативный софт.
Преимущество этих устройств в том, что они используют один и тот же контроллер ESP8266. А это значит, что уже имеется огромное количество прошивок от различных разработчиков. Ну и никто не запрещает написать свою.
Преимущества самоделок DIY, по отношению к готовым решениям для домашней автоматизации — это, конечно же, цена и гибкость. Как я уже говорил, к одному контроллеру ESP8266 можно подключить до десяти внешних датчиков, цена которых в Китае — центы.
Список популярных прошивок
Tasmota (самая популярная прошивка для управления по MQTT);
ESP Easy (на мой взгляд — самая гибкая прошивка для управления своими устройствами по MQTT);
ESP Home (прошивка разработана для системы Home Assistant);
Ravencore (Apple HomeKit ready, то есть вы получаете устройство совместимое с HomeKit, без дополнительных шлюзов).
Мой умный дом на ESP8266, часть 3
Прошивка ESP8266
Прошивать мы будем прошивкой ESP Easy. Эта прошивка простая. Там интуитивно понятно что и как настраивать. Сразу видно где прописать связь с MQTT-брокером. И видно где размещать подключаемые к микроконтроллеру устройства. В настройках устройств легко найти галочку для связи с MQTT-брокером посылать сигналы.
Как именно прошивать я рассказывать не буду. Этого материала полно в интернете. Тем более что разные модификации ESP8266 можно прошивать по-разному. Найдите гайд по прошивке именно вашего устройства и прошейте ESP Easy.
Релиз ESP Easy
В файле есть программа прошивальщик. При ее запуске можно выбрать конкретную прошивку, например normal и COM-порт, на котором находится в вашем устройстве. И после этого нажмите кнопку Прошить. В общем подробности этого процесса вы найдете в интернете. Если не получится, то обращайтесь ко мне.
После прошивки и настройки Wi-Fi на устройстве вы сможете заходить через браузер в интерфейс прошивки прямо набрав адрес устройства в браузере. Начнем с I2C.
Настройка I2C
Для начала настроим протокол I2C. По умолчанию для подключения устройств к контроллеру по этой шине используются пины 4 и 5. Нам же нужны другие пины. Заходим в раздел Hardware и меняем эти настройки:
Указание пинов для I2C-протокола
Настройка связи с MQTT-брокером
В разделе Controllers прошивки ESP Easy можно прописать связь микроконтроллера ESP8266 с тремя серверами. Мы пока добавим связь с одним сервером, а именно с нашим MQTT-брокером. По большому счету одного этого брокера достаточно практически для всех нужд умного дома.
Связь с MQTT-брокером
Выбираем протокол Home Assistent. Почему именно его? Об этом написано в статье Термометр на ESP8266 с прошивкой ESP Easy на сайте веб-сервиса WQTT.ru. А так протокол выбирается в соответствии с выбранным сервером.
Далее прописываем адрес и порт нашего брокера, логин и пароль доступа. И указываем такие флажки как Will Retain и Enabled. Флажок Will Retain позволит брокеру запоминать последние опубликованные сообщения и таким образом состояние вашего умного дома будет хранится именно на брокере.
Настройка важных флажков
Настройка кнопки
Переходим в раздел Devices прошивки ESP Easy. И размещаем информацию о кнопке:
Кнопка будет подключена к пину GPIO4
Состояние кнопки мы не будем использовать. Нам важен лишь факт ее нажатия. А вот включить или выключить лампу будем решать на основании ее текущего состояния, которое хранится в MQTT-брокере. Эта логика будет позже прописана в Node RED.
Датчик атмосферного давления BMP085
В том же разделе добавляем датчик давления:
Напомню, этот датчик связан с микроконтроллером по шине I2C, поэтому пины не нужно указывать. Они выше были указаны. В настройках мы укажем интервал отправки значений датчика 200 сек. И поставим галочку напротив Send to Controller, что заставит микроконтроллер отправлять значения датчиков на контроллер номер 1 (см. черный кружочек с числом).
Для значения Pressure добавим формулу пересчета из гигапаскалей в мм.рт.ст.
Датчик влажности DHT11
Датчик влажности будет размещен на пине GPIO14. Настройки для датчика тривиальные:
Настройки датчика влажности DHT11
Проверка
Итого страница Controllers должна выглядеть так:
Контроллеры
А страница Devices так:
В колонке Values будут видны считываемые показания датчиков.
Если все сделано правильно, то на сервере WQTT.ru мы увидим, что значения уже передаются:
В следующей статье настроим последний компонент Node RED.
Ответы на вопросы
Проблема в вашей схеме в том, что без интернета весь ваш умный дом превратится в тыкву
Вижу метеостанцию на Node-Red. Умный дом не вижу…
Не совсем вопрос, но стоит сделать замечание. Пока нет цели сделать правильно, надежно, профессионально. Пока цель простая — стартовать. Есть простые требования (в первой статье). И данная простая схема (действительно похожа на простую метеостанцию с кнопкой) как раз удовлетворяет всем требованиям и дает возможность стартовать.
Подскажите, а не рассматривали другие прошивки?
Рассматривал. Под требования не подходят. Я не отрицаю их использование, но они более сложные для понимания. ESP Easy в этом плане просто как пенек. Даже достаточно взглянуть на его веб-интерфейс и мне, далекому от МК-темы, сразу понятно что к чему и как настраивать.
датчики DHT11 просто отвратительны
Датчик DHT11 взят для примера. Тут главное что требования выполнены. А уж какие датчики подключать — дело вкуса.
который может начать глючить и отваливаться, если подключать кучу датчиков по WiFi
В комментариях отписался человек, который посадил на свой роутер 11 контроллеров ESP. И все работает.
Ой, у вас баннер убежал!
Читают сейчас
Редакторский дайджест
Присылаем лучшие статьи раз в месяц
Скоро на этот адрес придет письмо. Подтвердите подписку, если всё в силе.
Похожие публикации
Мой умный дом на ESP8266, часть 2
Знакомство с Node-RED и потоковое программирование в Yandex IoT Core
Развертывание и настройка аутентификации node-red на docker-compose
Заказы
AdBlock похитил этот баннер, но баннеры не зубы — отрастут
Минуточку внимания
Комментарии 19
11 контроллеров на ESP…
У людей бывает по 150+ устройств ZigBee.
А для чего вам 150 датчиков?
Это не у меня. И не «датчиков», а «устройств»: датчики, выключатели, исполнительные устройства… У людей есть большие сети «умного дома’.
Выключатель или два в каждую комнату + коридоры, туда же по датчику движения/присутствия, датчику открытия двери, датчик температуры/влажности, датчик газа/дыма. Датчики протечки, краны для перекрытия воды/газа, моторизованные шторы, ИК шлюзы, кнопки. Продолжать можно ещё долго.
У меня в двухкомнатной квартире 32 zigbee устройства и как бы есть куда расти
Если от стадии «у меня метеостанция на ардуине с mqtt и кнопкой» вы начнёте переходить к «я не хочу вообще ничего видеть и знать (пока не занимаюсь отладкой) о богатом внутреннем мире датчиков дома, но хочу чтобы оно само делало мне и (!) остальной моей семье удобно» — вы постепенно обнаружите, что:
1) esp — это только для очень кастомных устройств с очень кастомной логикой прямо на борту (и тогда там гораздо интереснее с ESPHome).
2) к 30-40 устройствам начинаются лаги (да-да, wifi), и включенная соседями фиговая микроволновка (или начало просмотра HD-видео на том же wifi-канале) вдруг задерживает автоматическое включение света в туалете на 5 секунд.
3) универсальные устройства (и температура, и движение, и освещённость, да ещё с кнопкой поверх) — совершенно бессмысленны. Температуру и влажность надо измерять там, где на них нет внияния местных факторов, датчик движения должен быть направлен туда куда надо (а не там, где удобно поставить кнопку) и т.д. Так что отдельных устройств надо ещё чуть больше.
4) чтобы делать удобно, порогом не должно быть «ой, надо ещё одну esp`шку паять и потом в веб-интерфейсе настраивать на ней всё… завтра сделаю», а надо чтобы когда пришла интересная идея — можно было просто взять с полки очередной готовый покупной датчик / кнопочку — и через 5 минут идея запущена в проверку жизнью.
5) во все места, где надо что-то поставить, провода с питанием для esp тянуть нереально.
6) 99.9% статей со словами «умный дом» — это про (на выбор): «я спаял датчик и сделал для него прошивку» / «я на стадии ремонта закатал в стены 10км проводов» / «я сделал бота, который может прислать мне температуру в каждой комнате» / — и прочих вещах, не имеющих к реальному удобству никакого отношения. Почему-то до статей о реальном удобстве у тех, кто начинал с вышеприведённых тем, обычно дело не доходит. (просто статистика личных наблюдений).
И где-то в этот момент вы с удивлением обнаружите, что устройств действительно уже под сотню, но это как-то уже не кажется много. Они просто естесвтенным образом, без всякой гонки за их количеством, заводятся сами по мере движения по пути «действительно удобно, а не типа-дом-будущего-из-фильмов».
И где-то тут же, перечитав написанное ранее, вы сами очень удивитесь требованиям 3, 4, 5, 6 из первой статьи (специально ходил посмотреть, что же вы понимаете под «умным домом»). «Надо побольше программировать, и чтобы обязательно конкретный язык, и конкретный протокол» — это как требования к типоразмеру транзисторов, цвету текстолита и возможности заливать свою прошивку в контроллеры всей моей домашней техники: возможно, важно, если изначальная цель — для души дни напролёт в этой технике ковыряться, но совершенно пофигу, если цель — пользоваться. Даже если иногда надо будет влезть внутрь и что-то исправить.