Open Askidea opened 6 days ago
We have run the ZigBee Gateway(Bridge) and Thread Border Router simultaneously on one S3 + one H2 board with an internal branch, but there are still some MRs to be merged in ESP-IDF about spinel changes and multi PAN support for this feature. Note that there is a limitation for running Zigbee Gateway and border router with only one H2, the channel for Thread network and zigbee network should be the same as there is only one radio on H2.
@wqx6
Couldn't I refer to the internal branch you mentioned? It seems that simply merging the basic_thread_border_router
code and configurations with the zigbee_bridge
does not solve the problem, and deep knowledge of the ESP SDK is needed to solve this issue.
You could not simply merging the basic_thread_border_router code and configurations with the zigbee_bridge to use them simultaneously, since both the ZigbeeBridge and TBR will use ESP32-H2 as RCP, but the RCP firmware on ESP32-H2 for Zigbee bridge is different from the one for TBR, we are going to release a new RCP firmware based on Spinel protocol and the RCP can be use for both the Zigbee bridge and TBR. and then we will make the host of Zigbee bridge uses Spinel to transmit the Zigbee packets to the RCP. Currently it is not Spinel.
If you want to require the branch that can be used for integrating TBR and Zigbee Bridge, you can reach our business team for it https://www.espressif.com/en/contact-us/technical-inquiries
You could not simply merging the basic_thread_border_router code and configurations with the zigbee_bridge to use them simultaneously, since both the ZigbeeBridge and TBR will use ESP32-H2 as RCP, but the RCP firmware on ESP32-H2 for Zigbee bridge is different from the one for TBR, we are going to release a new RCP firmware based on Spinel protocol and the RCP can be use for both the Zigbee bridge and TBR. and then we will make the host of Zigbee bridge uses Spinel to transmit the Zigbee packets to the RCP. Currently it is not Spinel.
I tried connecting ot_rcp
(esp-idf v5.1) running on H2 to each zigbee_bridge
(esp-matter & idf v5.4) and basic_thread_border_router
(esp-thread-br & idf v5.4). And I confirmed that Matter and Zigbee devices were controlled. Looking at this, it seems that the Zigbee bridge also supports the Spinel interface.
Sorry, I forgot that the Zigbee Bridge has switched to using ot_rcp
now. However, to use one rcp for Zigbee Bridge and TBR, there is still a feature named Multi-PAN which is required for integrating TBR and Zigbee Bridge. With that feature, the RCP will be able to know whether the packets transferred by Spinel are for Thread or Zigbee and the host chip will be able to transfer Zigbee&Thread with Sipnel on single UART port.
Describe the question/query that you have
I am working on merging the example codes from the
esp-matter
andesp-thread-br
repositories to make the Matter Zigbee Bridge and the Thread Border Router function operate simultaneously on the ESP32-S3 board. Based on thezigbee_bridge
code inesp-matter
, I merged what I thought was necessary among thebasic_thread_border_router
sources inesp-thread-br.
The ESP32-S3 was tested in both ways: using a Border router devkit board (Zigbee gateway board) and using a stand alone board.I succeeded in integrating the source code and building it, but an error occurred while running. This error occurred while initializing the openthread stack inside the function while calling
esp_matter::start()
inapp_main()
ofzigbee_bridge
. The cause was found to be related to the enabled/disabled setting of "Top -> Component config -> OpenThread" in menuconfig. The OpenThread menu item was not checked inzigbee_bridge
's menuconfig, but this item had to be checked inbasic_thread_border_router
, so a conflict was occurring.Environment
Additional context
I would like to ask a few questions regarding this.
Q1. Is it possible to have the Matter Zigbee Bridge task and the Thread Border Router task run simultaneously on the ESP32-S3 board?
Q2. When building the zigbee_bridge source by merging the basic_thread_border_router source in the esp-matter repository and running it on the Zigbee gateway devkit (S3 with 4MB flash), the following error occurred. Is there any way to solve this?
Q3. When I uploaded and ran the integrated binary built in Q2 to S3 (8MB) in the form of a stand alone devkit, the following error occurred. After booting, the reset phenomenon appears to repeat infinitely. What is the cause?