GithubHelp home page GithubHelp logo

ot-docs's Introduction

OpenThread Build Simulation Docker Coverage Status


What is OpenThread?

OpenThread released by Google is... Thread Certified Component

...an open-source implementation of the Thread networking protocol. Google Nest has released OpenThread to make the technology used in Nest products more broadly available to developers to accelerate the development of products for the connected home.

...OS and platform agnostic, with a narrow platform abstraction layer and a small memory footprint, making it highly portable. It supports both system-on-chip (SoC) and network co-processor (NCP) designs.

...a Thread Certified Component, implementing all features defined in the Thread 1.3.0 specification, including all Thread networking layers (IPv6, 6LoWPAN, IEEE 802.15.4 with MAC security, Mesh Link Establishment, Mesh Routing) and device roles, as well as Border Router support.

More information about Thread can be found at threadgroup.org. Thread is a registered trademark of the Thread Group, Inc.

Who supports OpenThread?

AmazonAqaraARMCascodaEeroEspressifGoogleInfineonMMB NetworksNabu CasaNanoleafNordicNXPQorvoQualcommSamsungSilicon LabsSTMicroelectronicsSynopsysTelink SemiconductorTexas InstrumentsZephyr Project

Getting started

All end-user documentation and guides are located at openthread.io. If you're looking to do things like...

  • Learn more about OpenThread features and enhancements
  • Use OpenThread in your products
  • Learn how to build and configure a Thread network
  • Port OpenThread to a new platform
  • Build an application on top of OpenThread
  • Certify a product using OpenThread

...then openthread.io is the place for you.

Note: For users in China, end-user documentation is available at openthread.google.cn.

If you're interested in contributing to OpenThread, read on.

Contributing

We would love for you to contribute to OpenThread and help make it even better than it is today! See our Contributing Guidelines for more information.

Contributors are required to abide by our Code of Conduct and Coding Conventions and Style Guide.

License

OpenThread is released under the BSD 3-Clause license. See the LICENSE file for more information.

Please only use the OpenThread name and marks when accurately referencing this software distribution. Do not use the marks in a way that suggests you are endorsed by or otherwise affiliated with Nest, Google, or The Thread Group.

Need help?

OpenThread support is available on GitHub:

ot-docs's People

Contributors

agners avatar ar0311 avatar dsyx avatar erjiaqing avatar gabekassel avatar gavinmcgovern avatar gjc13 avatar j-noel-longhand avatar jcdong98 avatar jrhodie avatar jwhui avatar kylorene avatar librasungirl avatar lmnotran avatar pulin1103 avatar sarah-iot avatar silabs-mithil avatar simonlingoogle avatar srickardti avatar superwhd avatar thedevleon avatar vyrastas avatar wgtdkp avatar xuyirio avatar zwx1995esp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ot-docs's Issues

otUdpBind example usage need to be updated

OpenThread PR#6761 added a new arg for otUdpBind(..., otNetifIdentifier aNetif).
The example in the codelab is still using the old API.

When the example is build, the compile error out like this:

../openthread/examples/apps/cli/main.c:319:5: error: too few arguments to function 'otUdpBind'
  319 |     otUdpBind(aInstance, &sUdpSocket, &listenSockAddr);
      |     ^~~~~~~~~
In file included from ../openthread/examples/apps/cli/main.c:46:
../openthread/include/openthread/udp.h:209:9: note: declared here
  209 | otError otUdpBind(otInstance *aInstance, otUdpSocket *aSocket, const otSockAddr *aSockName, otNetifIdentifier aNetif);
      |         ^~~~~~~~~

Not sure if OT_NETIF_UNSPECIFIED or OT_NETIF_THREAD is the correct answer for this example code.

Quitting ot-ctl will not lead to termination of ot-daemon

In the chapter Manage the network with OpenThread Daemon of the codelab Simulating a Thread network with OpenThread (site/en/codelabs/openthread-simulation-posix/index.lab.md), the document states that quit ot-ctl by using Ctrl+D, which did not work on my macOS 12.4, with the current latest Thread version 4. In addition, ot-daemon will not terminate as instructed when trying to use exit command to quit ot-ctl. I guess that the mechanism may change after the version upgrades.

ping missing from openthread/codelab_otsim Docker image

Minor problem, but ping is missing from the openthread/codelab_otsim Docker image.

> root@ebc7d981f006:~/src/openthread# ping6 -c 4 fdca:f078:8ce4:39be:b258:c4b4:24b6:d7d
bash: ping6: command not found

We can either update the Codelab to instruct the reader to run apt install inetutls-ping,
or the image can be updated to include the tool.

Codelab 'Simulating a Thread network using OpenThread in Docker': unable to run ot-daemon

The Docker Thread sim Codelab has a possible issue with running the ot-daemon in container #2 (https://openthread.io/codelabs/openthread-simulation#4).

Initially, the daemon is unable to find the ipset command (apparently this is missing from the Docker image).

Once ipset is installed, however, it displays a message that the ip set does not exist:

root@162dbab6802a:~/src/openthread# ./output/posix/bin/ot-daemon -v 'spinel+hdlc+forkpty://output/simulation/bin/ot-rcp?forkpty-arg=2'
./output/posix/bin/ot-daemon[170]: Running OPENTHREAD/g442b7e82f; POSIX; Jan  7 2022 05:52:28
./output/posix/bin/ot-daemon[170]: Thread version: 3
./output/posix/bin/ot-daemon[170]: Thread interface: wpan0
./output/posix/bin/ot-daemon[170]: RCP version: OPENTHREAD/g442b7e82f; SIMULATION; Jan  7 2022 05:50:28
ipset v6.34: Kernel support protocol versions 6-7 while userspace supports protocol versions 6-6
The set with the given name does not exist

When one runs ipset list, no ip sets are listed.

This behavior was observed on two different Debian machines, one running the latest vanilla Debian Stretch.

Need to specify Thread interface when executing ot-ctl on macOS

In the chapter Manage the network with OpenThread Daemon of the codelab Simulating a Thread network with OpenThread (site/en/codelabs/openthread-simulation-posix/index.lab.md), I start ot-daemon with the command ./output/posix/bin/ot-daemon -v 'spinel+hdlc+forkpty://output/simulation/bin/ot-rcp?forkpty-arg=2' as it instructs. On my macOS 12.4, it outputs

Jun 22 11:57:45  ./output/posix/bin/ot-daemon[24378] <Info>: Running OPENTHREAD/20200818-01767-g481a064f0; POSIX; Jun 21 2022 15:35:36
Jun 22 11:57:45  ./output/posix/bin/ot-daemon[24378] <Info>: Thread version: 4
Jun 22 11:57:46  ./output/posix/bin/ot-daemon[24378] <Info>: Thread interface: utun4
Jun 22 11:57:46  ./output/posix/bin/ot-daemon[24378] <Info>: RCP version: OPENTHREAD/20200818-01767-g481a064f0; SIMULATION; Jun 21 2022 15:33:51

Notice that Thread interface used by ot-daemon is utun4 while the default interface used by ot-ctl is wpan0. So we have to manually specify the interface with arguments -I utun4 in this case when starting ot-ctl later, i.e., execute ./output/posix/bin/ot-ctl -I utun4 instead of ./output/posix/bin/ot-ctl.

No ping6 in codelab_otsim

When following https://openthread.io/codelabs/openthread-simulation#4 step 5, I get the following:

root@a761053b08c5:~/src/openthread# ping6 -c 4 fdd5:a079:4a43:2154:7d6a:709b:42d:a16d
bash: ping6: command not found

If I manually install the iputils-ping package, it works OK, so it looks like ping6 is missing from the Docker image.

It also says:

on your host machine's command line, ping Node 1

whereas it makes more sense to me to say something like:

on the container's command line, ping Node 1

Missing old Raspberry Pi SoftAP configuration

Hi there,

Back ago, I've followed on opentherad.io a guide to setup a SoftAP on the Raspberry Pi and configuration of all the services (dnsmasq, hostapd, tayga, NAT, ip fwd, etc...) to have a running setup to use along with Thread 1.1 external commissioning App.
Today I'd like to rebuild the same setup with a up to date OTBR and RCP code but this part is missing in the docs.
Commit 6a8ae56 suggests it has been done on purpose.

What is the reason behind that ?
BTW, today's doc suggests RPi is still providing an AP.

image

Thx and Regards

BeagleBone Black not booting after following OTBR guide

Hello!
I'm building an OTBR with my BeagleBone Black and an ESP32-H2.

[Problem]
After executing the command INFRA_IF_NAME=wlan0 ./script/setup in the OTBR guide (URL: https://openthread.io/guides/border-router/build) and rebooting the board I cannot connect to it. Even if I ping beaglebone.local it does not resolve the name. Notably, the 4 LEDs of the BBB are blinking in the following sequence: D2(0), D2(0), D4(2) D(2). The D4 LED blinks softly, though, and the sequence is a little bit unclear (quite fast and weird).

[Important Information]

  • I'm using an 8GB uSD card I flashed with the image bone-debian-10.3-iot-armhf-2020-04-06-4gb.img.xz as per the guide with URL https://openthread.io/guides/border-router/beaglebone-black
  • The BBB is connected with ETHERNET to the router.
  • The BBB is connected to the PC as well.
  • The PC I'm using has an UBUNTU 22.04 LTS installed.

[What I would like]
To fix this issue, because the alternative is to start all over again by flashing the uSD card and installing everything.

All help is appreciated!

Add a linter for Markdown formatting

See if we can use prettify for Markdown content. This content has some special Markdown formatting specific to the openthread.io import that must be accounted for.

Silicon Labs EFR32 Codelab Updates

Hi @silabs-mithil,
I was just going through our documentation and noticed that the EFR32 Codelab is referencing an older Docker tag: siliconlabsinc/openthread-border-router:gsdk-3.2.0

I see that there are some newer images: https://hub.docker.com/r/siliconlabsinc/openthread-border-router/tags

Would it be possible to update this Codelab to a more recent Thread 1.2 version? Is it just a matter of updating the tag, or does the Codelab need additional updates too?

Thanks so much, and please let me know if there's anything I can do to help. I'm happy to make any updates required.
Sarah
@Vyrastas

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.