OpenThread Network Simulator (OTNS) simulates Thread networks using OpenThread POSIX instances and provides visualization and management of those simulated networks.
More information about Thread can be found at threadgroup.org. Thread is a registered trademark of the Thread Group, Inc.
To learn more about OpenThread, visit openthread.io.
Note: this is version 2.x of OTNS. It offers additional features compared to version 1:
- Support for more accurate RF simulation of OpenThread nodes. This uses the OpenThread platform
ot-rfsim
, which specifically supports RF simulation for OT nodes. This C code is included. - Selectable radio (RF propagation) models with tunable RF parameters.
- Runtime tunable radio parameters on each individual OT node. For example, CSL parameters or Rx sensitivity.
- Control of logging display from OT-node, using
log
andwatch
CLI commands. Logging to file per OT-node. The logging output can include any enabled OT-node log items. - Detailed logging options for RF operations (at log-level 'trace') performed in the simulated radio, at 1 us resolution.
- See packets in flight: animations in the GUI with a duration scaled to the actual time duration of a packet in flight (works at low simulation speed only).
- Support for easily adding various Thread node types (1.1, 1.2, 1.3, 1.4, 1.4 Border Router).
- New graphical displays for overall node type statistics, and energy usage (beta - contribution by Vinggui).
- Extended set of Python scripts for unit testing, examples, and case studies.
- Key Performance Indicators (KPI) module that tracks counters and statistics for all nodes.
- Loading/saving of network topologies in YAML files.
- Custom startup scripts with OT CLI commands, defined in a YAML file.
- Additional "WPAN-TAP" PCAP format that captures channel information.
- Various UI look & feel improvements.
See GUIDE to get started.
See OTNS CLI Reference for the OTNS CLI commands.
We would love for you to contribute to OTNS 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. See AUTHORS for the list of present authors.
OTNS follows the Semantic Versioning guidelines for release cycle transparency and to maintain backwards compatibility.
OTNS is released under the BSD 3-Clause license. See the LICENSE
file for more information.