From d5885b61dbe007e2272f11a2a60f43b7fdf7b44e Mon Sep 17 00:00:00 2001 From: Stefan Schmidt <stefan.schmidt@huawei.com> Date: Wed, 12 Oct 2022 15:01:34 +0200 Subject: [PATCH] supported-technologies/openthread: update OpenThread docs to match current status Extend the OpenThread documentation to describe the different bitbake building targets and use cases we are supporting in Oniro. Also reference to the existing Transparent Gateway documentation for further documentation. Closes: https://gitlab.eclipse.org/eclipse/oniro-core/docs/-/issues/8 Signed-off-by: Stefan Schmidt <stefan.schmidt@huawei.com> --- docs/supported-technologies/openthread.rst | 55 +++++++++++++++++++--- 1 file changed, 49 insertions(+), 6 deletions(-) diff --git a/docs/supported-technologies/openthread.rst b/docs/supported-technologies/openthread.rst index c29ffad9..96b7a1a3 100644 --- a/docs/supported-technologies/openthread.rst +++ b/docs/supported-technologies/openthread.rst @@ -19,10 +19,53 @@ Some of the main advantages of implementing OpenThread are: For more details on OpenThread, `Click <https://openthread.io/guides/thread-primer>`__. -Connecting to Internet -********************** +OpenThread support in Oniro +*************************** -You can connect the Thread network to the internet using the Thread Border Router. -The Thread Border Router is an open-source implementation provided by the -OpenThread community. -For instructions on how to set up a Border Router, `Click <https://openthread.io/guides/border-router>`__. +The OpenThread open-source project offers a few key components needed to +operate in a Thread network. The core protocol implementation can run on +bare-metal, RTOS or Linux, depending on your use case. Oniro supports +running a Thread node on the Zephyr flavour and a full border router on +the Linux flavour. The following four targets can be build with bitbake and the +Oniro layers: + +* OpenThread Border Router (bitbake ot-br-posix) + A fully fledged border router configuration where you have at least one Thread + network interface and an additional one to other networks (e.g. Wi-Fi or + Ethernet), and optionally an internet uplink. + +* OpenThread posix service (bitbake ot-daemon) + For a use case where the device only wants to join a Thread network, but does + not need to have full border router capabilities. The ot-daemon service runs + on Linux and offers a standard Linux network interface e.g. `wpan0` to operate + on. + +* Radio Co-Processor firmware (bitbake zephyr-openthread-rcp) + For the border router configuration, a radio interface is needed to communicate + with the Thread network. The hardware could be the usual Arduino Nano 33 BLE or + a USB dongle with the same SoC as the Arduino Nano 33 BLE. To work with the + OpenThread Border router on the Linux side this special firmware neededs to be + flashed to the radio device. + +* OpenThread node on Zephyr (bitbake zephyr-blueprint-gateway-node) + The node target is only available if the build includes the Oniro blueprint + layer. This example application configures various details needed to run + OpenThread on Zephyr. It can be used as the base for developing an application. + +None of the components is part of the default images provided by Oniro. To add +them to your custom image, you would need to define a custom image recipe, or append +to `local.conf` something similar to: + +.. code-block:: console + + IMAGE_INSTALL:append = " ot-br-posix" + +Oniro Blueprint with OpenThread +******************************* + +To demonstrate a turn-key solution with an OpenThread Border Router on Linux, +as well as an OpenThread node based on Zephyr, Oniro implemented a `Transparent +Gateway Blueperint +<https://docs.oniroproject.org/projects/blueprints/transparent-gateway.html>`__. +In the blueprint documentation you can find more details on building and flashing +the components and on-boarding the device with a mobile application. -- GitLab