За 60 хвилин можна розгорнути повністю функціональний датчик температури з ESP32 та Home Assistant без написання жодного рядка коду на C++ або Python.
Контекст і проблема
Багато ентузіастів розумного дому стикаються з бар’єром програмування при створенні власних пристроїв на ESP32 або ESP8266. Налаштування Wi-Fi, обробка даних з датчиків, інтеграція з Home Assistant – все це вимагає знань C++ та специфіки мікроконтролерів. Час на розробку одного простого датчика може варіюватися від 8 до 24 годин, що робить DIY непрактичним для багатьох.
Практична реалізація
ESPHome дозволяє створити пристрій, використовуючи YAML-конфігурацію, що значно спрощує процес. Нам знадобиться: ESP32 плата, USB-кабель для програмування, Home Assistant встановлений та працюючий, та текстовий редактор.
Перший крок – створення нового YAML файлу для ESPHome. Наприклад, `temperature_sensor.yaml`. В ньому розміщуємо конфігурацію:
yaml
esphome:
name: temperature_sensor
platform: ESP32
board: esp32dev
wifi:
ssid: "YOUR_WIFI_SSID"
password: "YOUR_WIFI_PASSWORD"
api:
password: "YOUR_API_PASSWORD"
ota:
password: "YOUR_OTA_PASSWORD"
sensor:
- platform: dht
pin: GPIO4
model: DHT22
update_interval: 60s
name: "Температура та вологість"
unit_of_measurement: "°C"
accuracy_decimals: 1
filters:
- sliding_window_moving_average:
window_size: 60
send_every: 60s
logger:
level: INFO
status_led:
pin: GPIO2
В цьому прикладі ми визначаємо назву пристрою (`temperature_sensor`), платформу (`ESP32`), налаштовуємо Wi-Fi з використанням ваших облікових даних, додаємо API для віддаленого керування та OTA (Over-The-Air) оновлення для зручності. Ключовим є секція `sensor`, де ми визначаємо датчик DHT22 на GPIO4, встановлюємо інтервал оновлення 60 секунд та застосовуємо фільтр для згладжування даних.
Подальші дії: Завантажте `ESPHome` через pip: `pip install esphome`. Підключіть ESP32 до комп’ютера. В терміналі перейдіть до каталогу з YAML файлом та запустіть команду `esphome run temperature_sensor.yaml`. ESPHome скомпілює конфігурацію та прошиє пристрій.
Типові помилки
- Неправильні облікові дані Wi-Fi: Пристрій не з’єднається з мережею, якщо SSID або пароль вказані невірно. Перевірте їх ще раз, використовуючи `esphome status` для перевірки.
- Неправильний вибір GPIO: Датчик не працюватиме, якщо GPIO піни неправильно підключені. Перевірте схему підключення та конфігурацію у YAML.
- Сумісність датчиків: Переконайтеся, що обраний тип датчика (DHT22, BME280, тощо) правильно вказаний у конфігурації, і що він підтримується ESPHome. Неправильний тип може призвести до невірних показників.
Результат
Після успішного прошивання пристрій з’явиться в Home Assistant як готовий до використання компонент. Дані температури та вологості будуть відображатись на панелі керування, і ви зможете автоматизувати дії на основі цих даних. Наприклад, можна автоматично вмикати опалення, якщо температура опуститься нижче 20°C. Тепер ви можете створити свій перший пристрій розумного дому за 60 хвилин, не будуючи складних програм.
Почніть з налаштування Wi-Fi на вашому ESP32 пристрої вже сьогодні!