(обновление 03.01.2025)
Конечно в умном доме очень легко и просто использовать готовые решения, то есть можно покупать устройства разных экосистем на разных протоколах, на Wi-Fi и на Zigbee и от Tuya, и от Xiaomi, и от Яндекса, Aqara, можно и других, и все это интегрировать и заниматься только тем, что из готовых компонентов делать умный дом, строить это конечно тоже достаточно сложно, нужно много изучать, много пробовать, много экспериментировать, но есть еще способ как вообще пойти на следующий уровень, так сказать, и понять эти устройства, почему они такие, почему у них какие-то свойства, какие-то функции определенные, и для этого очень удобно использовать микроконтроллеры Arduino, или есть аналоги разные там, типа ESP, эти микроконтроллеры позволяют программировать их определенным образом, подключать к ним разные датчики в разных комбинациях и пробовать сделать какие-то либо базовые сценарии прямо на микроконтроллере, либо используя какие-то средства связи уже интегрировать их в систему умного дома.
Эксперименты
Я начинал экспериментировать в умный дом на Arduino, это фактически микроконтроллер, основная плата это Arduino Uno, она достаточно большая, но с ней удобно экспериментировать там тоже удобно все подключать, у нее есть и контроллер встроенный для подключения к компьютеру, и можно через компьютер к ней подключаться, программировать её, и также обмениваться с ней информацией, то есть в принципе интересно, можно к ней подключить датчик температуры, например, влажности самый простой, DHT11, и тогда будет видно, что там меняются какие-то значения, запрашивать, с помощью разных библиотек запрограммировать, и прямо на компьютере можно будет просматривать, строить графики и какое-то управление делать этими данными, например если подключить к этому Arduino светодиоды, то можно разные включать и выключать светодиоды, также можно подключать много датчиков разных, то есть можно например подключить цифровые индикаторы или какие-нибудь, даже я покупал oled-дисплеи небольшие и на них тоже выводить информацию различную, то есть в принципе вполне полноценное решение.
Понятно что много разных датчиков есть, есть датчики ультразвуковые, обычно во всяких комплектах идут, в наборах, разные датчики: датчики температуры, датчики влажности, разные кнопки, разные реле, небольшие сервоприводы, есть ультразвуковые датчики, и можно также подключать небольшие динамики, светодиоды в большом количестве можно подключить не очень мощные, там есть определенные ограничения, и конечно можно эти светодиоды тоже включать / выключать их и какую-то информацию ими показывать.
Аналоги
То есть можно поэкспериментировать, можно сделать очень много разных интересных вещей, и сейчас еще тоже есть в продаже другие версии, в основном то что я в последнее время покупал это Arduino Nano, это такая плата она чуть побольше, понятно что есть оригинальная плата, есть аналог китайский, в принципе работают они одинаково и на этой плате конечно можно, она более компактна, и ее можно уже в такой breadboard включить, воткнуть, и соответственно там делать некоторую обвязку, то есть прямо на этой макетке можно всякие светодиоды подключать, резисторы нужные устанавливать, то есть полноценно можно собрать устройство.
У меня большая часть устройств так и до сих пор работает, просто собраны на макетке, конечно там соединение не самое надежное, но для каких-то базовых сценариев оно вполне подходит, макетки бывают разного размера, побольше, поменьше, бывают вообще огромные, то есть можно большие сложные схемы собирать для управления.
Есть еще Arduino Micro у которой есть еще возможность вообще подключаться к компьютеру по USB и тогда она может еще эмулировать работу клавиатуры или мышки, то есть это тоже большие возможности дает, можно какое-нибудь управление компьютером сделать через этот микроконтроллер.
Связь
Но у всех этих Arduino, простых микроконтроллеров, есть ограничение, то что нет нормальной связи, то есть конечно можно приобрести какие-нибудь платы дополнительные, которые позволяют взаимодействовать, есть которые по Zigbee могут взаимодействовать, есть модули по Wi-Fi, это по сути те же самые ESP, допустим ESP-01, она как раз может выступать как полноценный микроконтроллер так и в качестве просто передатчика по wi-fi, но либо использовать передатчик на частоте 433 мегагерца, это тоже очень удобно, это очень простой протокол, простое взаимодействие, вполне надежное на не очень больших расстояниях, и при качественном питании хорошо позволяет сделать передачу и я очень много устройств сделал, и использую, которые именно работает по частоте 433 мегагерца.
Мощнее
Но если уже говорить именно о полноценным создании каких-то датчиков для системы умного дома, то конечно следующим шагом, это просто использовать этот микроконтроллер ESP уже сразу как основное устройство, то есть и к нему также можно подключать разные датчики, даже простой микроконтроллер ESP-01 имеет уже и достаточно много памяти на борту, и у него есть по сути четыре пина свободных, можно подключить несколько разных датчиков, например я подключал плату с четырьмя реле, то есть по сути такой простой микроконтроллер размером сантиметр на сантиметр всего лишь, позволяет полноценно уже четырьмя реле управлять, это тоже очень неплохое решение и запрограммировать его нисколько не сложнее, то есть та же среда Arduino IDE позволяет также программировать эти микроконтроллеры по сути на том же языке и практически на тех же библиотеках, это тоже такое решение, то есть не обязательно сейчас использовать какие-то Arduino, можно сразу начитать работать с ESP.
Программа
Для ESP есть возможность просто писать какие-то варианты своих программок, то есть там полноценное подключение к Wi-Fi можно сделать, по MQTT настроить обмен и подключение к брокеру, или веб-страницу какую-то отображать для управления, или на webhook какие-то обращаться, подключаться к каким-то сайтам или к системе умного дома и тогда такое устройство полноценно будет частью умного дома.
Конечно ESP и Arduino работают от сети, от батареек это уже надо будет рассматривать микроконтроллеры, которые с низким потреблением, и тогда на них тоже можно будет сделать уже какие-то отдельные датчики для системы умного дома.
Но на ESP там в принципе есть еще ESPHome, такая библиотека, она позволяет очень просто настраивать и конфигурировать и она полностью, достаточно очень сильно, интегрирована с Home Assistant, то есть можно скачать специальный загрузчик сначала, он устанавливается один раз на этот микроконтроллер ESP, и дальше уже через веб-интерфейс можно там делать какие-то настройки и на специальном языке, по сути аналогичный как YAML, можно описать разную структуру, то есть какие там порты для чего используются, какие датчики к этим портам подключены, и тогда компилятор уже соберет и подтянет правильные библиотеки, соберет правильную программу, и по сути ее через Wi-Fi удаленно загрузит на этот микроконтроллер обновление, и после этого Home Assistant сразу увидит уже эти устройства автоматически, и уже все датчики, все нужные библиотеки сразу корректно обрабатывают, это очень простой способ практически там в несколько нажатий кнопочек сделать устройство и его интегрировать прямо в экосистему, и причем всё будет работать вполне корректно.
Например у меня на базе такого микроконтроллера, правда там ESP32 используется, но это не суть важно, то есть там у меня как раз сделан еще BLE шлюз, то есть который позволяет по Bluetooth устройства разные подключать к этому микроконтроллеру, а он уже отправляет информацию в Home Assistant, и дальше я уже обрабатываю в системе умного дома с помощью разных скриптов или внутри этой системы уже все эти данные, и выполняю разные интересные сценарии связанные с этим, то есть это тоже очень просто и совсем несложно разобраться.
Новинки
Ну и даже сейчас также есть еще возможность покупать похожие микроконтроллеры, которые работают по Zigbee, сейчас пока полноценно нету для Arduino IDE библиотек для программирования, то есть там используется немножко другая платформа для программирования, и она в общем-то посложнее, но тоже можно уже купить другой микроконтроллер и уже прямо для Zigbee сетей делать полноценные разные устройства, то есть это тоже очень интересно, интересное направление, и конечно такие самодельные устройства они обладают гораздо большими возможностями, то есть не надо думать какие параметры там у заводского, пытаться как-то с ними ужиться, если там какие-то ограничения, что-то там работает с какой-то задержкой или как-то неправильно, то вроде как уже исправить очень сложно, а здесь можно спокойно переписать код, сделать так как надо, у меня например такие микроконтроллеры, программы, они совсем по другим сценариям работают они какую-то предварительную информацию тоже обрабатывают, а не просто там отправляют сразу всё в умный дом, то есть они гораздо быстрее в этом случае срабатывают, это тоже очень интересная вещь.
Датчики
И конечно сейчас еще для таких самодельных устройств очень много появляется новых интересных датчиков, например сейчас появился уже микроволновый датчик, который тоже полноценно можно подключить прямо к Arduino или ESP и уже тоже сделать нормальный датчик присутствия, которые в принципе по характеристикам будет такой же примерно как датчик от Tuya, то есть он в принципе будет видеть и расстояние до объекта показывать, и дальность действия у него тоже такая же примерно, там около 9 метров, то есть это полноценное устройство и стоит оно очень дешево, и конечно всегда можно еще и дождаться какой-то распродажи или купить какой-нибудь набор и будет тогда подешевле и действительно уже можно будет собрать устройство которое умеет и определять допустим по инфракрасному датчику движение, еще и плюсом по микроволновому датчику движения, и там еще какие-нибудь события обрабатывать, например освещенность в комнате или какие-то другие сценарии и это конечно очень сильно расширяет и двигает вперед в принципе всю эту текущую технологию, которая сейчас для умного дома используются, и не обязательно ждать пока там какие-то производители сделают свои новые датчики, это гораздо интереснее для умного дома.