Концепция умного домаСтатья посвящена краткому описанию концепций, которых я придерживаюсь при создании умного дома в своей квартире. Опубликовано: 06.12.2022 Обновлено: 06.12.2022 Проект: smart-home #iot#smart-home С чего все началось Когда у меня появилась собственная квартира, я захотел сделать максимально удобным проживание в ней. В то же время на рынке начало появляться множество различных решений для автоматизации рутинных домашних задач. К примеру, ежедневную уборку заменили роботы-пылесосы. Анализируя их возможности и ограничения (к сожалению до сих пор их очень много), я приступил к проработке собственного “идеального” концепта умного дома. И сразу же столкнулся с рядом технических проблем в большинстве устройств. Почти все они завязаны на работу с глобальным, централизованным сервером. Примером таких устройств являются умные лампы Yeelight, устройства линейки Tuya и т.п. Каждое устройство одного производителя добавляется, настраивается и управляется через единое приложение. Некоторые приложения поддерживают (частично) сторонние устройства. Но все взаимодействие придерживается логике: приложение -> сервер -> устройство. Редко бывает так, что устройство работает напрямую с приложением (по bluetooth). Последний тренд компаний - обязательная авторизация… Это еще одна проблема, с которой я столкнулся. Невозможно создать одну учетную запись и использовать ее во всех приложениях… Манифест “умного дома” Для себя я решил, что устройства должны работать через Wi-Fi. Я хорошо знаком с семейством контроллеров ESP8266 и ESP32. Так же представляю возможности сетевых протоколов и физической работы Wi-Fi. Сети на базе bluetooth я не рассматриваю из-за дороговизны, малой распространенности и общей закрытости устройства. Zigbee так же показался мне недостаточно развит, он так же на порядок дороже, чем Wi-Fi, и представлен в виде десятка производителей, не все из которых поддерживают перепрошивку на сторонний софт. Из этого родились следующие требования к системе: Работа через Wi-Fi Легкая настройка соединения с Wi-Fi Работоспособность при полном отсутствии Wi-Fi (в чистом поле) Использование Wi-Fi для информирования об изменениях Использование Wi-Fi для полной возможности управления Возможность автоматического обновления глобальной информации (время/дата/погода) автономно, без использования промежуточного сервера Выход из строя устройства не влияет на работу других устройств Любое устройство можно заменить его простым аналогом в течение короткого времени (умный выключатель легко поменять на обычный выключатель) Устройство не должно выполнять больше одной функции, для которой оно создавалось (выключатель не должен отслеживать время суток для корректной работы) Если устройство предоставляет дополнительную информацию о себе, но это не основная его обязанность, то эта информация не может быть использована как основа для работы других устройств (пример: настольная лампа может измерить температуру, на основе которой работает кондиционер) Так же я определил для себя дополнительные требования, не являющиеся обязательными, но желательными, если они возможны: У каждого устройства есть свой web интерфейс, работающий автономно Каждое устройство умеет создавать автономную точку доступа Каждое устройство предусматривает возможность общения по одному из IoT протоколов (Rest API, MQTT и т.п.) Что удовлетворяет этим требованиям Как упоминалось выше, я знаком с контролерами ESP8266 и ESP32. Для этих контроллеров существует SDK и несколько готовых открытых прошивок: ESPHome, ESPEasy и Tasmota. Я остановился на последней. Это обусловлено большой базой поддерживаемых устройств. А так же эта прошивка позволяет гибко настраивать контроллер и тем самым использовать его в любых устройствах. Сама концепция проекта предполагает автономное использование устройства. Большинство устройств имеют минимально необходимую функциональность. Все это сделало возможным дальнейшее развитие своей идеи умного дома.