Giter VIP home page Giter VIP logo

esp-thread-br's Introduction

ESP Thread Boarder Router SDK

ESP-THREAD-BR is the official ESP Thread Border Router SDK. It supports all fundamental network features to build a Thread Border Router and integrates rich product level features for quick productization.

Software Components

esp_br_solution

The SDK is built on top of ESP-IDF and OpenThread. The OpenThread port and ESP Border Router implementation is provided as pre-built library in ESP-IDF.

Hardware Platforms

Wi-Fi based Thread Border Router

The Wi-Fi based ESP Thread Border Router consists of two SoCs:

  • An ESP32 series Wi-Fi SoC (ESP32, ESP32-C, ESP32-S, etc) loaded with ESP Thread Border Router and OpenThread Stack.
  • An ESP32-H 802.15.4 SoC loaded with OpenThread RCP.

ESP Thread Border Router Board

The ESP Thread border router board provides an integrated module of an ESP32-S3 SoC and an ESP32-H2 RCP.

br_dev_kit

The two SoCs are connected with following interfaces:

  • UART and SPI for serial communication
  • RESET and BOOT pins for RCP Update
  • 3-Wires PTA for RF coexistence

Standalone Modules

The SDK also supports manually connecting an ESP32-H2 RCP to an ESP32 series Wi-Fi SoC.

ESP32 pin ESP32-H2 pin
GND G
GPIO17 (UART RX) TX
GPIO18 (UART TX) RX
GPIO7 RST
GPIO8 (SPI INTR) GPIO9 (BOOT)
GPIO10 (SPI CS) GPIO2
GPIO11 (SPI MOSI) GPIO3
GPIO12 (SPI CLK) GPIO0
GPIO13 (SPI MISO) GPIO1

Note that the SPI GPIOs are optional, if the UART is selected for communication.

The following image shows an example connection between ESP32 DevKitC and ESP32-H2 DevKitC:

br_standalone

In this setup, only UART interface is connected, so it doesn't support RCP Update or RF Coexistence features. You can refer to ot_br example in esp-idf as a quick start.

Ethernet based Thread Border Router

Similar to the previous Wi-Fi based Thread Border Router setup, but a device with Ethernet interface is required, such as ESP32-Ethernet-Kit.

Provided Features

These features are currently provided by the SDK:

  • Bi-directional IPv6 Connectivity: The devices on the backbone link (typically Wi-Fi) and the Thread network can reach each other.
  • Service Discovery Delegate: The nodes on the Thread network can find the mDNS services on the backbone link.
  • Service Registration Server: The nodes on the Thread network can register services to the border router for devices on the backbone link to discover.
  • Multicast Forwarding: The devices joining the same multicast group on the backbone link and the Thread network can be reached with one single multicast.
  • NAT64: The devices can access the IPv4 Internet via the border router.
  • RCP Update: The built border router image will contain an updatable RCP image and can automatically update the RCP on version mismatch or RCP failure.
  • Web GUI: The border router will enable a web server and provide some practical functions including Thread network discovery, network formation and status query.
  • RF Coexistence: The border router supports optional external coexistence, a feature that enhances the transmission performance when there are channel conflicts between the Wi-Fi and Thread networks.

Resources

esp-thread-br's People

Contributors

chshu avatar gytxxsy avatar zwx1995esp avatar xieqinan avatar gjc13 avatar wqx6 avatar ydesp avatar espressif-bot avatar theomeyer-tado avatar antmak avatar david-cermak avatar opieters avatar tomassebestik avatar likunqiao097304 avatar

Stargazers

Long Dao avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.