Module Gateway H2 supports running the ESP Thread Border Router SDK alongside ESP32 series Wi‑Fi SoCs. This SDK is built based on ESP‑IDF and OpenThread, running the Thread network on the H2 while the H2 communicates with the main processor via a serial interface.
1.Environment Setup:
Refer to the
ESP-IDF - Getting Started with ESP32S3
tutorial to complete the basic compilation environment.
This example is recommended to be compiled with ESP‑IDF version 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.Hardware Products Used:
1.Before compiling the Gateway firmware, you need to generate the RCP firmware first. Follow the instructions below to navigate to the corresponding RCP firmware directory and set the build target to esp32h2
.
cd $IDF_PATH/examples/openthread/ot_rcp
idf.py set-target esp32h2
idf.py menuconfig
2.Use idf.py menuconfig
to enter the configuration menu. In menuconfig, configure:Component config
-> OpenThread RCP Example
- Enable OPENTHREAD_NCP_VENDOR_HOOK
3.After finishing the configuration, execute the following command to build the RCP firmware.
idf.py build
1.Clone the project.
git clone https://github.com/Ocean-lhy/esp-thread-br.git
2.Switch to the corresponding branch based on the main controller you are using.
# For CoreS3
git checkout demo_for_core_s3_test
cd examples/thread_border_router_credential_sharing
idf.py set-target esp32s3
# For Core2 v1.0 and v1.1 (the power management chips are AXP192 and AXP2101 respectively; configuration in menuconfig is required)
git checkout demo_for_core_2_test
cd examples/thread_border_router_credential_sharing
idf.py set-target esp32
# For Core
git checkout demo_for_core_test
cd examples/thread_border_router_credential_sharing
idf.py set-target esp32
3.Use idf.py menuconfig
to enter the configuration menu. In menuconfig, configure the Wi‑Fi settings:Component config
-> Example Connection Configuration
idf.py menuconfig
4.Compile and flash the ESP Thread BR firmware.
idf.py build
idf.py erase_flash
idf.py flash
1.After flashing, restart the device. The device will enter the RCP update state. Once the RCP update is successful, the device will restart and connect to both Wi‑Fi and the Thread network. Upon completion of device initialization, the following information will be displayed:
generate epskc
buttonfactoryreset
buttonBorder router web server
URL2.Click the generate epskc
button. The device will generate an epskc and display it on the screen, which can be used for quick network commissioning.
3.Within your LAN, use a browser to access the Border router web server URL to view Thread network information.
4.If you wish to modify the connected Wi‑Fi network, you can use the serial command interface. Enter the command wifi -s SSID -p PASSWORD
and then restart the device.