Thread CLI¶
The Thread CLI sample demonstrates how to send commands to a Thread device using the OpenThread Command Line Interface (CLI). The CLI is integrated into the Zephyr shell.
Sniffing packets from a Thread network
You can use nRF Sniffer for 802.15.4 to capture and analyze packets exchanged on a Thread network.
Requirements¶
Before you start, check that you have the required hardware and software:
- 2x nRF52840 Connect Kit
- 2x USB-C Cable
- A computer running macOS, Linux, or Windows 7 or newer
Building the sample¶
Before you start building, remember to set up the environment first.
Use the following steps to build the Thread CLI sample on the command line.
-
Open a terminal window.
-
Go to
my-workspace/ncs-playground
directory created in the Setting up the environment section. -
Build the sample using the
west
command, specifying the board (following the-b
option) asconnectkit_nrf52840
:Tip
The
-p always
option forces a pristine build, and is recommended for new users. Users may also use the-p auto
option, which will use heuristics to determine if a pristine build is required, such as when building another sample. -
After running the
west build
command, the build files can be found inbuild/zephyr
.
Flashing the firmware¶
The sample is designed to work with the UF2 Bootloader, so that you can easily flash the sample using the UF2 Bootloader. The firmware can be found in build/zephyr
with the name zephyr.uf2
.
To flash the firmware, complete the following steps:
-
Push and hold the USER button and plug your board into the USB port of your computer. Release the USER button after your board is connected. The RGB LED turns green.
-
It will mount as a Mass Storage Device called UF2BOOT.
-
Drag and drop
zephyr.uf2
onto the UF2BOOT volume. The RGB LED blinks red fast during flashing. -
Reset the board and the sample will start running.
Testing¶
After flashing the firmware to your board, complete the following steps to test it:
- Connect nRF52840 Connect Kit to your computer using the USB-C Cable.
-
Open up a serial terminal, specifying the correct serial port that your computer uses to communicate with the board:
-
Configure the required Thread network parameters with the
ot channel
,ot panid
, andot networkkey
commands. Make sure to use the same parameters for all nodes that you add to the network. The following example uses the default OpenThread parameters: -
Enable the Thread network with the
ot ifconfig up
andot thread start
commands: -
Invoke some of the OpenThread commands:
-
Test the state of the Thread network with the
ot state
command. For example: -
Get the Thread network name with the
ot networkname
command. For example: -
Get the IP addresses of the current Thread network with the
ot ipaddr
command. For example:
-
-
Test communication between the kits with the following command:
For example: