prefixkit Вопрос инженеруСпросить Поддержать EN

Умный дом

Bluetooth-прокси на ESP32

Как сделать Bluetooth-прокси из платы ESP32 за 5 долларов: Home Assistant получает данные BLE-термометров Xiaomi, датчиков растений, замков SwitchBot по всему дому. Готовый конфиг ESPHome для ESP32, C3 и S3.

ESP32 DevKit (ESP32-WROOM-32)
esphome:
  name: bluetooth-proxy
  friendly_name: "Bluetooth proxy"

esp32:
  board: esp32dev
  framework:
    type: esp-idf

logger:
api:
  encryption:
    key: !secret api_key
ota:
  - platform: esphome
    password: !secret ota_password
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap: {}
captive_portal:

esp32_ble_tracker:
  scan_parameters:
    active: true

bluetooth_proxy:
  active: true

button:
  - platform: restart
    name: "Restart"
ESP32-C3 (DevKitM-1, SuperMini)
esphome:
  name: bluetooth-proxy
  friendly_name: "Bluetooth proxy"

esp32:
  board: esp32-c3-devkitm-1
  framework:
    type: esp-idf

logger:
api:
  encryption:
    key: !secret api_key
ota:
  - platform: esphome
    password: !secret ota_password
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap: {}
captive_portal:

esp32_ble_tracker:
  scan_parameters:
    active: true

bluetooth_proxy:
  active: true

button:
  - platform: restart
    name: "Restart"
ESP32-S3 DevKitC-1
esphome:
  name: bluetooth-proxy
  friendly_name: "Bluetooth proxy"

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: esp-idf

logger:
api:
  encryption:
    key: !secret api_key
ota:
  - platform: esphome
    password: !secret ota_password
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap: {}
captive_portal:

esp32_ble_tracker:
  scan_parameters:
    active: true

bluetooth_proxy:
  active: true

button:
  - platform: restart
    name: "Restart"

Ключи и пароль Wi-Fi берутся из secrets.yaml в ESPHome. Нужны другие датчики на той же плате — добавьте «Bluetooth-прокси» в генераторе ESPHome.

Зачем это нужно

У Bluetooth маленькая дальность: адаптер сервера слышит датчики в одной-двух комнатах. Прокси на ESP32 ловит BLE-устройства рядом с собой и передаёт их Home Assistant по Wi-Fi. Несколько прокси по дому — и Bluetooth работает везде. Home Assistant находит прокси сам и сразу начинает через него слушать; активный режим (active: true) позволяет ещё и подключаться к устройствам — замкам, лампам, кнопкам.

Советы

  • Нужен именно ESP32 (обычный, C3 или S3): у ESP8266 нет Bluetooth.
  • Wi-Fi и Bluetooth делят один радиоканал: в одной плате с прокси держите только простые датчики, без камер и тяжёлой логики.
  • Самые стабильные прокси — на платах с Ethernet (Olimex ESP32-POE, WT32-ETH01): готовые прошивки для них есть на сайте ESPHome в разделе Bluetooth Proxy.
  • Какие пины свободны — распиновка ESP32.

Что купить

ESP32: AliExpress · ESP32-C3: AliExpress · BLE-термометр: AliExpress

Ссылки ведут на поиск в магазинах; часть ссылок партнёрские — покупка по ним ничего не стоит вам и поддерживает сайт. Мы не продаём устройства и не получаем их от производителей.

Идея?