1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 00:09:46 +01:00
RIOT/examples/openthread
2024-03-26 14:53:35 +01:00
..
main.c examples/openthread: call OpenThread API using Event Queue 2021-06-14 16:00:13 +02:00
Makefile examples/openthread: Skip Kconfig test in murdock 2023-06-02 12:45:45 +02:00
README.md examples/openthread: move test to examples 2018-10-16 15:25:44 +02:00

OpenThread on RIOT

This example demonstrates how to use the OpenThread open source implementation of Thread on RIOT.

The Command Line Interface of OpenThread was ported. Please check the full documentation of the CLI for usage information.

You can either build a FTD or MTD firmware:

  • MTD: A Minimal Thread Device does not have router functionality compiled in. An MTD may or may not be sleepy.
  • FTD: A Full Thread Device has router functionality compiled in.

Quick usage

With RIOT port, a node is auto-setup and ready to communicate with this configuration:

OPENTHREAD_PANID=0xbeef
OPENTHREAD_CHANNEL=26

You can pass the panid/channel independently when building the firmware:

make BOARD=<target> OPENTHREAD_PANID=0xaaaa OPENTHREAD_TYPE=ftd flash term
make BOARD=<target> OPENTHREAD_CHANNEL=20 OPENTHREAD_TYPE=ftd flash term

To try OpenThread in RIOT, you can do the following:

  1. Flash nodes with MTD or FTD functionality:
make BOARD=<target> clean all flash OPENTHREAD_TYPE=mtd
make BOARD=<target> clean all flash OPENTHREAD_TYPE=ftd
  1. Check the state of the node with state. In the beginning, it should be detached, but after some seconds it should become leader

  2. Start another node and check that it becomes router. There is only one leader in a Thread network.

  3. Get the mesh IP address of a node with ipaddr.

ipaddr
   fdde:ad00:beef::ff:fe00:8000
   fe80::ff:fe00:8000
   fdde:ad00:beef:0:946a:c722:a5d9:8481
   fe80::3984:f4eb:d182:5dae
  1. Ping from another node with
ping fdde:ad00:beef:0:946a:c722:a5d9:848
  1. You can try IEEE802.15.4 scan with scan command

  2. You can also check other commands with help

OpenThread port on RIOT status

OpenThread port on RIOT is stable. In case of any bug, please report via GitHub issue.