- ESPHome. Установка → конфигурация → ESP8266 → Home Assistant
- Easily create you DIY IoT devices with ESP Home and Home Assistant
- Why ESP Home ?
- Getting started with ESP Home
- Create your first IoT device
- Home Assistant Подключение устройств
- Введение
- Добавление MQTT брокера
- Ручное добавление MQTT устройств
- Подготовка
- Подключение переключателя switch
- Подключение бинарного датчика
- Подключения датчик температуры
- Заключение
- Интеграция устройств прошитых прошивкой WiFi-IoT
ESPHome. Установка → конфигурация → ESP8266 → Home Assistant
Сегодня я рассмотрю еще один популярный тип прошивок для ESP плат, с которым познакомился буквально на днях. Есть свои особенности, плюсы и минусы, попытаемся разобраться во всем постепенно.
Translation to English is here . Также основной канал в telegram .
ESP платы стали сегодня, пожалуй, самым распространенным среди DIY сообщества контроллером. За сравнительно небольшие деньги можно сделать кучу проектов и все они становятся IoT благодаря встроенным беспроводным интерфейсам. Естественно, благодаря распространенности, под эти платы было создано бесчисленное множество проектов и конструкторов прошивок.
Ранее я или делал что-то в ESP easy:
Другие проекты я делал в среде Arduino с установленной поддержкой ESP:
И отдельное новогоднее спасибо создателям WLED:
И вот мы подошли к еще одному конструктору, о котором я много слышал, но не использовал, просто по тем или иным обстоятельствам. Знакомьтесь — ESPHome .
Если проекты, такие как Easy ESP уже включает в себя инструкции для работы с теми или иными компонентами, которые есть в списке поддерживаемых устройств, то ESP Home собирает прошивку под конкретное устройство с необходимыми компонентами, что усложняет вход для новичков, но расширяет границы применения многократно.
Возможно, я путаю, но раньше проекты собирались на сайте, но я еще раз повторю, что я могу путаться. Сейчас, для того чтобы собрать прошивку, потребуется установить соответствующее ПО себе на устройство. Я нашел 2 вида установки, в HA Supervisor и в Docker. Supervisor я не использую и не планирую т.к. не вижу в нем для себя никакой необходимости, а вот Docker очень даже облюбил, именно поэтому я и выбираю второй способ .
Начинаем читать инструкцию, для было странно увидеть команду:
Эта команда скачает последнюю версию контейнера, но ничего более.
Easily create you DIY IoT devices with ESP Home and Home Assistant
When I started to tinker with home automation and electronics a few years ago, it was common to use arduino cards to create DIY connected devices. You would then communicate with a central server to send and receive information. The communications were usually done using usb, ethernet (using an ethernet shield) or radio (2.4Ghz or 433Mhz) with projects like MySensors.
Most of the time these cards were programmed using the “Arduino language” which is quite close to C++. I kept this habit when I switched to use the esp8266/esp32 cards but in the meantime, awesome projects were developped to facilitate the development of this kind of devices, especially dedicated ecosystems like ESP-Easy, Tasmota and ESP Home, which is the project that I decided to use.
Why ESP Home ?
While Tasmota and ESP-Easy are “battery-included” firmwares that you flash on the esp board and then configure with a web ui, ESP Home compiles a firmware specially for your device based on a yaml configuration file that tells it which kind of technology (SPI, I2C, UART) and sensor (dht22, HC-SR04 …) you are using and on which pins they are accessible. It even allows you to manally add C++ code through “lambdas”. Another great point of ESP Home is the native integration to Home Assistant (a very powerful home automation system) so we can focus on actually creating our IoT device instead of bothering about communication with the server. So let’s get started !
Getting started with ESP Home
While this is not mandatory, I would recommend to install the ESP Home server using the docker image, which will facilitate the development of our devices with a user friendly web interface. (You can also skip this step and use directly ESP Home in CLI). So, I created the following docker-compose file to start the esphome dashboard and access it using traefik. I also decided to use ping instead of mdns to check for device status.
You now have access to your ESP Home dashboard and can create a new configuration by clicking on the “NEW DEVICE” button. You will then have to enter some information about your device and a default configuration will be generated.
You should have something like this. The captive_portal and ap configuration will allow you to reconfigure your device in case your wifi is no longer available. The “normal” connection to your wifi is configured with the ssid and password keys. The !secret refers to the data stored in the secrets section (in the top right corner of the ui). In there you can configure your wifi credentials like this:
You now have the basic configuration needed to flash your device, we will now add the specific configuration to register your sensors.
Create your first IoT device
Here’s the device that I will make: a simple display based on 4 8×8 matrices in a wooden enclosure painted in black.
The device will also have a photoresistor to adapt the brightness of the matrices and a row of 4 buttons to trigger some actions on home assistant. Everything is wired on a node mcu (with an esp8266).