- 积分
- 4803
- 金钱
- 4295
- 威望
- 0
- 贡献
- 0
- HASS币
- 156
论坛元老
佑桑
- 积分
- 4803
- 金钱
- 4295
- HASS币
- 156

|
本帖最后由 chinyaolin 于 2020-11-27 11:06 编辑
補充資料, 我用我的理解說說看
1.不管是官方固件或是我帖子所說的自製固件, 都是會廣播溫濕度資訊的, 只是前者有加密而後者沒有加密
2.這個 LYWSD03MMC 在藍芽配對的過程中, 可以取得解密的 bind key 以及未加密的溫濕度
3.使用 bind key 可以拿來解密官方固件的廣播加密資訊, 但需要接受端支持
4.使用自製固件後, 廣播的溫濕度資訊則不再加密, 但無法與米家APP配對了, 一樣的接受端也需要支持
所以
1.OpenMQTT Gateway 0.9.5 並不支持解密功能, 對於官方固件是採用上述 (2) 的方法取得溫濕度資料, 而且因為是由 OMG 主動發起配對, 所以更新頻率長, 也造成耗電
2.同上, 若使用了自製固件, 因為 OpenMQTT Gateway 0.9.5 支持而可以採用上述 (4) 的方法, 大大減低了 LYWSD03MMC 的耗電(因為是被動的接收廣播資訊而不需要主動發起配對)
3.ESPHome 則有點不同, 對於官方固件可以在 YAML 檔案中指定 bin key, 從而採方法 (3) 被動接受廣播封包並解密出溫濕度資訊
4.但同時, 刷完自製固件後, 你可以回到刷固件的網頁中, 重新指定廣播封包格式為 "Mi Like", 這也受 ESPHome 支持, 可在 YAML 中隨便設定一組 key, 使用方法(4)讀取溫濕度
5.另外像是論壇中幾篇使用自定义插件, 應該都是類似的處理方式
我的建議
已經使用了 OpenMQTTGateway 並接入多個藍芽設備, 推薦「自製固件」
使用了論壇上推薦的插件或是 ESPHome, 並且以 bind key 接入成功, 沒必要刷固件, 推薦「官方固件」
若為了保證與米家APP相容, 推薦「官方固件」是唯一選擇
警告需要放在前面
特別注意, 這裡的刷固件程序沒有任何檢查機制
特別注意, 這裡的刷固件程序沒有任何檢查機制
特別注意, 這裡的刷固件程序沒有任何檢查機制
一旦上傳了錯誤的固件,會有不可回復的後果
我只是搬瓦工
問:為什麼要刷非官方固件, 不是已經可以接入 HA 了嗎?
答:因為官網固件下要取得溫濕度值必需有一個藍芽連接的過程, 這會造成耗電。而現在刷上去的固件則是直接將溫、濕、電量直接廣播出來
問:這個固件能不能與米家配對?
答:我想應該是不行, 但反正能刷回原廠, 有興的可以自行試試
需要準備的
1. ESP32 開發板, 我使用 WeMos D1 R32 ESP-32 (有內建藍芽應該都可以)
2. 刷入 OpenMQTTGateway v0.9.5 ( URL )( 刷固件方法 ), 配網後透過 MQTT 接入 HA
3. 米家蓝牙温湿度计2 LYWSD03MMC
4. 下載固件 ( ATC_Thermometer.bin )
5. 開啟手機藍芽、使用手機連線至 TelinkFlasher
6. 依照附圖
(1)Connectt 選擇你的蓝牙温湿度计2
(2) Do Activation 與温湿度计連線
(3) 選擇前面下載的固件
(4) Start Flashing 開始刷固件 固件刷完會自己重啟
7. 温湿度计重啟後會 60~120秒廣播一次未加密的資訊, OpenMQTTGateway 會自動抓取, 上報至 MQTT Broker
8. 若有開啟 AutoDiscovery 則會自加接入 HA
成果
參考資料
1. 透過 MQTT Explorer 看到的接入資料
2. 底下的回文有原始固件可下載, 本方法刷機不區分是自製固件或是官方固件
|
评分
-
参与人数 2 | 金钱 +28 |
HASS币 +20 |
收起
理由
|
姚远
| + 8 |
|
这个方法最大的好处是节点和足够简单,问题. |
囧
| + 20 |
+ 20 |
感谢楼主分享! |
查看全部评分
|