Pyspinel is a Python CLI for the Spinel protocol, used to configure and manage OpenThread NCPs or RCPs. This CLI is primarily targeted to CI tests, but can be used manually to experiment with and test OpenThread Co-Processor instances.
Pyspinel is used to:
- Add simulated Co-Processor testing to continuous integration.
- Automate testing of testbeds running Co-Processor firmware on hardware.
- Debug Co-Processor builds of OpenThread.
- Convert an OpenThread Co-Processor into a packet sniffer.
For more information, see the
README
in the Pyspinel
repository.
Get started
The quickest way to get started with Pyspinel is to try out the CLI:
- Install dependencies:
sudo apt install python3-pip
pip3 install --user pyserial ipaddress
- Clone the Pyspinel repository:
git clone https://github.com/openthread/pyspinel
- Install Pyspinel:
cd pyspinel
python3 setup.py install
- Clone and build a simiulated OpenThread NCP as described in
How to build OpenThread.
After cloning and bootstraping, build the sim example:
make -f examples/Makefile-simulation
- Run the Pyspinel CLI, using the path to your simulated build:
cd path-to-pyspinel
spinel-cli.py -p path-to-openthread/output/simulation/bin/ot-ncp-ftd -n 1
- Verify the OpenThread version:
version
OPENTHREAD/20180926-01310-g9fdcef20; SIMULATION; Feb 11 2020 14:09:56 - Start Thread on the simulated NCP and verify that it has become the leader
in a Thread network:
panid 1234
Doneifconfig up
Donethread start
Donestate
leader Done - View the help menu to see what commands are available:
help
Contribute
You can contribute to the ongoing development of Pyspinel by submitting bug reports and feature requests to the Issue Tracker.