项目简介
本项目是基于Python和蓝牙技术开发的工具,主要为米家温度计(LYWSD03MMC)提供固件升级和数据采集功能。用户借助该工具能便捷地完成固件升级,还可通过蓝牙扫描获取温度数据。它支持OTA升级和USB到UART的固件刷写方式,适用于智能家居和物联网场景。
项目的主要特性和功能
- 固件升级:支持Web工具的OTA固件升级和USB到UART适配器的固件刷写;提供自定义固件,支持温度、湿度、电池电量等数据的显示与设置。
- 数据采集:通过蓝牙扫描附近米家温度计,获取温度、湿度和电池电量等数据;支持自定义固件的广告数据格式,方便与其他智能家居系统集成。
- 固件自定义:提供自定义固件的编译指南,用户可按需修改和编译固件;支持多种显示设置,如温度单位切换、笑脸表情显示、广告间隔设置等。
- 兼容性:支持与ESPHome和OpenMQTTGateway等智能家居平台无缝集成;提供恢复原厂固件功能,方便用户回退到原始状态。
安装使用步骤
1. 固件升级
OTA升级步骤
- 连接米家温度计,点击“Do Activation”授权连接。
- 选择固件文件并点击“Start Flashing”开始刷写。
- 刷写完成后,设备将自动重启。
USB到UART升级步骤
- 将米家温度计通过USB到UART适配器连接至电脑。
- 运行
ATCtelink.py
脚本,指定固件文件作为参数,例如:python3 ATCtelink.py ATC_Thermometer.bin
。 - 若刷写失败,可尝试调整脚本中的COM端口或增加ResetTime。
2. 数据采集
- 确保已安装
bluepy
库,可通过pip install bluepy
命令安装。 - 在包含
scan-thermometer.py
文件的目录中,运行python scan-thermometer.py
命令。 - 脚本将输出扫描到的米家温度计的温度信息,包括时间戳、MAC地址和温度数据。
3. 自定义固件编译
- 将
ATC_Thermometer
文件夹复制到示例文件夹中,并在终端中进入该文件夹。 - 运行
make
命令编译固件。 - 编译生成的
.bin
文件可通过Web Flasher或USB到UART方式刷写。
注意事项
- 使用OTA升级时,确保设备处于蓝牙开启状态。
- 使用USB到UART升级时,确保连接正确,避免刷写失败。
- 自定义固件编译需要一定的编程经验,建议参考相关文档进行操作。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】