Пограничный маршрутизатор ESP Thread

Просмотреть исходный код на GitHub

Граничный маршрутизатор ESP Thread представляет собой реализацию на базе FreeRTOS, работающую на базе комбинации Wi-Fi и SoC 802.15.4 от Espressif.

Требования к оборудованию:

Espressif предлагает плату ESP Border Router , которая объединяет хост-систему SoC (ESP32-S3) и RCP (ESP32-H2) в один модуль.

Вам нужно только подключить плату к порту ESP32-S3 (главный SoC). Главный SoC автоматически программирует сопроцессор Thread.

Аппаратные платформы

Плата маршрутизатора ESP Thread Border
Плата маршрутизатора ESP Thread Border


Настройка репозиториев

Для настройки среды и получения информации, относящейся к Windows, следуйте официальному руководству по установке .

Клонируйте репозитории 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, если в его хранилище ее нет. Параметры сети можно настроить в меню конфигурации:

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

Элементы конфигурации сети:

  • Включите режим автоматического запуска в Thread Border Router: Пример ESP Thread Border Router > Включите режим автоматического запуска в Thread Border Router.
  • Wi-Fi SSID и PSK: пример конфигурации подключения > подключение с использованием интерфейса Wi-Fi
  • Параметры сети потоков: Конфигурация компонента > OpenThread > Операционный набор данных потоков

Постройте и запустите пограничный маршрутизатор

Соберите пример esp-idf/examples/openthread/ot_rcp . Прошивку не нужно явно прошивать на устройство. Она будет включена в прошивку Border Router и прошита на чипе ESP32-H2 при первой загрузке (или при смене прошивки RCP).

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.
  • Многоадресная пересылка.
  • REST API на основе веб-графического интерфейса.
  • ОТА.

Для получения дополнительной информации об использовании ESP Thread Border Router см. ESP Thread Border Router Codelab.