這是來自: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 晶片的更多信息,請參閱此內容。