Перейти до вмісту
    Без категорії / ESPHome з нуля: перший пристрій за годину без програмування

    ESPHome з нуля: перший пристрій за годину без програмування

    Оцініть цю публікацію!
    [Усього: 0 Середнє значення: 0]

    Ви можете створити повністю функціональний датчик температури та вологості, інтегрований з Home Assistant, менш ніж за годину, навіть не знаючи C++ або Python.

    Контекст і проблема

    Розробка розумного дому часто вимагає написання коду, що створює бар’єр для багатьох ентузіастів. Прості завдання, такі як збір даних з датчиків та їх передача в систему автоматизації, можуть займати години програмування, особливо якщо ви не знайомі з мікроконтролерами ESP32 та ESP8266. Навіть використання Arduino IDE вимагає розуміння базової структури скетчів та бібліотек.

    Практична реалізація

    ESPHome – це фреймворк, який дозволяє конфігурувати пристрої на ESP32/ESP8266 за допомогою YAML-файлів, позбавляючи вас від необхідності писати код. Ми створимо простий датчик температури та вологості, який буде передавати дані в Home Assistant.

    Перший крок – встановлення Home Assistant та ESPHome add-on. Завантажте та встановіть Home Assistant Supervised на будь-яку платформу (Raspberry Pi, віртуальна машина, тощо). Далі, в Home Assistant, перейдіть до Add-on Store та встановіть ESPHome.

    # esphome.yaml
    esphome:
      name: my_temperature_sensor
      platform: ESP32
      board: esp32dev
    
    wifi:
      ssid: "YOUR_WIFI_SSID"
      password: "YOUR_WIFI_PASSWORD"
    
    api:
      password: "YOUR_API_PASSWORD"
    
    sensor:
      - platform: dht
        pin: GPIO4
        model: DHT22
        update_interval: 60s
        name: "Temperature & Humidity"
        unit_of_measurement: "°C"
        accuracy_decimals: 1
        filters:
          - sliding_window_moving_average:
              window_size: 60
              weighting: 0.5
      
    logger:
      level: INFO
    
    status_led:
      pin: GPIO2
    

    У цьому YAML-файлі ми визначаємо ім’я пристрою (`my_temperature_sensor`), платформу (`ESP32`), назву дошки (`esp32dev`), налаштування Wi-Fi, API для віддаленого доступу та датчик DHT22, підключений до GPIO4. `update_interval` встановлює інтервал оновлення даних у 60 секунд. `filters` застосовує ковзне вікно для згладжування даних. Переконайтесь, що замінили `YOUR_WIFI_SSID`, `YOUR_WIFI_PASSWORD` та `YOUR_API_PASSWORD` на ваші власні значення.

    Наступний крок – завантаження файлу `esphome.yaml` на ESP32. Ви можете завантажити файл через веб-інтерфейс ESPHome в Home Assistant або за допомогою CLI. Після завантаження ESPHome скомпілює конфігурацію та прошиє пристрій.

    Типові помилки

    • Неправильний SSID/Пароль Wi-Fi: Пристрій не підключиться до мережі, і ви не побачите його в Home Assistant. Перевірте SSID та пароль на предмет помилок. Помилка часто проявляється у вигляді помилок з’єднання у логах ESPHome.
    • Неправильний вибір дошки: Якщо ви використовуєте іншу дошку ESP32, ніж `esp32dev`, датчик може не працювати правильно або взагалі не працювати. Виберіть правильну дошку для вашого пристрою в конфігурації.
    • Неправильний номер піна датчика: Датчик DHT22 може бути підключений до іншого піна. Переконайтесь, що номер піна у файлі `esphome.yaml` відповідає реальному підключенню.

    Результат

    Після успішного прошивання пристрій з’явиться в Home Assistant. Ви зможете бачити дані температури та вологості в реальному часі та використовувати їх для автоматизації. Наприклад, ви можете створити сповіщення, якщо температура перевищить 25°C, або автоматично ввімкнути кондиціонер, якщо вологість стане занадто високою. Час від першого YAML файлу до відображення даних у Home Assistant – в середньому 10-15 хвилин, включаючи час компіляції та прошивки.

    Спробуйте зараз – завантажте Home Assistant, ESPHome та створіть свій перший пристрій!

    Залишити відповідь

    Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *