在之前的文章《无需349元的小米中枢网关,40元的玩客云做小米米家蓝牙中枢网关》中,有网友说给客云插个USB蓝牙网关只适合我()这样的人,不适合他的大别墅()。
蓝牙覆盖问题还是有办法解决的。今天给大家带来的是分布式中继蓝牙网关方案。让我们练习一下。
一、购买ESP32开发版
先去淘宝花十块钱左右买个esp32开发板。
然后通过USB线将esp32插入电脑的USB即可使用。您可能需要首次安装驱动程序。按照提示安装USB转串行驱动程序
二、获取米家蓝牙设备密钥key
目前大部分米家蓝牙传感器都是加密的,所以首先要获取蓝牙设备的key key。现在获取米家蓝牙钥匙其实很简单。
1.下载小米云令牌获取软件,打开下图网址,窗口操作系统点击图中下载链接即可下载该软件。
2.获取米家蓝牙设备的密钥
双击下载的软件,按照软件提示输入你的小米账号ID和密码。
我们可以看到我们的蓝牙钥匙,如下图所示,然后我们复制粘贴到一个记事本中,以备后用。
三、下载安装编译esphome
1.安装esphome
从python的官网下载您系统对应的python版本,安装时勾选“将Python添加到路径”。
按windows R键,然后在“Open”后输入cmd,打开windows命令行窗口。然后输入下列命令来安装esphome
pip3安装轮
3 pip3安装esphome然后输入以下命令验证esphome是否安装成功,安装成功后输出版本号。
esphome版本
2.编译并下载固件。
在您的计算机帐户目录中创建一个esphome配置文件myesphome.yaml。内容可以直接抄我的。只需修改WiFi账号密码。
通过USB电缆将ESP32开发板插入计算机,然后在windows命令行窗口中输入以下命令
esprunmyesphome.yaml编译完成后,选择提示符1,即COM选项,然后写固件。
四、HA配置
1.通过samba打开HA配置文件夹
我已经为每个人安装了samba服务。当我们需要添加第三方插件或者修改配置文件时,需要打开homeassistant的配置目录。我已经通过samba服务分享了homeassistant的配置目录。在你的电脑上(电脑需要和玩家云在同一个局域网,你可以理解为同一个路由),同时按下window键和R键,开启操作,输入你的IP地址,点击“确定”
输入登录账号root和密码10245869登录打开homeassistant配置目录。我给大家默认安装了HACS,也就是第三方插件商店,HACS放在custom_components里。
2.编辑高可用性配置文件
在配置文件夹下找到configuration.yaml,用记事本打开,然后写下以下内容,复制粘贴即可。
3.重新启动高可用性
重启HA前端界面后,会出现刚刚配置的蓝牙中继网关相关的设置组件,以确保网关和网关自动发现设备都开启。
4.访问刚刚编写的esp32开发板。
点击homeassistant的集成,可以看到homeassistant已经自动发现了我们在局域网上的DIY小米蓝牙中继网关。单击“配置”自动完成配置。
我们可以选择网关位置,然后单击Finish。
五、HACS安装插件
在HACS打开“整合”页面
点击右下角的“浏览并下载资源库”。
在搜索框中输入“BLE”进行搜索,点击“无源BLE监护仪”进入插件页面。
点击右下角的“通过HACS下载该资源库”。
点击弹出页面右下角的“下载”进行下载。
下载后如下图所示。
下载完成后,点击下图重启HA,让插件生效。
010-3500013
六、集成配置passive BLE插件
.按照下图打开HA的集成。
在综合搜索框中输入“BLE”进行搜索,然后点击“无源ble monitor”配置插件。
保持默认设置,点击提交即可。你可以看到这里没有蓝牙适配器,因为我的播放器云已经不再插USB蓝牙适配器了。
稍等片刻,插件将自动发现蓝牙设备。
点击选项添加设备。
选择要添加的设备(这里我以浮萍人体和环境光传感器为例),点击“提交”
输入蓝牙密钥并提交,以完成设备的添加。
自动添加设备后,前端界面如下所示
我们可以用中文来命名传感器。
七、打印外壳
我从网上找到了3D打印文件,打印了外壳,自己安装,这样更好看,避免了短路。
八、结论
通过esp32刷esphome固件后,可以有效解决两个问题。第一,PlayerCloud或者群辉威联通NAS本身没有蓝牙,无法连接蓝牙设备的问题。第二,很好的解决了USB蓝牙覆盖的问题。那些蓝牙设备离带HA的PlayerCloud群晖太远了,我们可以把这个ESP32网关拿过来覆盖。只要有WiFi,网关就能连上。懒得刷esp32,自己玩客云的可以找博主刷一下。