ESP Thread 边界路由器是一种基于 FreeRTOS 的实现,在 Espressif 的 Wi-Fi 和 802.15.4 SoC 上运行。
硬件要求:
Espressif 提供了 ESP 边界路由器板,它将主机 SoC (ESP32-S3) 和 RCP (ESP32-H2) 集成到一个模块中。
您只需将开发板连接到 ESP32-S3(主 SoC)端口即可。主 SoC 会自动对线程协处理器进行编程。
硬件平台
设置代码库
如需设置环境,请按照官方安装指南操作。
克隆 esp-idf 和 esp-thread-br 代码库。
git clone -b v5.1.2 --recursive https://github.com/espressif/esp-idf.git
cd esp-idf
./install.sh
. ./export.sh
cd ..
git clone -b v1.0 --recursive https://github.com/espressif/esp-thread-br.git
配置 Thread 和 Wi-Fi 网络
边界路由器会自动加入 Wi-Fi 网络,并创建一个新的 Thread 网络(如果其存储空间中没有 Thread 网络)。 您可以在配置菜单中配置网络参数:
cd esp-thread-br/examples/basic_thread_border_router
idf.py menuconfig
网络配置项包括:
- 在 Thread 边界路由器中启用自动启动模式:依次选择 ESP Thread 边界路由器示例 > 在 Thread 边界路由器中启用自动启动模式。
- Wi-Fi SSID 和 PSK:连接配置示例 > 使用 Wi-Fi 接口连接
- 线程网络参数:组件配置 > OpenThread > 线程操作数据集
构建并运行边界路由器
构建 esp-idf/examples/openthread/ot_rcp
示例。无需明确将固件刷写到设备上。它将包含在边界路由器固件中,并在首次启动(或更改 RCP 固件)时刷写到 ESP32-H2 芯片。
cd ${IDF_PATH}/examples/openthread/ot_rcp
idf.py set-target esp32h2
idf.py build
然后,返回 basic_thread_border_router
示例文件夹。
cd esp-thread-br/examples/basic_thread_border_router
idf.py set-target esp32s3
idf.py build
idf.py -p
flash monitor
现在,您将在 ESP32S3 监视器中看到边界路由器输出。它还提供了一个交互式 OpenThread 命令行:
state
leader
Done
>
支持的功能
- 负责外部专员的边境代理。
- IPv6 双向连接。
- SRP 服务注册和广告代理。
- mDNS 发现代理。
- NAT64。
- 多播转发。
- 基于 Web GUI 的 REST API。
- OTA。
如需详细了解如何使用 ESP Thread 边界路由器,您可以参阅 ESP Thread 边界路由器 Codelab