Подключение датчика температуры Dallas DS18B20 к bluetooth-proxy ESPHome

Рассмотрим пример конфигурации для ESP32, которая позволит найти ID датчиков Dallas DS18B20 на шине 1-Wire.


Конфигурация ESPHome

Ниже приведён конфигурационный файл для ESPHome:

esphome:
  name: living-room             # Уникальное имя устройства.
  friendly_name: Гостиная        # Отображаемое имя устройства в интерфейсе.

esp32:
  board: esp32dev                # Плата, на которой выполняется прошивка.
  framework:
    type: arduino                # Используемый фреймворк (Arduino).

logger:
  level: DEBUG                   # Уровень логирования (DEBUG для вывода подробной информации).

api:
  encryption:
    key: "примерВашегоКлюча="    # Ключ для шифрования API соединения.

ota:
  password: "вашПарольПрошивки"  # Пароль для обновления прошивки по воздуху (OTA).

wifi:
  ssid: "примерСети"             # Имя вашей Wi-Fi сети.
  password: "примерПароля"       # Пароль от Wi-Fi.

esp32_ble_tracker:               # Подключение Bluetooth трекера.
  scan_parameters:
    interval: 1100ms             # Интервал сканирования BLE устройств.
    window: 1100ms               # Окно сканирования BLE устройств.
    active: true                 # Включение активного сканирования.

bluetooth_proxy:                 # Включение Bluetooth прокси.
  active: true

one_wire:
  - platform: gpio
    pin: GPIO15                  # Пин GPIO15 используется для шины 1-Wire.
    id: bus15                    # Уникальный идентификатор шины 1-Wire.

sensor:
  # Поиск датчика Dallas DS18B20.
  - platform: dallas_temp
    one_wire_id: bus15           # Привязка к шине 1-Wire.
    name: "Новый датчик"         # Временное название датчика.
    update_interval: 60s         # Интервал обновления данных (60 секунд).

Настройка устройства ESP32
Конфигурация задаёт параметры подключения устройства ESP32 к вашей Wi-Fi сети, а также включает возможность обновления прошивки по воздуху (OTA).

Шина 1-Wire для датчиков Dallas DS18B20

  • Указывается, что GPIO15 будет использоваться для подключения датчиков Dallas DS18B20 через интерфейс 1-Wire.
  • Добавлен временный датчик для поиска его ID.

Поиск датчиков Dallas DS18B20
Логирование (logger: DEBUG) позволяет отобразить в консоли ID всех подключённых датчиков Dallas на шине 1-Wire. Это ID понадобится для добавления датчиков в конфигурацию.

Bluetooth прокси
Включена функция Bluetooth прокси для отслеживания Bluetooth-устройств поблизости.


Как найти ID датчика?

После загрузки прошивки устройства:

  1. Подключитесь к устройству через ESPHome.
  2. В консоли начните отслеживать данные. Подключённый датчик Dallas выведет свой уникальный ID (например, 0xd101191b10374428).
  3. Скопируйте этот ID. Он понадобится для окончательной настройки датчика.

После определения ID датчика замените временный блок настройки на следующий:

sensor:
  - platform: dallas_temp
    address: 0xd101191b10374428  # Уникальный адрес датчика Dallas на шине 1-Wire.
    one_wire_id: bus15           # ID шины 1-Wire.
    name: "Датчик температуры"  # Название датчика, отображаемое в интерфейсе.
    accuracy_decimals: 1         # Точность измерений (1 знак после запятой).
    filters:
      - round: 1                 # Округление значения.
      - offset: 0.05             # Корректировка данных (+0.05).
    update_interval: 60s         # Интервал обновления данных.

После обновления конфигурации с добавленным датчиком и его уникальным ID, вы сможете видеть данные о температуре в интерфейсе вашего умного дома. В конфигурации можно настроить:

  • Округление значений.
  • Сдвиг данных для калибровки.
  • Периодичность обновления информации.

Этот подход позволяет легко добавлять новые датчики и быстро получать доступ к данным температуры из интерфейса ESPHome или Home Assistant.