• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Мост BLE-Wi-fi

aloika

Active member
А расскажите, кто знает - как можно сделать мост BLE-Wi-Fi, чтобы BLE-девайсом управлять через какой-нибудь умный дом?
Я нашел пока только Home Assistant в связке с ESPHome, там что-то даже работает. Но пока там у меня больше вопросов, чем ответов, но какие-то возможности там есть. Может, кто-то что-то уже делал, может, какие-то другие подходы есть?

Код:
substitutions:
  name: ble-client
  platform: ESP32
  board: esp-wrover-kit

esphome:
  name: $name
  platform: $platform
  board: $board

wifi:
  ssid: '***'
  password: *******
 

# Fallback portal
captive_portal:
# Logging
logger:
# Uncomment this if you use Home Assistant
api:


ota:


    
esp32_ble_tracker:
  scan_parameters:
    interval: 300ms
    window: 300ms
    active: true

 

ble_client:
  - mac_address: A4:C1:38:3D:E2:FF
    id: SWBDdrv_mc5
    on_connect:
      then:
        - lambda: |-
            ESP_LOGD("ble_client_lambda", "Connected to BLE device");
    on_disconnect:
      then:
        - lambda: |-
            ESP_LOGD("ble_client_lambda", "Disconnected from BLE device");

text_sensor:
  - platform: ble_client
    ble_client_id: SWBDdrv_mc5
    name: "Read from swingbed"
    service_uuid: 'ffe0'
    characteristic_uuid: 'ffe1'
    notify: true
#  - platform: ble_scanner
#    name: "BLE Devices Scanner"   

switch:
  - platform: template
    name: "Bed verlichting"
    id: bed_verlichting
    icon: "mdi:lightbulb-outline"
    optimistic: true
    turn_on_action:
      - ble_client.ble_write:
          id: SWBDdrv_mc5
          service_uuid: ffe0
          characteristic_uuid: ffe1
          # List of bytes to write.
          value: [0x40, 0x20, 0x72, 0x00, 0x08, 0xde, 0x00, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x40]
    turn_off_action:
      - ble_client.ble_write:
          id: SWBDdrv_mc5
          service_uuid: ffe0
          characteristic_uuid: ffe1
          # List of bytes to write.
          value: [0x40, 0x20, 0x72, 0x00, 0x08, 0xdf, 0x00, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x40]
 

pvvx

Активный участник сообщества
Не понятен сам заголовок - Мост ...
Нет такого. И имеющиеся, называемые "шлюзом" или "gateway" ими не являются.

Вы лучше опишите хотя-бы направление, что хотите от так называемого "моста ...". Тогда можно будет что-то сказать...
 

aloika

Active member
Не понятен сам заголовок - Мост ...
Нет такого. И имеющиеся, называемые "шлюзом" или "gateway" ими не являются.

Вы лучше опишите хотя-бы направление, что хотите от так называемого "моста ...". Тогда можно будет что-то сказать...
Хочу чтобы было устройство, которое бы "пробрасывало" BLE в Home Assistant, например. Или в другую какую систему. Функции: сканирование, соединение с нужным девайсом, запись в характеристику, нотификация из характеристики. В целом хотелка типа такой - "управлять BLE-девайсом через интернет".
 

sL0n1k

Member
Ха, однако правильные вопросы задаете ))
Для этого не нужен хоме асс, как и любой другой асс))


Ставите одноплатник, на нем удаленно (с помощью ssh) запускаете нужные скрипты, под нужное BT устройство в нужное для вас время. Скрипты, конечно под разное BLE пишите сами, ну или выдергиваете из того же асса, который хоме ))
Написание таких скриптов (bash, питон, перл) - дело нехитрое и недолгое, если есть док, но сейчас док можно на все найти (или отреверсить в крайнем-крайнем) Можете даже эмулировать одноплатником любые девайсы, например Xiaomi термометры, а реально датчики использовать разные.
 

aloika

Active member
Ха, однако правильные вопросы задаете ))
Для этого не нужен хоме асс, как и любой другой асс))


Ставите одноплатник, на нем удаленно (с помощью ssh) запускаете нужные скрипты, под нужное BT устройство в нужное для вас время. Скрипты, конечно под разное BLE пишите сами, ну или выдергиваете из того же асса, который хоме ))
Написание таких скриптов (bash, питон, перл) - дело нехитрое и недолгое, если есть док, но сейчас док можно на все найти (или отреверсить в крайнем-крайнем)
Не, скрипты по ssh - не вариант. Есть устройство BLE, бытовое, для домохозяек. Есть приложения для управления им, для андроида и айОс, написанные на флаттере. Всё работает, но некоторым людям хочется управлять устройством вообще удаленно, с работы, например. И одновременно ещё наблюдать через камеру, что там происходит. На каком-то едином интерфейсе. И вот я и подумал, что Хоум Ассистант - как вариант.
 

pvvx

Активный участник сообщества
WiFi мешает BLE, BLE мешает WiFi.
В итоге антенны надо разносить от пол метра.
Иначе выйдет бяка с дисконектами и работать с BLE/WiFi только рядом.

Существует такое - CH32V208W. У него есть Ehternet. В примерах есть одновременная работа BLE + Ehternet + MQTT. Остается соединить, т.к. в примерах они почему-то не передают между собой ничего. Так китайцы примеры там задумали :)
Из другого примера вписываете DHCP и соединение с BLE. Делов-то на пару вечеров с отладкой полного шлюза.
Частично уже проверил - всё пашет
 

pvvx

Активный участник сообщества
Не, скрипты по ssh - не вариант.
Зачем на SSH?
Проше в любом OpenWRT на чем угодно накалякать.
Но это на 100 руб дороже в комплектации.
Есть несколько вариантов.
1. Немного сложный, но уже корпус и всё есть
1707485949521.png
В него модуль BLE за 100 р к выводам UART и сложная часть - вписать туда OpenWTR на Qualcomm QCA9533, т.к. готового на OpenWTR нет, есть только что-то непонятное от TP-Link...
2. На али куча разных плат от старых мелких WiFi роутеров yна которые сеть готовые OpenWTR ценами около 200..300 руб (если покупать 1 шт :) ).
1707486637538.png
Но это надо паять, корпус и БП лепить...:cautious: Включал - всё хорошо с OpenWTR, но далее лень...
Жрут они меньше ESP, WiFi и Ethernet есть, где как - с разъемом или без...
 

pvvx

Активный участник сообщества
"от старых" - в смысле платы новые, но чипы устаревшие - RT5350... 32MB RAM, SPI Flash какая нибудь, но старых OpenWRTна них тьма..
 

pvvx

Активный участник сообщества
WiFi ретранслятор на Qualcomm QCA9533 - 2x2 MIMO - 4-ре встроенных антенны, 32MB RAM, SPI-Flash...
 

pvvx

Активный участник сообщества
И цены указаны с доставкой из истории пришедшего с али хлама за последний месяц...
 

pvvx

Активный участник сообщества
Роутер Yoobao YB-658
Сообщение с али
  • Это плата от powerbank со встроенным Wifi-роутером Yoobao YB-658. Питается от 5 Вольт, питание подается на первый (+) и пятый пин (gnd). При включении поднимает точку доступа YOOBAO_XXXX c паролем YOOBAO123. UART работает на скорости 57600. Дальше пока не разбирался

 

pvvx

Активный участник сообщества
Грузится 30 сек с подключением к другому роутеру и своей AP.
1707536486634.png
ток по 5В.
 
Сверху Снизу