Интеграция датчика давления воды PT-506 (24В) с ESP8266 NodeMCU v3 и Home Assistant

Автор Itworkroom

water_pressure_sensorДатчик давления воды PT-506 (24В) — это устройство, которое измеряет давление воды и предоставляет выходной сигнал в виде напряжения (10-33В постоянного тока). В этом руководстве мы рассмотрим, как подключить этот датчик к микроконтроллеру ESP8266 NodeMCU v3, настроить прошивку с помощью ESPHome и интегрировать устройство с Home Assistant для мониторинга давления воды.


Компоненты, необходимые для проекта:

  1. Датчик давления воды PT-506 (24В):
    • Устройство, которое измеряет давление воды и выдает выходной сигнал в виде напряжения (10-33В).
  2. Микроконтроллер ESP8266 NodeMCU v3:
    • Бюджетный микроконтроллер с Wi-Fi, который позволяет передавать данные с датчика в Home Assistant.
  3. Делитель напряжения:
    • Резисторы для создания делителя напряжения (например, 10 кОм и 22 кОм), чтобы снизить напряжение до уровня, безопасного для ESP8266 (0-3.3В).
  4. Провода для подключения.

Шаг 1: Подключение датчика PT-506 к ESP8266

Датчик PT-506 выдает напряжение в диапазоне 10-33В, что превышает допустимый диапазон ESP8266 (0-3.3В). Поэтому необходимо использовать делитель напряжения, чтобы снизить напряжение до безопасного уровня.

Схема подключения:

  1. Подключите выходной сигнал датчика PT-506 к одному концу резистора R1 (например, 22 кОм).
  2. Другой конец резистора R1 подключите к аналоговому входу ESP8266 (например, A0).
  3. Подключите резистор R2 (например, 10 кОм) между аналоговым входом ESP8266 и GND.
  4. Подключите общий провод (GND) датчика и ESP8266.

Пример схемы:

PT-506 (Vout) --- [22 кОм] --- A0 (ESP8266) --- [10 кОм] --- GND

Шаг 2: Настройка прошивки с помощью ESPHome

ESPHome — это удобный инструмент для создания прошивки для устройств на базе ESP8266 и ESP32. Мы будем использовать его для настройки ESP8266 для работы с датчиком PT-506.

Установка ESPHome:

  1. Установите ESPHome в Home Assistant:
    • Перейдите в “Настройки” > “Дополнения” > “Добавить сторонний репозиторий”.
    • Введите URL репозитория ESPHome: https://github.com/esphome/home-assistant-addon.
    • Установите дополнение ESPHome.
  2. Откройте ESPHome через веб-интерфейс Home Assistant или командную строку.

Создание конфигурации ESPHome:

  1. Откройте ESPHome и создайте новый проект для вашего устройства.
  2. Выберите тип устройства: ESP8266.
  3. В разделе “Configuration” вставьте следующий код:
esphome:
  name: water_pressure_sensor
  platform: ESP8266
  board: nodemcuv2

wifi:
  ssid: "your_SSID"
  password: "your_PASSWORD"

# Enable logging
logger:

# Enable Home Assistant API
api:

# ADC sensor configuration
sensor:
  - platform: adc
    pin: A0
    name: "Water Pressure"
    unit_of_measurement: "PSI"
    filters:
      - calibrate_linear:
          - 0.0 -> 0.0 # Минимальное значение (настройте под свой датчик)
          - 3.3 -> 150.0 # Максимальное значение (настройте под свой датчик)
    update_interval: 10s
  1. Настройте параметры calibrate_linear в зависимости от диапазона вашего датчика. Например, если датчик измеряет давление от 0 до 150 PSI, а выходное напряжение меняется от 10 до 33В, используйте следующие значения:
    • 0.0 -> 0.0 (минимальное значение).
    • 3.3 -> 150.0 (максимальное значение).
  2. Сохраните конфигурацию и загрузите её на ESP8266 через USB.

Шаг 3: Интеграция с Home Assistant

После загрузки прошивки ESPHome на ваше устройство, оно автоматически появится в Home Assistant.

Настройка дашборда в Home Assistant:

  1. Перейдите в “Настройки” > “Устройства и службы”.
  2. Найдите ваше устройство (например, water_pressure_sensor) и добавьте его.
  3. Создайте дашборд для отображения данных с датчика:
    • Перейдите в “Настройки” > “Дашборды” > “Создать дашборд”.
    • Добавьте карточку “График” или “Число” для отображения давления воды.

Пример конфигурации дашборда:

type: picture-elements
image: /local/background.jpg
elements:
  - type: gauge
    entity: sensor.water_pressure
    name: Давление воды
    min: 0
    max: 150
    unit: PSI
    style:
      top: 50%
      left: 50%

Шаг 4: Настройка автоматизаций

Вы можете создать автоматизации в Home Assistant для отправки уведомлений, если давление воды выходит за допустимые пределы.

Пример автоматизации:

alias: Low Water Pressure Alert
description: Отправить уведомление, если давление воды ниже 30 PSI
trigger:
  - platform: numeric_state
    entity_id: sensor.water_pressure
    below: 30
action:
  - service: notify.notify
    data:
      message: "Давление воды ниже нормы: {{ states('sensor.water_pressure') }} PSI!"

Также пример полезной автоматизации: это отключение насоса воды при отсутствии давления в системе более 10 сек. В данной автоматизации необходимо дополнительное устройство в виде wifi \ zigbee реле или din автомата для отключения конечного устройства.

One comment on “Интеграция датчика давления воды PT-506 (24В) с ESP8266 NodeMCU v3 и Home Assistant

  1. Подробнее бы, какой датчик купить, какой 8266 использовался и на какую ногу цеплял. В коде указана пин 34, а на фотке вроде wemos d1 mini, у которого нет такой ноги.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *