Предыдущая статья: Мой умный дом на ESP8266, часть 2
Прошивка ESP8266
Прошивать мы будем прошивкой ESP Easy. Эта прошивка простая. Там интуитивно понятно что и как настраивать. Сразу видно где прописать связь с MQTT-брокером. И видно где размещать подключаемые к микроконтроллеру устройства. В настройках устройств легко найти галочку для связи с MQTT-брокером посылать сигналы.
Как именно прошивать я рассказывать не буду. Этого материала полно в интернете. Тем более что разные модификации ESP8266 можно прошивать по-разному. Найдите гайд по прошивке именно вашего устройства и прошейте ESP Easy.
На странице последнего релиза ESP Easy скачайте файл «espeasy_esp82xx_mega-20210223.zip»:
В файле есть программа прошивальщик. При ее запуске можно выбрать конкретную прошивку, например normal и COM-порт, на котором находится в вашем устройстве. И после этого нажмите кнопку Прошить. В общем подробности этого процесса вы найдете в интернете. Если не получится, то обращайтесь ко мне.
После прошивки и настройки Wi-Fi на устройстве вы сможете заходить через браузер в интерфейс прошивки прямо набрав адрес устройства в браузере. Начнем с I2C.
Настройка I2C
Для начала настроим протокол I2C. По умолчанию для подключения устройств к контроллеру по этой шине используются пины 4 и 5. Нам же нужны другие пины. Заходим в раздел Hardware и меняем эти настройки:
Настройка связи с MQTT-брокером
В разделе Controllers прошивки ESP Easy можно прописать связь микроконтроллера ESP8266 с тремя серверами. Мы пока добавим связь с одним сервером, а именно с нашим MQTT-брокером. По большому счету одного этого брокера достаточно практически для всех нужд умного дома.
Выбираем протокол Home Assistent. Почему именно его? Об этом написано в статье Термометр на ESP8266 с прошивкой ESP Easy на сайте веб-сервиса WQTT.ru. А так протокол выбирается в соответствии с выбранным сервером.
Далее прописываем адрес и порт нашего брокера, логин и пароль доступа. И указываем такие флажки как Will Retain и Enabled. Флажок Will Retain позволит брокеру запоминать последние опубликованные сообщения и таким образом состояние вашего умного дома будет хранится именно на брокере.
Настройка кнопки
Переходим в раздел Devices прошивки ESP Easy. И размещаем информацию о кнопке:
Состояние кнопки мы не будем использовать. Нам важен лишь факт ее нажатия. А вот включить или выключить лампу будем решать на основании ее текущего состояния, которое хранится в MQTT-брокере. Эта логика будет позже прописана в Node RED.
Датчик атмосферного давления BMP085
В том же разделе добавляем датчик давления:
Напомню, этот датчик связан с микроконтроллером по шине I2C, поэтому пины не нужно указывать. Они выше были указаны. В настройках мы укажем интервал отправки значений датчика 200 сек. И поставим галочку напротив Send to Controller, что заставит микроконтроллер отправлять значения датчиков на контроллер номер 1 (см. черный кружочек с числом).
Для значения Pressure добавим формулу пересчета из гигапаскалей в мм.рт.ст.
Датчик влажности DHT11
Датчик влажности будет размещен на пине GPIO14. Настройки для датчика тривиальные:
Проверка
Итого страница Controllers должна выглядеть так:
А страница Devices так:
В колонке Values будут видны считываемые показания датчиков.
Если все сделано правильно, то на сервере WQTT.ru мы увидим, что значения уже передаются:
В следующей статье настроим последний компонент Node RED.
Ответы на вопросы
Проблема в вашей схеме в том, что без интернета весь ваш умный дом превратится в тыкву
Вижу метеостанцию на Node-Red. Умный дом не вижу…
Не совсем вопрос, но стоит сделать замечание. Пока нет цели сделать правильно, надежно, профессионально. Пока цель простая - стартовать. Есть простые требования (в первой статье). И данная простая схема (действительно похожа на простую метеостанцию с кнопкой) как раз удовлетворяет всем требованиям и дает возможность стартовать.
Подскажите, а не рассматривали другие прошивки?
Рассматривал. Под требования не подходят. Я не отрицаю их использование, но они более сложные для понимания. ESP Easy в этом плане просто как пенек. Даже достаточно взглянуть на его веб-интерфейс и мне, далекому от МК-темы, сразу понятно что к чему и как настраивать.
датчики DHT11 просто отвратительны
Датчик DHT11 взят для примера. Тут главное что требования выполнены. А уж какие датчики подключать - дело вкуса.
который может начать глючить и отваливаться, если подключать кучу датчиков по WiFi
В комментариях отписался человек, который посадил на свой роутер 11 контроллеров ESP. И все работает.