Module Gateway H2 は、ESP32 シリーズの Wi‑Fi SoC と組み合わせて ESP Thread Border Router SDK を実行することをサポートしています。この SDK は ESP‑IDF と OpenThread に基づいて構築され、Thread ネットワークを H2 上で実行し、H2 はシリアルポートを介してメインプロセッサと通信します。
1.環境設定:
ESP-IDF - ESP32S3 入門チュートリアル
を参照して、基本的なコンパイル環境を整えてください。
このサンプルのコンパイルには ESP‑IDF バージョン v5.3.1
の使用を推奨します。
git clone --recursive https://github.com/espressif/esp-idf.git
cd esp-idf
git checkout v5.3.1 # recommend
./install.sh
. ./export.sh
2.使用するハードウェア製品:
1.Gateway ファームウェアをコンパイルする前に、まず RCP ファームウェアを生成する必要があります。以下のコマンドを参考に、対応する RCP ファームウェアのディレクトリに移動し、ビルドターゲットを esp32h2
に設定してください。
cd $IDF_PATH/examples/openthread/ot_rcp
idf.py set-target esp32h2
idf.py menuconfig
2.idf.py menuconfig
を使用して設定画面に入り、menuconfig 内で次の設定を行います:Component config
-> OpenThread RCP Example
- Enable OPENTHREAD_NCP_VENDOR_HOOK
3.設定が完了したら、以下のコマンドを実行して RCP ファームウェアをコンパイルします。
idf.py build
1.プロジェクトをクローンします。
git clone https://github.com/Ocean-lhy/esp-thread-br.git
2.使用するメインコントローラーに応じて、対応するブランチに切り替えます。
# CoreS3
git checkout demo_for_core_s3_test
cd examples/thread_border_router_credential_sharing
idf.py set-target esp32s3
# Core2 v1.0 と v1.1 の電源管理チップはそれぞれ AXP192 と AXP2101 であり、menuconfig で設定する必要があります
git checkout demo_for_core_2_test
cd examples/thread_border_router_credential_sharing
idf.py set-target esp32
# Core
git checkout demo_for_core_test
cd examples/thread_border_router_credential_sharing
idf.py set-target esp32
3.idf.py menuconfig
を使用して設定画面に入り、menuconfig 内で Wi‑Fi 情報を設定します:Component config
-> Example Connection Configuration
idf.py menuconfig
4.ESP Thread BR ファームウェアをコンパイルしてフラッシュします。
idf.py build
idf.py erase_flash
idf.py flash
1.フラッシュ後、デバイスを再起動します。デバイスは RCP 更新状態に入り、RCP 更新が成功すると、デバイスは再起動して Wi‑Fi と Thread ネットワークに接続します。デバイスの初期化が完了すると、以下の情報が表示されます:
generate epskc
ボタン factoryreset
ボタン Border router web server
の URL2.generate epskc
ボタンをクリックすると、デバイスが epskc を生成し、画面に表示します。これは迅速なネットワーク参加に使用できます。
3.LAN 内でブラウザを使用して Border router web server の URL にアクセスすると、Thread ネットワークの情報を確認できます。
4.接続する Wi‑Fi を変更したい場合は、シリアル接続のコマンドインターフェースを使用して、コマンド wifi -s SSID -p PASSWORD
を入力し、その後デバイスを再起動してください。
Module Gateway H2 (ESP32 - H2) またはNanoC6 (ESP32 - C6) を使用し、ケースプログラムを参考に OpenThread SimpleCLI の例程を書き込み、Threadネットワークに接続し、Threadネットワーク情報を確認します。
ThreadBoarderRouterのバックグラウンドで networkkey
、panid
、channel
を入力し、Threadネットワークのネットワークキー、panid、およびchannelを取得します。
SimpleCLI例程で構成コマンドを入力し、Threadネットワークを起動します。
networkkey <networkkey>
panid <panid>
channel <channel>
ifconfig up
thread start
state
を入力し、Threadネットワークの状態を確認します。child/routerとしてネットワークに接続されている場合は、Threadネットワーク接続が成功しました。leaderとしてネットワークを構築した場合は、構成に誤りがある可能性があります。parent
を入力し、Threadネットワークの親ノードを確認します。extaddr
を入力し、このノードの拡張アドレスを確認します。extaddr
を入力し、このノードの拡張アドレスを確認します。それはSimpleCLI例程の parent extaddr
と一致する必要があります。neighbor table
を入力し、Threadネットワークの隣接ノードを確認します。それにはSimpleCLI例程のノードが含まれている必要があります。