ESP-Thread-Border-Router

Quellcode auf GitHub ansehen

Der ESP Thread Border Router ist eine FreeRTOS-basierte Implementierung, die auf einer Kombination aus den WLAN- und 802.15.4-SoCs von Espressif ausgeführt wird.

Hardwareanforderungen:

Espressif bietet ein ESP-Border-Router-Board an, in dem das Host-SoC (ESP32-S3) und der RCP (ESP32-H2) in einem Modul integriert sind.

Sie müssen die Leiterplatte nur mit dem ESP32-S3-Haupt-SoC-Port verbinden. Das Haupt-SoC programmiert den Thread-Coprozessor automatisch.

Hardwareplattformen

ESP Thread Border Router Board
ESP-Thread-Border-Router-Board


Repositories einrichten

Folgen Sie der offiziellen Installationsanleitung, um die Umgebung einzurichten.

Klonen Sie die Repositories esp-idf und 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- und WLAN-Netzwerk konfigurieren

Der Border-Router verbindet sich automatisch mit dem WLAN und erstellt ein neues Thread-Netzwerk, falls sich noch keins im Speicher befindet. Die Netzwerkparameter können im Konfigurationsmenü konfiguriert werden:

cd esp-thread-br/examples/basic_thread_border_router
idf.py menuconfig

Die Netzwerkkonfigurationselemente sind:

  • Automatischen Startmodus im Thread-Border-Router aktivieren: Beispiel für einen ESP-Thread-Border-Router > Automatischen Startmodus im Thread-Border-Router aktivieren
  • WLAN-SSID und PSK: Beispiel für eine Verbindungskonfiguration > Verbindung über WLAN-Schnittstelle herstellen
  • Thread-Netzwerkparameter: Komponentenkonfig. > OpenThread > Thread-Betriebsdatensatz

Border-Router erstellen und ausführen

Erstellen Sie das esp-idf/examples/openthread/ot_rcp-Beispiel. Die Firmware muss nicht explizit auf ein Gerät geflasht werden. Sie wird in der Border-Router-Firmware enthalten sein und beim ersten Start auf den ESP32-H2-Chip geflasht (oder die RCP-Firmware geändert).

cd ${IDF_PATH}/examples/openthread/ot_rcp
idf.py set-target esp32h2
idf.py build

Kehren Sie dann zum Beispielordner basic_thread_border_router zurück.

cd esp-thread-br/examples/basic_thread_border_router
idf.py set-target esp32s3
idf.py build
idf.py -p  flash monitor

Jetzt sehen Sie die Ausgabe des Border-Routers im ESP32S3-Monitor. Außerdem gibt es eine interaktive OpenThread-Befehlszeile:

state
leader
Done
>

Unterstützte Funktionen

  • Grenzbeamter für externe Auftraggeber.
  • Bidirektionale IPv6-Verbindung.
  • SRP-Dienstregistrierung und Werbeproxy.
  • mDNS-Erkennungs-Proxy
  • NAT64.
  • Multicast-Weiterleitung.
  • Web-GUI-basierte REST API
  • Onlinereisebüro.

Weitere Informationen zur Verwendung des ESP-Thread-Border-Routers finden Sie im ESP-Thread-Border-Router-Codelab.