Setting up OpenThread Border Router on NAVQ Plus
This application note provides a step-by-step guide on how to set up an OpenThread Border Router on the NAVQ Plus platform.
1. Thread Protocol
The Thread protocol is a low-power, wireless mesh networking protocol designed for smart home and IoT (Internet of Things) applications. It is built on open standards and operates on IEEE 802.15.4 radio frequencies, providing reliable and secure communication between devices.
Key features of the Thread protocol include:
Mesh Networking: Thread enables devices to form a self-healing and self-configuring mesh network. Devices can communicate with each other directly or through neighboring nodes, ensuring robust connectivity and extended range.
Low Power Consumption: Thread is designed for low-power devices, allowing them to operate on battery power for extended periods. It incorporates power-saving mechanisms such as sleepy end devices and efficient routing protocols.
IPv6 Support: Thread utilizes IPv6 (Internet Protocol version 6), providing each device in the network with a unique IP address. This enables seamless integration with the internet and simplifies communication between Thread devices and other IPv6-enabled devices.
Security: Thread prioritizes security and employs strong encryption mechanisms to protect data transmitted over the network. It includes features like secure key exchange, secure network joining, and secure data communication.
Scalability: Thread networks can support hundreds of devices, allowing for the deployment of large-scale IoT applications. The protocol ensures efficient network management and resource utilization.
Interoperability: Thread is designed to be interoperable, allowing devices from different manufacturers to communicate and work together seamlessly within a Thread network.
Thread provides a reliable and efficient networking solution for smart home automation, industrial control, and other IoT applications. Its open standard nature and support from industry alliances make it an attractive choice for building connected and interoperable ecosystems.
2. Thread Border Router
A Thread Border Router (TBR) is a device that connects a Thread network to other IP-based networks, such as the internet or local area networks (LANs). It acts as a gateway, facilitating communication between Thread devices and devices or services outside the Thread network.
3. Thread Radio Co-Processor
A Thread Radio Co-Processor (RCP) serves as the interface between the NAVQ Plus, where the OpenThread Border Router (OTBR) runs under Linux, and the Thread radio communication. The OTBR is compatible with various adapters, including the SONOFF Zigbee 3.0 USB Dongle Plus-E, commonly known as ZBDongle-E (available for purchasing on Amazon).
The ZBDongle-E is a Zigbee 3.0 USB dongle that supports the Thread protocol in addition to Zigbee. It acts as the Thread Radio Co-Processor for the NAVQ Plus, facilitating communication with Thread-enabled devices in the network.
By utilizing the ZBDongle-E or a similar compatible adapter, the NAVQ Plus can function as an OpenThread Border Router, enabling connectivity between the Thread network and other IP-based networks. This setup allows seamless integration of Thread devices with external devices or services, expanding the capabilities of the NAVQ Plus in a Thread network environment.
4. Hardware Setup
Connect the ZBDongle-E to the NAVQ Plus using an USB hub that is plugged into the USB1 port of the NAVQ Plus.
5. Flashing RCP Dongle
To utilize the Thread network with the ZBDongle-E and enable the Thread Radio Co-Processor firmware, follow these steps to flash the firmware using the Silabs universal flasher on the NAVQ Plus:
Install the Silabs universal flasher on the NAVQ Plus running the command below:
user@imx8mpnavq:~$ pip3 install universal-silabs-flasher
Download the RCP firmware:
user@imx8mpnavq:~$ wget https://github.com/darkxst/silabs-firmware-builder/raw/main/firmware_builds/zbdonglee/ot-rcp-v2.3.1.0-zbdonglee-230400.gbl
To flash the firmware onto the ZBDongle-E, use the following command:
user@imx8mpnavq:~$ sudo universal-silabs-flasher --device /dev/ttyACM0 \
flash --firmware ot-rcp-v2.3.1.0-zbdonglee-230400.gbl
--allow-cross-flashing
Unplug the dongle and plug it back. Run the below command to verify it is connected:
6. Software Setup
To ensure the proper operation of the Thread network with the NAVQ Plus, use NAVQ+ BSP Release 1.1.9 or higher.
To enable the OTBR (OpenThread Border Router) agent service to start automatically when the system boots, run the following command:
Enter the following command to start the OTBR agent service:
To verify if the OTBR agent has started successfully, use the following command:
7. Creating Dataset
Initialize a new dataset:
To set up network credentials such as the Personal Area Network ID (PAN ID), Extended Personal Area Network ID (XPAN ID), Network Name, and Network Key, use the following commands:
To generate the Pre-Shared Key (PSK) using the pskc
command, use the following syntax:
Replace PASSPHRASE
, EXTPANID
, and NETWORK_NAME
with the appropriate values for your network:
Set pskc
using the output of the command below:
Commit the active dataset:
Add the on-mesh prefix:
Issue the below commands to start the Thread network:
Wait for 10 seconds and verify the Thread network status:
To obtain the active dataset for use with the chip-tool
, issue the following command:
The active dataset contains information such as network settings, security keys, and other configuration parameters.
Please refer to Connecting Eve Energy with NAVQ Plus using Matter Protocol page as an example of connecting to a Thread device using the Matter protocol. This page provides detailed instructions and guidance on how to establish a connection and integrate the Eve Energy smart plug with the NAVQ Plus using the Matter protocol.