Мой умный дом на ESP8266, часть 3

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Предыдущая статья: Мой умный дом на ESP8266, часть 2

Прошивка ESP8266

Прошивать мы будем прошивкой ESP Easy. Эта прошивка простая. Там интуитивно понятно что и как настраивать. Сразу видно где прописать связь с MQTT-брокером. И видно где размещать подключаемые к микроконтроллеру устройства. В настройках устройств легко найти галочку для связи с MQTT-брокером посылать сигналы.

Как именно прошивать я рассказывать не буду. Этого материала полно в интернете. Тем более что разные модификации ESP8266 можно прошивать по-разному. Найдите гайд по прошивке именно вашего устройства и прошейте ESP Easy.

На странице последнего релиза ESP Easy скачайте файл «espeasy_esp82xx_mega-20210223.zip»:

Релиз ESP Easy
Релиз ESP Easy

В файле есть программа прошивальщик. При ее запуске можно выбрать конкретную прошивку, например normal и COM-порт, на котором находится в вашем устройстве. И после этого нажмите кнопку Прошить. В общем подробности этого процесса вы найдете в интернете. Если не получится, то обращайтесь ко мне.

После прошивки и настройки Wi-Fi на устройстве вы сможете заходить через браузер в интерфейс прошивки прямо набрав адрес устройства в браузере. Начнем с I2C.

Настройка I2C

Для начала настроим протокол I2C. По умолчанию для подключения устройств к контроллеру по этой шине используются пины 4 и 5. Нам же нужны другие пины. Заходим в раздел Hardware и меняем эти настройки:

Указание пинов для I2C-протокола
Указание пинов для I2C-протокола

Настройка связи с MQTT-брокером

В разделе Controllers прошивки ESP Easy можно прописать связь микроконтроллера ESP8266 с тремя серверами. Мы пока добавим связь с одним сервером, а именно с нашим MQTT-брокером. По большому счету одного этого брокера достаточно практически для всех нужд умного дома.

Связь с MQTT-брокером
Связь с MQTT-брокером

Выбираем протокол Home Assistent. Почему именно его? Об этом написано в статье Термометр на ESP8266 с прошивкой ESP Easy на сайте веб-сервиса WQTT.ru. А так протокол выбирается в соответствии с выбранным сервером.

Далее прописываем адрес и порт нашего брокера, логин и пароль доступа. И указываем такие флажки как Will Retain и Enabled. Флажок Will Retain позволит брокеру запоминать последние опубликованные сообщения и таким образом состояние вашего умного дома будет хранится именно на брокере.

Настройка важных флажков
Настройка важных флажков

Настройка кнопки

Переходим в раздел Devices прошивки ESP Easy. И размещаем информацию о кнопке:

Кнопка будет подключена к пину GPIO4
Кнопка будет подключена к пину GPIO4

Состояние кнопки мы не будем использовать. Нам важен лишь факт ее нажатия. А вот включить или выключить лампу будем решать на основании ее текущего состояния, которое хранится в MQTT-брокере. Эта логика будет позже прописана в Node RED.

Датчик атмосферного давления BMP085

В том же разделе добавляем датчик давления:

Напомню, этот датчик связан с микроконтроллером по шине I2C, поэтому пины не нужно указывать. Они выше были указаны. В настройках мы укажем интервал отправки значений датчика 200 сек. И поставим галочку напротив Send to Controller, что заставит микроконтроллер отправлять значения датчиков на контроллер номер 1 (см. черный кружочек с числом).

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

Датчик влажности DHT11

Датчик влажности будет размещен на пине GPIO14. Настройки для датчика тривиальные:

Настройки датчика влажности DHT11
Настройки датчика влажности DHT11

Проверка

Итого страница Controllers должна выглядеть так:

Контроллеры
Контроллеры

А страница Devices так:

В колонке Values будут видны считываемые показания датчиков.

Если все сделано правильно, то на сервере WQTT.ru мы увидим, что значения уже передаются:

В следующей статье настроим последний компонент Node RED.

Ответы на вопросы

Проблема в вашей схеме в том, что без интернета весь ваш умный дом превратится в тыкву

Вижу метеостанцию на Node-Red. Умный дом не вижу…

Не совсем вопрос, но стоит сделать замечание. Пока нет цели сделать правильно, надежно, профессионально. Пока цель простая - стартовать. Есть простые требования (в первой статье). И данная простая схема (действительно похожа на простую метеостанцию с кнопкой) как раз удовлетворяет всем требованиям и дает возможность стартовать.

Подскажите, а не рассматривали другие прошивки?

Рассматривал. Под требования не подходят. Я не отрицаю их использование, но они более сложные для понимания. ESP Easy в этом плане просто как пенек. Даже достаточно взглянуть на его веб-интерфейс и мне, далекому от МК-темы, сразу понятно что к чему и как настраивать.

датчики DHT11 просто отвратительны

Датчик DHT11 взят для примера. Тут главное что требования выполнены. А уж какие датчики подключать - дело вкуса.

который может начать глючить и отваливаться, если подключать кучу датчиков по WiFi

В комментариях отписался человек, который посадил на свой роутер 11 контроллеров ESP. И все работает.

Источник: https://habr.com/ru/post/545904/


Интересные статьи

Интересные статьи

В первой, второй и третьей частях мои коллеги рассказали, как и почему мы распиливали монолит. Если коротко, то мы создали решение, которое позволило в рамках одной ...
Проект строился на базе достаточно известного в своих кругах другого проекта — linorobot (linorobot.org), при этом использовались доступные простому обывателю компоненты. Цели, которы...
Это заключительная часть лаконичной интерпретации документации по Flutter, которая будет полезна Xamarin.Forms-разработчикам. Учитывая текущую ситуацию, сейчас самое время изучать что-то новое! П...
Для одних Ким Дотком, основатель скандально известного файлообменника «MegaUpload», преступник и интернет-пират, для других — несгибаемый борец за неприкосновенность персональных данных. 12 марта...
В этот раз заглянем чуть глубже в реализацию некоторых ключевых методов библиотеки для ARDUINO (AVR), отвечающих за перемещение робота MIRO. Эта часть будет интересна всем, кто задавался вопр...