Do It Yourself?

Конечно, создать систему умного дома можно самостоятельно. Для этого существует множество микроконтроллеров, модулей и готовых устройств, которые можно комбинировать в любой логике работы. Один из первых вопросов при построении IoT-системы — выбор способа коммуникации с сетью.

Популярные коммуникационные модули

  • Модули на частотах 433 МГц и 868 МГц — маломощные радиомодули с устойчивым покрытием и хорошим проникновением сигнала через препятствия.

    • Преимущества: чем ниже несущая частота, тем увереннее приём даже через бетонные перекрытия; низкое энергопотребление.
    • Недостатки: при одновременной передаче несколькими устройствами необходимо программно решать проблему коллизий; низкая скорость передачи данных.
    • Примеры: модули серии NRF (Nordic Semiconductor), SX127x.
  • LoRa (Long Range) — специализированные модули для связи на значительные расстояния (до нескольких километров в прямой видимости).

    • Преимущества: большая дальность, низкое энергопотребление, помехоустойчивость.
    • Недостатки: очень низкая скорость обмена данными, не подходит для передачи объёмных данных или видео.
  • Raspberry Pi Pico (RP2040) — микроконтроллер с высокой частотой тактирования, поддержкой программирования на MicroPython и C++.

    • Преимущества: гибкость разработки, низкая стоимость, наличие встроенного интерфейса USB.
    • Недостатки: отсутствие встроенного Wi-Fi/Bluetooth в базовой версии (требуется внешний модуль), меньшее количество готовых решений для умного дома по сравнению с ESP.
  • ESP (Espressif Systems) — семейство модулей, изначально разработанных для применения в IoT.

    • Поддержка: Wi-Fi 2.4 ГГц, Bluetooth / BLE (в моделях ESP32), в новых версиях — Wi-Fi 5 ГГц.
    • Преимущества: богатая экосистема, низкая стоимость, активное сообщество, поддержка популярных фреймворков (ESPHome, Tasmota, Arduino, ESP-IDF).
    • Недостатки: относительно высокое энергопотребление в активном режиме.

С нуля или на базе существующего проекта?

При самостоятельной разработке важно решить: начинать с чистого листа или присоединиться к существующему проекту.

  • Свой проект с нуля:

    • Плюсы: полная свобода в выборе архитектуры, стека технологий и функционала.
    • Минусы: необходимо продумывать все нюансы самостоятельно, включая безопасность, масштабируемость и отказоустойчивость; желательно сформировать сообщество единомышленников для обмена идеями и тестирования.
  • Использование готового решения:

    • Плюсы: доступ к отлаженным компонентам, документации и поддержке сообщества; ускорение разработки.
    • Минусы: возможные ограничения в кастомизации, зависимость от дорожной карты проекта.

Сравнение экосистем популярных платформ

  • Nordic Semiconductor (nRF): существуют отдельные решения и библиотеки, особенно для BLE-устройств; сообщество активно, но меньше, чем у ESP.
  • Raspberry Pi Pico: хорошее сообщество и документация, однако готовых решений именно для умного дома пока меньше; отсутствуют широко распространённые отлаженные фреймворки уровня ESPHome.
  • ESP (Espressif): безусловный лидер по количеству адаптированных сенсоров, фреймворков, компиляторов и размеру сообщества. Особого внимания заслуживают проекты ESPHome и Tasmota, которые значительно упрощают разработку и развёртывание IoT-устройств.

Аналогичная ситуация наблюдается и с программным обеспечением для управления: для ESP доступно наибольшее количество интеграций с домашними автоматизациями (Home Assistant, OpenHAB, Node-RED и др.).

Что предлагает рынок

Обычно купленное где либо умное устройство настроено на работу с облачным сервисом производителя.

Получается ситуация, где одни устройства требуют использовать одно приложение, другие совершенно другое и приходится переключаться между ними. К тому же на каждом облачном сервисе есть первональные данные пользователя, защита не иммет надежной гарантии и при массовом взломе сервиса управление устройствами может быть в руках третьих лиц.

Очень часто такие решения "все-в-одном" стоят больших денег. И может оказаться, что ранее купленный кондиционер другого производителя абсолютно не совместим с новыми устройствами. А у нового кондиционера отсуствуют функции как у старого.

Устройства, позволяющие использовать открытый сервис или адоптированые для работы с открытым сервисом обычно соединяются локально. Для коммуникации между собой использует брокер сообщений (к примеру MQTT). Единое приложение тоже использует брокер сообщений, отлично работает в локальной сети, но может иметь выход на какой нибудь облачный сервис, или предоставлять возможность подключаться из глобальной сети, или сам брокер может быть подключен к облачному сервису. И тогда приложений по управлению тоже может быть множество.

При примении устройств ZigBee между устройствами настраивается MESH сеть, когда устройства соединено с другим не на прямую, а через посредника, которым выступает еще одно устройство. Для соединения этих устройств с общей сетью применяется ZigBee-Bridge. В случае применения MQTT такие устройства не будут отличаться от всех других и так же будут прозрачно управляться из любой настроенной для этого программы.


SmartHome
ESPhome