Skip to content

Commit c3dfaeb

Browse files
committed
Merge branch 'docs/refine_docs' into 'main'
docs: add more supported features and faq See merge request espressif/esp-thread-br!157
2 parents 8d163b7 + f0699ff commit c3dfaeb

File tree

11 files changed

+190
-66
lines changed

11 files changed

+190
-66
lines changed

README.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
# ESP Thread Boarder Router SDK
1+
# ESP Thread Border Router SDK
22

3-
ESP-THREAD-BR is the official [ESP Thread Border Router](https://openthread.io/guides/border-router/espressif-esp32) SDK. It supports all fundamental network features to build a Thread Border Router and integrates rich product level features for quick productization.
3+
ESP-THREAD-BR is the official Espressif Thread Border Router SDK. It supports all fundamental network features to build a [Thread Border Router](https://openthread.io/guides/border-router) (BR) and integrates rich product level features for quick productization.
44

55
# Software Components
66

77
![esp_br_solution](docs/images/esp-thread-border-router-solution.png)
88

9-
The SDK is built on top of [ESP-IDF](https://github.com/espressif/esp-idf) and [OpenThread](https://github.com/openthread/openthread). The OpenThread port and ESP Border Router implementation is provided as pre-built library in ESP-IDF.
9+
The SDK is built on top of [ESP-IDF](https://github.com/espressif/esp-idf) and [OpenThread](https://github.com/openthread/openthread). The BR implementation is provided as pre-built library in ESP-IDF.
1010

1111
# Hardware Platforms
1212

1313
## Wi-Fi based Thread Border Router
1414

15-
The Wi-Fi based ESP Thread Border Router consists of two SoCs:
15+
The Wi-Fi based ESP Thread BR consists of two SoCs:
1616

17-
* An ESP32 series Wi-Fi SoC (ESP32, ESP32-C, ESP32-S, etc) loaded with ESP Thread Border Router and OpenThread Stack.
17+
* An ESP32 series Wi-Fi SoC (ESP32, ESP32-C, ESP32-S, etc) loaded with ESP Thread BR and OpenThread Stack.
1818
* An ESP32-H 802.15.4 SoC loaded with OpenThread RCP.
1919

2020
### ESP Thread Border Router Board
@@ -55,33 +55,33 @@ ESP32 pin | ESP32-H2 pin
5555
GPIO13 (SPI MISO) | GPIO1
5656

5757
Note that:
58-
1. The GPIO17 and GPIO18 on ESP32-S3 have different driver current([refer to ESP32-S3 TRM, Chapter 6.12](https://www.espressif.com/sites/default/files/documentation/esp32-s3_technical_reference_manual_en.pdf)). If ESP32-S3 is used as the host, please change the UART RX/TX GPIOs to GPIO4 and GPIO5 which are recommended.
58+
1. Please update the GPIO pin configuration (`radio_uart_config`) in `esp_ot_config.h` for both the ot_rcp and ot_br examples to accurately reflect the GPIO connections between the Wi-Fi and 802.15.4 SoCs.
5959

6060
2. The configure `ESP_CONSOLE_USB_SERIAL_JTAG` is enabled by default, please connect the USB port of the ESP32 series Wi-Fi SoC to host.
6161

6262
## Ethernet based Thread Border Router
6363

64-
Similar to the previous Wi-Fi based Thread Border Router setup, but a device with Ethernet interface is required, such as [ESP32-Ethernet-Kit](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-ethernet-kit.html).
64+
Similar to the previous Wi-Fi based Thread BR setup, but a device with Ethernet interface is required, such as [ESP32-Ethernet-Kit](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-ethernet-kit.html).
6565

6666
# Provided Features
6767

6868
These features are currently provided by the SDK:
6969

70-
* **Bi-directional IPv6 Connectivity**: The devices on the backbone link (typically Wi-Fi) and the Thread network can reach each other.
71-
* **Service Discovery Delegate**: The nodes on the Thread network can find the mDNS services on the backbone link.
72-
* **Service Registration Server**: The nodes on the Thread network can register services to the border router for devices on the backbone link to discover.
70+
* **Bi-directional IPv6 Connectivity**: The devices on the backbone link (typically Wi-Fi or Ethernet) and the Thread network can reach each other.
71+
* **Service Discovery Delegate**: The devices on the Thread network can find the mDNS services on the backbone link.
72+
* **Service Registration Server**: The devices on the Thread network can register services to the BR for devices on the backbone link to discover.
7373
* **Multicast Forwarding**: The devices joining the same multicast group on the backbone link and the Thread network can be reached with one single multicast.
74-
* **NAT64**: The devices can access the IPv4 Internet via the border router.
75-
* **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.
76-
* **Web GUI**: The border router will enable a web server and provide some practical functions including Thread network discovery, network formation and status query.
77-
* **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.
74+
* **NAT64**: The devices can access the IPv4 Internet via the BR.
75+
* **Credential Sharing**: The BR could safely share administrative access and allow extracting the network credentials of the network.
76+
* **TREL**: It enables Thread devices to communicate directly over IPv6-based links other than IEEE 802.15.4, including Wi-Fi and Ethernet.
77+
* **RCP Update**: The built BR image will contain an updatable RCP image and can automatically update the RCP on version mismatch or RCP failure.
78+
* **Web GUI**: The BR will enable a web server and provide some practical functions including Thread network discovery, network formation, status query and topology monitor.
79+
* **RF Coexistence**: The BR supports optional external coexistence, a feature that enhances the transmission performance when there are channel conflicts between the Wi-Fi and Thread networks.
7880

7981
# Resources
8082

8183
* Documentation for the latest version: https://docs.espressif.com/projects/esp-thread-br/. This documentation is built from the [docs directory](docs) of this repository.
8284

83-
* The [esp32.com forum](https://esp32.com/) is a place to ask questions and find community resources.
84-
8585
* [Check the Issues section on github](https://github.com/espressif/esp-thread-br/issues) if you find a bug or have a feature request. Please check existing Issues before opening a new one.
8686

8787
* If you're interested in contributing to ESP-THREAD-BR, please check the [Contributions Guide](https://docs.espressif.com/projects/esp-idf/en/latest/contribute/index.html).

docs/en/codelab/home_assistant.rst

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
*******************************
2+
3.7. Home Assistant Integration
3+
*******************************
4+
5+
Home Assistant offers integration with `OpenThread Border Routers <https://www.home-assistant.io/integrations/thread/#openthread-border-routers>`_, which can be configured and controlled via REST APIs.
6+
7+
The Espressif Thread BR solution provides the same `REST APIs <https://docs.espressif.com/projects/esp-thread-br/en/latest/codelab/web-gui.html#thread-rest-apis>`_ as OpenThread Border Routers (based on ot-br-posix), making it compatible with Home Assistant.
8+
9+
Hardware Prerequisites
10+
----------------------
11+
12+
- An ESP Thread Border Router
13+
- A `Home Assistant Hub <https://www.home-assistant.io/installation/>`_
14+
- A smartphone with the Home Assistant App installed
15+
16+
The ESP Thread BR firmware must have the ``CONFIG_OPENTHREAD_BR_START_WEB`` option enabled to activate the Web Server feature.
17+
18+
Ensure that the ESP Thread BR, Home Assistant Hub, and smartphone are connected to the same local network via Wi-Fi or Ethernet.
19+
20+
Add OpenThread Border Router Integration
21+
----------------------------------------
22+
23+
In the Home Assistant App, navigate to ``Settings`` -> ``Devices & services`` -> ``ADD INTEGRATION``, then add the following integrations:
24+
25+
- OpenThread Border Router
26+
- Thread
27+
28+
.. figure:: ../../images/HA_Thread_BR1.png
29+
:align: center
30+
:alt: Add Thread integrations
31+
:figclass: align-center
32+
33+
Add Thread integrations
34+
35+
Once the ESP Thread BR successfully connects to Wi-Fi and starts a Web server, obtain it's IPv4 address from the log entries (as shown below):
36+
37+
.. code-block::
38+
39+
I (5211) obtr_web: <=======================server start========================>
40+
41+
I (5211) obtr_web: http://192.168.3.112:80/index.html
42+
43+
I (5211) obtr_web: <===========================================================>
44+
45+
Go to the ``OpenThread Border Router`` integration, click ``ADD SERVICE``, then enter the IPv4 address of the Thread BR obtained earlier (with port number) in the ``URL`` field:
46+
47+
.. code-block::
48+
49+
http://192.168.3.112:80
50+
51+
The Home Assistant App will communicate with the Thread BR using Rest APIs once the URL has been successfully configured.
52+
53+
.. figure:: ../../images/HA_Thread_BR2.png
54+
:align: center
55+
:alt: Add Thread BR service
56+
:figclass: align-center
57+
58+
Add Thread BR service
59+
60+
Add Thread Integration
61+
----------------------
62+
63+
Go to the ``Thread`` integration and click ``CONFIGURE``, and ensure that the ESP Thread BR has been selected as the preferred network.
64+
65+
Next, click ``Send Credentials to Home Assistant`` and ``Send Credentials To Phone``. Home Assistant will retrieve the Thread credentials from the BR and store them in the user's account.
66+
67+
The Thread BR integration is now complete. You can now add Thread-based devices, such as those using the Matter integration.
68+
69+
.. figure:: ../../images/HA_Thread_BR3.png
70+
:align: center
71+
:alt: Add Matter over Thread device
72+
:figclass: align-center
73+
74+
Add Matter over Thread device

docs/en/codelab/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,6 @@
1212
nat64
1313
web-gui
1414
trel
15+
home_assistant
1516

1617

docs/en/dev-guide/build_and_run.rst

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ This document contains instructions on building the images for ESP Thread Border
99

1010
Clone the `esp-idf <https://github.com/espressif/esp-idf>`_ and the `esp-thread-br <https://github.com/espressif/esp-thread-br>`_ repository.
1111

12-
The current esp-thread-br master branch is compatible with the ESP-IDF commit `e6aeb3d <https://github.com/espressif/esp-idf/commit/e6aeb3d36d2fcaf578e4e53308191a8e262dc822>`_.
13-
1412
Refer to the specific tags for each stable release at `esp-thread-br releases <https://github.com/espressif/esp-thread-br/releases>`_.
1513

14+
Follow the steps below to obtain the latest esp-thread-br master branch and the recommended ESP-IDF version `v5.2.4 <https://github.com/espressif/esp-idf/tree/v5.2.4>`_ release:
15+
1616
.. code-block:: bash
1717
1818
git clone --recursive https://github.com/espressif/esp-idf.git
@@ -23,7 +23,7 @@ Refer to the specific tags for each stable release at `esp-thread-br releases <h
2323
2424
.. code-block:: bash
2525
26-
git checkout e6aeb3d36d2fcaf578e4e53308191a8e262dc822
26+
git checkout v5.2.4
2727
2828
.. code-block:: bash
2929
@@ -63,16 +63,13 @@ Select the ESP32-H2 as the RCP.
6363
6464
idf.py set-target esp32h2
6565
66-
The default communication interface on the ESP Thread Border Router board is UART0 with 460800 baudrate, which can be configured in `esp_ot_config.h <https://github.com/espressif/esp-idf/blob/master/examples/openthread/ot_rcp/main/esp_ot_config.h>`_.
67-
68-
.. code-block:: bash
69-
70-
idf.py menuconfig
71-
7266
.. code-block:: bash
7367
7468
idf.py build
7569
70+
.. note::
71+
72+
The default communication interface on the ESP Thread Border Router board uses UART0 with `baud rate = 460800`. If you are setting up a project using standalone modules, please update the UART configurations (`radio_uart_config`) in `esp_ot_config.h <https://github.com/espressif/esp-idf/blob/master/examples/openthread/ot_rcp/main/esp_ot_config.h>`_ before building the project.
7673

7774
2.1.3. Configure ESP Thread Border Router
7875
-----------------------------------------
@@ -101,17 +98,17 @@ For any other customized settings, you can configure the project in menuconfig.
10198

10299
`LWIP_IPV6_NUM_ADDRESSES` configuration is fixed in the border router library, it was changed from 8 to 12 since IDF v5.3.1 release. Please update this configuration based on the following table:
103100

104-
+--------------------+-------------------------+
105-
| IDF Versions | LWIP_IPV6_NUM_ADDRESSES |
106-
+--------------------+-------------------------+
107-
| v5.1.4 and earlier | 8 |
108-
+--------------------+-------------------------+
109-
| v5.2.2 and earlier | 8 |
110-
+--------------------+-------------------------+
111-
| v5.3.0 | 8 |
112-
+--------------------+-------------------------+
113-
| v5.3.1 and later | 12 |
114-
+--------------------+-------------------------+
101+
+----------------------------------------+-------------------------+
102+
| IDF Versions | LWIP_IPV6_NUM_ADDRESSES |
103+
+----------------------------------------+-------------------------+
104+
| v5.1.4 and earlier | 8 |
105+
+----------------------------------------+-------------------------+
106+
| v5.2.2 and earlier | 8 |
107+
+----------------------------------------+-------------------------+
108+
| v5.3.0 | 8 |
109+
+----------------------------------------+-------------------------+
110+
| v5.1.5, v5.2.3, v5.3.1, v5.4 and later | 12 |
111+
+----------------------------------------+-------------------------+
115112

116113
2.1.3.1. Wi-Fi based Thread Border Router
117114
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

docs/en/hardware_platforms.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ The development board has a variety of variants to choose from, as shown in the
5757

5858
* - ESP Thread BR-Zigbee GW
5959
- ESP32-S3-WROOM-1 and ESP32-H2-MINI-1
60-
- 4 MB
60+
- 8 MB [B]_
6161
- 2 MB
6262
- ESP Thread Border Router/Zigbee Gateway Board
6363
* - ESP Thread BR-Zigbee GW_SUB
@@ -67,6 +67,7 @@ The development board has a variety of variants to choose from, as shown in the
6767
- ESP Thread Border Router/Zigbee Gateway Sub-Ethernet
6868

6969
.. [A] The flash is integrated in the chip's package.
70+
.. [B] It was 4 MB in some early samples.
7071
7172
Retail Orders
7273
^^^^^^^^^^^^^

docs/en/index.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ It provides the following features:
1818
- Service Discovery
1919
- Multicast Forwarding
2020
- NAT64
21+
- Credential Sharing
22+
- TREL
2123
- RCP update
2224
- RF coexistence
2325
- Web GUI

0 commit comments

Comments
 (0)