『瀚思彼岸』» 智能家居技术论坛

标题: 9.9元的esp32 c3开启蓝牙代理成功啦 [打印本页]

作者: cnbb    时间: 2023-3-22 16:18
标题: 9.9元的esp32 c3开启蓝牙代理成功啦
本帖最后由 cnbb 于 2023-3-22 16:21 编辑

前言:
      自从在群里看到大佬把2410通过蓝牙接入ha后,就一直在折腾USB蓝牙网关。因为我是群晖6.2的系统,HA是通过docker方式部署,  蓝牙群晖中驱动正常的,但是在部署的时候,无论怎么添加参数,HA就是找不到设备,已经到了放弃的地步啦。
      后来听说esp32可以刷esphome做蓝牙代理网关,抱着最低成本的心态入了一片合宙9.9元的esp32 c3,根据下面这教程https://bbs.hassbian.com/forum.p ... 780&highlight=esp32,成功刷写固件,HA添加esphome设备后,即可自动发现蓝牙设备啦,至此~~2410b通过蓝牙代理完美接入HA。
切记,一定要通过esphome web的方式进行刷机,还有就是先按着boot,再插USB上电,这样才进入下载模式。
套用几块钱的小夜灯,直接把人体存在传感器做到成本不超10元的超低价,下面贴上我的配置文件供参考。。。配置文档标红位置是关键,直接套用就行,
esphome:
  name: esp32-c3
  friendly_name: esp32
  platformio_options:
    board_build.flash_mode: dio
    board_build.mcu: esp32c3
    compile_process_limit: 1

esp32:
  board: esp32-c3-devkitm-1
  framework:
    type: arduino
    version: 'recommended'
    platform_version: '6.0.0'


# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "xxxxxxxxxxx"

ota:
  password: "xxxxxxxxxxxx"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp32 Fallback Hotspot"
    password: "poQi79qJNsAW"

captive_portal:

web_server:
  port: 80
   
bluetooth_proxy:
  active: true

esp32_ble_tracker:

sensor:
  - platform: wifi_signal
    name: "WiFi Signal Sensor"
    update_interval: 60s

text_sensor:
  - platform: wifi_info
    ssid:
      name: Connected SSID
      icon: "mdi:signal-variant"
    ip_address:
      name: IP Address
      icon: "mdi:ip-network"
    mac_address:
      name: Mac Address
      icon: "mdi:wifi-marker"
作者: jasona3    时间: 2023-3-22 21:21
距离能有多远?
作者: yangrusen    时间: 2023-3-22 21:44
楼主,能不能把生成的文件发我一份。装了esphome,家里的电信网络一直没法生成刷机文件。谢谢!
作者: yangrusen    时间: 2023-3-22 21:45
yangrusen 发表于 2023-3-22 21:44
楼主,能不能把生成的文件发我一份。装了esphome,家里的电信网络一直没法生成刷机文件。谢谢! ...

[email protected] , 衷心的感谢!
作者: leganza    时间: 2023-3-23 09:16
楼主,也能不能给我一份? 多谢![email protected]

作者: cnbb    时间: 2023-3-23 11:25
leganza 发表于 2023-3-23 09:16
楼主,也能不能给我一份? 多谢!

这个。。估计固件套用不了~~wifi信息每个人的不一样
作者: shayulei    时间: 2023-3-23 13:51
yangrusen 发表于 2023-3-22 21:44
楼主,能不能把生成的文件发我一份。装了esphome,家里的电信网络一直没法生成刷机文件。谢谢! ...

我在生成了,但一想不对呀,我给你后,你要修改wifi之类的,还是要重新生成文件,我看兄弟自己想办法搬梯子吧
作者: tcwj2008    时间: 2023-3-23 14:39
2410用蓝牙的话一两个还行,数量多的话,真心不建议,去测试一下就能发现,单个的数据量就特别大,多的话稳定性就不知道了
作者: yangrusen    时间: 2023-3-23 16:42
shayulei 发表于 2023-3-23 13:51
我在生成了,但一想不对呀,我给你后,你要修改wifi之类的,还是要重新生成文件,我看兄弟自己想办法搬梯 ...

我只刷过openmqttgateway,以为这个也是先连ap,然后设置wifi账号密码呢。之前去外网买了个梯子,竟然用不了,后来就退了。难啊,卡在翻墙这儿了。
作者: freeskyfly    时间: 2023-3-23 22:06
小夜灯配的哪种

作者: shayulei    时间: 2023-3-24 08:23
yangrusen 发表于 2023-3-23 16:42
我只刷过openmqttgateway,以为这个也是先连ap,然后设置wifi账号密码呢。之前去外网买了个梯子,竟然用 ...

oracle云,你有VISA卡,还可以搞免费的(我用了一年多了),现在比以前慢多了,但可以用
作者: yangrusen    时间: 2023-3-24 11:41
shayulei 发表于 2023-3-24 08:23
oracle云,你有VISA卡,还可以搞免费的(我用了一年多了),现在比以前慢多了,但可以用 ...

现在注册不了了,它通过好几种方式检测你到底在哪,检测到中国就不行。我通过公司的远程主机,IP在美国都不行。VISA也扣费又返回了,还是失败。
作者: dscao    时间: 2023-3-24 11:59
cnbb 发表于 2023-3-23 11:25
这个。。估计固件套用不了~~wifi信息每个人的不一样

ap:
    ssid: "Esp32 Fallback Hotspot"
    password: "poQi79qJNsAW"

captive_portal:

能用上面这个,当没有连上wifi一段时间后会开启热点,连接热点后可配网。

ESPHome 中的强制门户组件是一种回退机制,用于在连接到已配置的WiFi失败时使用。

在 WiFi 连接尝试失败 1 分钟后,ESP 将启动一个 WiFi 热点(使用您配置中的凭据)

../_images/captive_portal-ui.png
在此 Web 界面中,您可以手动覆盖设备的 WiFi 设置(请注意,这将被任何后续上传覆盖,因此请确保同时更新您的 YAML 配置)。

此外,您可以上传新的固件文件。

当您连接到后备网络时,Web 界面应该会自动打开(另请参阅登录网络通知)。如果这不起作用,您也可以 在浏览器中手动导航到http://192.168.4.1/

作者: liujiang567    时间: 2023-3-24 14:11
笑了。2410的蓝牙就是玩具,距离稍微远点就没了。根本没稳定性可言。还是老老实实用无线串口通讯吧。
作者: alonewoo    时间: 2023-3-25 15:24
9.9的合宙简化版是不是不能用:
framework:
    type: arduino
作者: hackyjso    时间: 2023-3-26 12:14
2410都20块了,怎么做到10块钱的人在传感器
作者: binghun9806    时间: 2023-3-27 00:01
先刷了Tasmota,然后上传的esphome的固件之后打开ip还是Tasmota的界面,这正常吗?还有就是hass里面添加不了esphome,总是提示“无法连接到 ESP。请确认您的 YAML 文件中包含 'api:' 行。”已经添加了api:这个也不行。
作者: binghun9806    时间: 2023-3-27 07:22
binghun9806 发表于 2023-3-27 00:01
先刷了Tasmota,然后上传的esphome的固件之后打开ip还是Tasmota的界面,这正常吗?还有就是hass里面添加不 ...

解决了,原来是esphome生成固件后下载时的错误,下载时需要选第四张手动方式。
作者: 172859773    时间: 2023-3-28 13:25
这个会断连的,我之前用的32刷的蓝牙网关,四五个小时雷达就是不可用的状态了。
作者: PerryLayne    时间: 2023-6-26 02:10
大佬。买的同款,也成功写入固件了,但是在Passive BLE monitor始终无法识别到设备为什么?

论坛也查了好多相关资料。都没查到。求助

我直接拿你代码弄的,这个配置完,可以直接用在Passive BLE monitor吗

                               
登录/注册后可看大图

作者: joylin1988    时间: 2024-11-7 09:52
试试看效果怎么样,还有几个闲置的esp32
作者: qyt2001    时间: 2024-12-13 17:03
折腾了几天,记录一下重点。
首先 https://esphome.io/projects/?type=bluetooth 这是ESP32直接用官方烧录成蓝牙代理的方式,但是不适用于ESP32C3
但下面有一个官方链接:
For advanced users
The YAML configuration is on GitHub  https://github.com/esphome/firmware/tree/main/bluetooth-proxy/

里面可以看到,esp32-generic-c3.yaml和esp32-generic.yaml,也就是说官方其实也出了C3的
再点开,发现链接移动到 https://github.com/esphome/bluet ... /main/esp32-generic


目前C3是这样的,实测确实是能用的:
esphome:
  name: esp32-bluetooth-proxy
  friendly_name: Bluetooth Proxy
  min_version: 2024.6.0
  name_add_mac_suffix: true
  platformio_options:
    board_build.f_flash: 40000000L
    board_build.flash_mode: dio
    board_build.flash_size: 4MB

esp32:
  board: esp32-c3-devkitm-1
  framework:
    type: esp-idf
    sdkconfig_options:
      CONFIG_BT_BLE_42_FEATURES_SUPPORTED: y
      CONFIG_BT_BLE_50_FEATURES_SUPPORTED: n

wifi:
  ap:

api:
logger:

ota:
  - platform: esphome
    id: ota_esphome

esp32_ble_tracker:
  scan_parameters:
    # We currently use the defaults to ensure Bluetooth
    # can co-exist with WiFi In the future we may be able to
    # enable the built-in coexistence logic in ESP-IDF
    active: true

bluetooth_proxy:
  active: true

button:
  - platform: safe_mode
    id: button_safe_mode
    name: Safe Mode Boot

  - platform: factory_reset
    id: factory_reset_btn
    name: Factory reset

作者: qyt2001    时间: 2024-12-13 17:19
然后蓝牙代理连小米温湿度计,历史上有好多种方式

1.最早的PassiveBLEMonitor,好多教程都是教这个。现在好像已经不需要了,因为home assitant官方出了BLE扫描
https://github.com/custom-compon ... ob/master/README.md
“Home Assistant 2022.8 has (improved) support for passive BLE devices directly in Home Assistant. ”

2.在配置文件里直接写:
出处: https://esphome.io/components/sensor/xiaomi_ble
我也做了,还做了和XiaomiBLE的对比效果,结论是现在应该也没有必要了
sensor:
  - platform: xiaomi_lywsd03mmc
    mac_address: XX:XX:XX:XX:XX:XX
    bindkey: "eef418daf699a0c188f3bfd17e4565d9"
    temperature:
      name: "LYWSD03MMC Temperature"
    humidity:
      name: "LYWSD03MMC Humidity"
    battery_level:
      name: "LYWSD03MMC Battery Level"

3.直接用XiaomiBLE
https://www.home-assistant.io/integrations/xiaomi_ble
这时候就是配置蓝牙代理,然后通过XiaomiBLE输入账号密码,会自动获取key。
重点就这两句:
esp32_ble_tracker:
  scan_parameters:
    active: true
bluetooth_proxy:
  active: true
然后就慢慢等着蓝牙代理发现各种设备就行了。
我还遇到了网络发现不行,最后要靠自己设置固定ip的问题:
下面出处:https://esphome.io/components/wifi.html

# Example configuration entry
wifi:
  ssid: MyHomeNetwork
  password: VerySafePassword

  # Optional manual IP
  manual_ip:
    static_ip: 192.168.0.123
    gateway: 192.168.0.1
    subnet: 255.255.255.0

就先记录这么多




欢迎光临 『瀚思彼岸』» 智能家居技术论坛 (https://bbs.hassbian.com/) Powered by Discuz! X3.5