OpenThread Control Interface
Project description
OpenThread Control Interface
The OpenThread Control Interface (OTCI) is a library which provides uniform python interfaces to connect and control various kinds of devices running OpenThread.
Supported device types
- OpenThread CLI
- SOC device via Serial
- OpenThread NCP (limited support via pyspinel)
- SOC device via Serial
- OpenThread Border Router
- OTBR device via SSH
Example
import otci
# Connect to an OTBR device via SSH
node1 = otci.connect_otbr_ssh("192.168.1.101")
# Connect to an OpenThread CLI device via Serial
node2 = otci.connect_cli_serial("/dev/ttyACM0"))
# Start node1 to become Leader
node1.dataset_init_buffer()
node1.dataset_set_buffer(network_name='test', network_key='00112233445566778899aabbccddeeff', panid=0xface, channel=11)
node1.dataset_commit_buffer('active')
node1.ifconfig_up()
node1.thread_start()
node1.wait(5)
assert node1.get_state() == "leader"
# Start Commissioner on node1
node1.commissioner_start()
node1.wait(3)
node1.commissioner_add_joiner("TEST123",eui64='*')
# Start node2
node2.ifconfig_up()
node2.set_router_selection_jitter(1)
# Start Joiner on node2 to join the network
node2.joiner_start("TEST123")
node2.wait(10, expect_line="Join success")
# Wait for node 2 to become Router
node2.thread_start()
node2.wait(5)
assert node2.get_state() == "router"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
openthread_otci-0.0.1.tar.gz
(37.3 kB
view hashes)
Built Distribution
Close
Hashes for openthread_otci-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c946380d69af67ccf0bacc44bdedc5caf20d3486ae470879202b084dd307c6d7 |
|
MD5 | 9b7144c8544c6369d4a9571bcce483f6 |
|
BLAKE2b-256 | 8bba0f08aad73dc2ff1eac9fe1bf2b1bbbc1d3dc67c15de19156acc73b982bb3 |