1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/examples/openthread/README.md
2018-10-16 15:25:44 +02:00

71 lines
2.1 KiB
Markdown

## OpenThread on RIOT
This example demonstrates how to use the [OpenThread](https://github.com/openthread/openthread)
open source implementation of [Thread](https://threadgroup.org/) on RIOT.
The [Command Line Interface](https://github.com/openthread/openthread/blob/master/examples/apps/cli/README.md) of
OpenThread was ported. Please check the
[full documentation](https://github.com/openthread/openthread/blob/master/src/cli/README.md)
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
```
2. Check the state of the node with `state`. In the beginning, it should be
`detached`, but after some seconds it should become `leader`
3. Start another node and check that it becomes `router`. There is only one
leader in a Thread network.
4. 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
```
5. Ping from another node with
```
ping fdde:ad00:beef:0:946a:c722:a5d9:848
```
6. You can try IEEE802.15.4 scan with `scan` command
7. 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](https://github.com/RIOT-OS/RIOT/issues/new?template=bug_report.md&title=Bug).