没有500M宽带的,可以关闭页面了,图有几张,加载慢,别骂人,啊哈哈哈。
前几天用天猫红包8块多买了个小米温湿度计2,搜了下帖子,没发现有通过ESP32刷ESPHOME接入的详细教程,自己抽空折腾了下,能接入,但稳定性还没长时间测试,我初步观察,这玩意儿真的像前辈说的,10分钟才刷一次数据,不过好在温湿度对实时性要求不高,日常做一些反馈影响不大。在我看来,真不喜欢蓝牙设备,要不是才几块钱,十几块我都嫌贵,肯定不会买。ESP32不知道蓝牙信号怎么样,如果信号覆盖不行,每个温湿度计都要贴脸配个ESP32的话,那更是得不偿失。
ESPHOME目前只有dev开发版支持这个温湿度计,我感觉稳定性估计不会好到哪里,聊胜于无吧,小白最懂小白的苦,我详细分享下接入过程,希望可以帮到其他跟我一样的小白。
一、准备工作
-
获取温湿度计2的bindkey
1、去下载老毛子大神的和谐版米家APP,我用的版本号是MiHome_5.6.88_63028_vevs.apk,刚才看,最新的是 https://ru.kapiba.ru/mihome/files/old/MiHome_5.6.93_63033_vevs.apk 密码: 6412784445,应该通用的吧;
2、安装和谐版米家APP,手机里存储器下新建/vevs/logs目录;
3、 如果原先已经在米家APP添加过温湿度计2的,请从你的设备列表里将其删除,然后重启手机,重启手机,重启手机;
4、重启手机后,重新添加你的温湿度计2设备,添加成功后,到前面新建的/vevs/logs目录下打开pairings.txt,里面有你需要的bindkey,把bindkey跟mac地址都复制出来备用。
-
搭建ESPHOME环境编译固件
1、请注意,要拉取esphome/esphome:dev 这个镜像,目前只有开发板支持温湿度计2,稳定版还不行;
2、我是用群晖docker搭建的,群晖搭建的话,注册表中搜【ESPHOME】,在搜索结果中选择【esphome/esphome】,标签选择【dev】拉取镜像;
3、镜像拉取完成后,自己新建一个esphome的目录,名字自己取。在映像里双击esphome/esphome:dev镜像,选择【高级设置】-【卷】-【添加文件夹】选择刚刚自己新建的目录,装载路径填入【/config】,然后选择【网络】勾选【使用与Docker Host相同的网络】,应用并运行esphome容器
4、非群晖Docker 搭建方法
拉取镜像
docker pull esphome/esphome:dev
配置容器
docker run -d \
> --name="ESPHome" \
> -e TZ=Asia/Shanghai \
> --hostname="esphome" \
> -v /opt/esphome:/config \
> --net=host \
> esphome/esphome:dev
5、上述两种方法都可以搭建esphome编译环境,浏览器输入http://主机地址:6052
有Dashboard页面跳出来,那就搭建成功了。
二、编译固件
打开Dashboard页面,单击右下角【+】号图标,跳出如下界面:
- Node Name 随便填个名称
- Device Type 如果跟我一样的设备,选择NodeMcu-32S,一般大家玩的都是这种吧,不一样的,自己验证,我也是小白,也不是懂太多。
- WiFi & Updates 前面两行填一下自己的wifi ssid名称跟wifi密码,最后ota密码不用填。
- 最后 Finish,你可以在Dashboard页面下看到刚刚创建的这个Node。
- 点【EDIT】编辑yaml文件,在OTA后面加入,
esp32_ble_tracker:
sensor:
- platform: xiaomi_lywsd03mmc
mac_address: "A4:C1:你的mac"
bindkey: "xxxxxxxxxxx你的bindkey"
temperature:
name: "LYWSD03MMC Temperature"
humidity:
name: "LYWSD03MMC Humidity"
battery_level:
name: "LYWSD03MMC Battery Level"
也可以用我分享的yaml文件,复制修改成自己对应的。
- yaml文件修改完毕后,点【SAVE】保存,然后点右边compile编译固件。
- 固件编译完成后自行下载保存。
三、刷入固件
- 电脑连接ESP32
- 打开ESPHome-Flasher-1.2.0-windows-x64,选择好对应com口,以及刚下载保存的固件,点击【Flash Esp】完成刷机过程。
- 这里有个坑,如果刷机过程中提示
Unexpected error: Error while retrieving firmware file 'https://raw.githubusercontent.com/espressif/arduino-esp32/1.0.4/tools/sdk/bin/bootloader_dio_40m.bin': ……
这样的错误,那你得扶墙了。
四、接入Home assistant
在【集成页面】homeassistant应该能自动发现esphome,点配置添加就行了,如果没发现,那自己在集成里搜esphome,把esp32的ip配置下,完成添加。
用到的附件
esp32.yaml (859 字节)
ESPhome-flasher
https://houhd.lanzous.com/iCDwcdl9n2d
米家app 100多M太大了,自己下吧,呵呵。