これは、https://github.com/pvvx/THB2 からのフォークです。PHY622x2 チップセットに基づく Tuya デバイス用のカスタム ファームウェアです。
インストール手順はここでも説明されています: https://youtu.be/AD2KduDTjf8
1バーツ | 2バーツ | 3バーツ | BTH01 | TH05_V1.3 | TH05_V1.4 | TH05F |
---|---|---|---|---|---|---|
このファームウェアは、ホーム アシスタントおよび 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
、 FW APP
のフル機能バージョン ( .bin
ファイル) を OTA 経由でダウンロードする場合にのみ使用されます。
デバイス | ブートファイル | 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 経由でブートを更新するプロセスは安全ではありません。これを行う前にバッテリー残量を確認してください。ブートが正常に動作している場合は、新しいバージョンに更新する必要はありません。ブートを新しいバージョンに置き換える必要性については、後で発表されます。
FW Boot' version is **v1.7** for devices with CHT8305 sensor. For other variants,
バージョンv1.4以降は「FW ブート」は必要ありません。
デフォルト設定の場合:
バージョン | 説明 |
---|---|
1.0 |
|
1.1 |
|
1.2 |
|
1.3 |
|
1.4 |
|
1.5 |
|
1.6 |
|
1.7 |
|
1.8ベータ版 |
|
3.3V 出力の USB-COM アダプターを介してブート プログラムをデバイスにフラッシュすることができます。
アダプタ | デバイス |
---|---|
GND | -Vbat |
+3.3V | +Vbat |
テキサス州 | RX1 |
RX | TX1 |
RTS | リセット |
アダプターに RST ピンがない場合は、RESET ピンを GND (-Vbat) に短絡し、スクリプトの開始時にすぐに開きます (数回の試行がかかる場合があります)。
デバイスのピンの名前は、リンク先の説明に記載されています。
pip3 install -r requirements.txt
特定のデバイスに必要な BOOT_XXX_vXX.hex ファイルを bin ディレクトリからダウンロードします。
走る:
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
特定のデバイス タイプ用のオリジナルの Tuya ファームウェアは、この README の冒頭にある表のリンクから入手できます。
python3 rdwr_phy62x2.py -p COM11 -b 1000000 -r we 0 ff_thb2.bin
すべての USB-COM アダプタが 1M ビットをサポートしているわけではありません。次に、
-b 1000000
オプションを削除するか、別のボーレートを選択します。
住所 | 説明 | サイズ |
---|---|---|
0x00000 | 使用ROM | 8キロバイト |
0x02000 | ROMのブート情報 | 4キロバイト |
0x03000 | OTA機能によるFWブート | 52キロバイト |
0x10000 | FWアプリ | 128キロバイト |
0x30000 | 履歴の記録 | 304キロバイト |
0x7C000 | 設定の保存 (EEP) | 16キロバイト |
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
を強制的に再起動するには 2 つの方法があります。
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 に短絡された接点のポーリングがサポートされています。
最大スイッチング周波数は 1 秒あたり 100 回です。
接点がガタつく場合は、接点をコンデンサで短絡することをお勧めします。
閉じるときまたは開くときに、5 つの BLE 広告のブロックが 50 ミリ秒後に連続して送信されます。
「Open」イベントごとにカウンターが追加されます。
カウンタ値は、各「Open/Close」イベントとともに送信されます。
温度計基板の入力接点:
RX
とラベル付けされています。RX
とラベル付けされています。RX
とラベル付けされています。RX2
とラベル付けされています。RX0
とラベル付けされています。RX2
とラベル付けされています。 「TX」または「TX2」というラベルが付いたプリント基板上の接点は、温度と湿度のヒステリシス設定値で制御されます。反転出力制御への切り替えが可能です。
設定はPHY62x2BTHome.htmlプログラムで行います。
出力動作はヒステリシス値を設定することで割り当てられます。
基本パラメータを初期値にリセットするには、Android スマートフォンと「nRFConnect」アプリを使用します。デバイスに接続し、特性0xFFF4
を持つサービス0xFCD2
に56
書き込みます。
間隔が 10 秒を超える場合は、規格上の最大値である 10 秒が設定されます。他の設定も同様に行います。ただし、すべての BT アダプターが 10 秒の接続間隔で動作できるわけではありません。
ファームウェアの構築には、GNU Arm Embedded Toolchain が使用されます。
Eclipse で作業するには、プロジェクトのインポートを使用し、toolchain.path をインストールします。
PHY62xx チップの詳細については、これを参照してください。