这是来自:https://github.com/pvvx/THB2 的分支,用于基于 PHY622x2 芯片组的 Tuya 设备的自定义固件。
这里还解释了安装步骤:https://youtu.be/AD2KduDTjf8
| 1泰铢 | 2泰铢 | 3泰铢 | BTH01 | TH05_V1.3 | TH05_V1.4 | TH05F |
|---|---|---|---|---|---|---|
该固件可与 Home Assistant 和其他以 BTHome 格式运行的软件配合使用。
所有固件均支持以下任何传感器:CHT8215 (CHT8310)、CHT8305、AHT20..30。
用于设置和制作 BLE OTA 的软件:PHY62x2BTHome.html。
上传 OTA 文件到 PHY62x2BTHome.html 是自动的。您无需从该存储库下载 OTA 文件。
要离线运行 PHY62x2BTHome.html,只需将 html 文件复制到本地文件夹即可。
要使用该设备,您需要通过 USB-COM 适配器将FW Boot固件写入设备。启动固件是一个功能减少的程序,并提供安全的 OTA 更新。
接下来,通过OTA选项卡使用PHY62x2BTHome.html中的BLE连接,记录FW APP的主要操作程序。
FW APP也可以使用 USB-COM 适配器进行录制。 启动固件的功能很少。 FW Boot仅用于通过OTA下载全功能版本的FW APP ( .bin文件)。
| 设备 | 启动文件 | OTA文件 | 印刷电路板贴标 |
|---|---|---|---|
| 1泰铢 | BOOT_THB1_v18.hex | THB1_v18.bin | 不 |
| 2泰铢 | BOOT_THB2_v18.hex | THB2_v18.bin | 不 |
| 3泰铢 | BOOT_THB2_v18.hex | THB2_v18.bin | 不 |
| BTH01 | BOOT_BTH01_v18.hex | BTH01_v18.bin | 不 |
| TH05_V1.4 | BOOT_TH05_v18.hex | TH05_v18.bin | TH05_V1.4、TH05_V1.5、TH05_V1.6(芯片:BL55028) |
| TH05_V1.3 | BOOT_TH05D_v18.hex | TH05D_v18.bin | RSH-TH05-V1.3(芯片:BL55072) |
| TH05F | BOOT_TH05F_v18.hex | TH05F_v18.bin | TH05Y_V1.1、TH05Y_V1.2(芯片:QD01 2332 NT) |
主要固件文件 BOOT_XXX_vXX.hex(用于通过 USB-COM 适配器编程)和 XXX_vXX.bin(用于 OTA)位于 bin 目录中。
通过 OTA 更新启动的文件位于 update_boot 目录中。通过 OTA 更新启动的过程并不安全。执行此操作之前请检查电池电量。如果启动正常,则无需更新到新版本。需要用新版本替换 boot 的情况将在稍后公布。
FW Boot' version is **v1.7** for devices with CHT8305 sensor. For other variants,从版本v1.4开始不需要“FW boot”。
使用默认设置:
| 版本 | 描述 |
|---|---|
| 1.0 |
|
| 1.1 |
|
| 1.2 |
|
| 1.3 |
|
| 1.4 |
|
| 1.5 |
|
| 1.6 |
|
| 1.7 |
|
| 1.8测试版 |
|
可以通过具有 3.3V 输出的 USB-COM 适配器使用引导程序刷新设备。
| 适配器 | 设备 |
|---|---|
| 接地 | -Vbat |
| +3.3V | +Vbat |
| TX | 接收1 |
| 接收 | TX1 |
| 实时传输系统 | 重置 |
如果适配器上没有 RST 引脚,则将 RESET 引脚短接至 GND(-Vbat),并在脚本启动时快速打开(可能需要尝试几次)。
设备上引脚的名称可以在链接的描述中找到:
pip3 install -r requirements.txt
从bin目录中下载特定设备所需的BOOT_XXX_vXX.hex文件。
跑步:
python3 rdwr_phy62x2.py -p COM11 -e -r wh BOOT_XXX_vXX.hex
开机刷写完成。设备正在运行并且可以断开适配器。
通过 OTA 下载完整版固件。为此:
Connect按钮,查找设备并连接。OTA选项卡,选择所需的固件 ( .bin ),然后单击Start 。设备应重新启动并可供使用。
选修的:
- 要预擦除整个闪存,请使用
-a选项。- 要预擦除闪存工作区,请使用
-e选项。- 使用 USB-COM 适配器可以立即写入主固件 (APP):
python3 rdwr_phy62x2.py -p COM11 -r we 0x10000 XXX_vXX.bin
python3 rdwr_phy62x2.py -p COM11 -r rc 0x11000000 0x80000 ff_thb2.bin
特定设备类型的涂鸦原始固件可以从本自述文件开头表格中的链接获取。
python3 rdwr_phy62x2.py -p COM11 -b 1000000 -r we 0 ff_thb2.bin
并非所有 USB-COM 适配器都支持 1Mbit。然后删除
-b 1000000选项或选择不同的波特率。
| 地址 | 描述 | 尺寸 |
|---|---|---|
| 0x00000 | 使用的ROM | 8 KB |
| 0x02000 | ROM 的启动信息 | 4 KB |
| 0x03000 | 具有 OTA 功能的 FW Boot | 52 KB |
| 0x10000 | 固件APP | 128 KB |
| 0x30000 | 历史记录 | 304 KB |
| 0x7C000 | 保存设置 (EEP) | 16 KB |
FW Boot具有OTA功能,但没有历史记录功能或任何其他附加功能。它用于处理任何失败或不正确的更新的 OTA。
FW APP没有 OTA 功能,OTA 时会重新启动到FW Boot 。它具有附加功能和扩展。
设备开启时按钮的操作:
如果在启动时按下该按钮, FW Boot始终启动。
如果不按下该按钮,则是否检查FW APP条目。如果有FW APP ,则启动FW APP 。如果没有FW APP ,则启动FW Boot 。
对于带屏幕的温度计,如果未打开时间显示,则在启动或重新启动期间会短时间显示以下内容:
“Bot 14”- FW Boot版本 1.4
“APP 15”- FW APP版本1.5
有两种方法可以从FW APP强制重新启动到FW Boot :
Service菜单中输入7233命令。完全重启:在 PHY62x2BTHome.html 程序的
Service菜单中输入7201命令。
通过USB-UART适配器,开机后即可立即写入APP。例如:
python3 rdwr_phy62x2.py -p COM11 -e wh ./bin/BOOT_TH05V13_v13.hex
python3 rdwr_phy62x2.py -p COM11 -r we 0x10000 ./bin/TH05V13_v13.bin
从版本 1.2 开始,支持轮询连接到簧片开关的引脚或短路到 GND 的触点。
最大开关频率为每秒 100 次。
如果触点发出嘎嘎声,建议用电容器并联触点。
关闭或打开时,50 毫秒后会依次传输 5 个 BLE 广告块。
在每个“打开”事件中都会添加一个计数器。
计数器值与每个“打开/关闭”事件一起传输。
温度计板上的输入触点:
RX 。RX 。RX 。RX2 。RX0 。RX2 。 

印刷电路板上标有“TX”或“TX2”的触点由温度和湿度的滞后设定点控制。可以切换到反向输出控制。
该设置是在 PHY62x2BTHome.html 程序中进行的。
通过设置迟滞值来分配输出操作:
要将基本参数重置为初始值,请使用 Android 智能手机和“nRFConnect”应用程序。连接到设备并在具有特征0xFFF4的服务0xFCD2中写入56 。

如果间隔超过 10 秒,则将设置为 10 秒,因为这是标准中的最大值。其他设置也是如此。然而,并非所有 BT 适配器都可以以 10 秒间隔进行连接。
GNU Arm 嵌入式工具链用于构建固件。
要在 Eclipse 中工作,请使用项目导入并安装 toolchain.path。
有关 PHY62xx 芯片的更多信息,请参阅此内容。