Skip to main content

command-line interface for data visualization and communication with embedded devices

Project description

Pytelemetry Command Line Interface

This module is a powerful command line interface for extremely fast debugging and communication with embedded systems.

It allows for plotting embedded device’s data on-the-fly, publishing values on any topics, listing serial ports and much more.

The CLI relies on custom protocol, implemented in Python and C languages. The main strength of this protocol is strong decoupling between communicating devices, simplicity yet flexibility.

For instance, the protocol supports sending standard linear data, but also arrays and sparse arrays in a network-friendly manner.

https://raw.githubusercontent.com/Overdrivr/pytelemetrycli/master/console.png https://raw.githubusercontent.com/Overdrivr/pytelemetrycli/master/graph.png

pytelemetry

This module is the Python implementation of the communication protocol.

It can be used directly (without the CLI) to script communications with an embedded device.

from pytelemetry import Pytelemetry
from pytelemetry.transports.serialtransport import SerialTransport
import time

transport = SerialTransport()
tlm = Pytelemetry(transport)
transport.connect({port:'com9',baudrate:'9600'})

# publish once on topic 'throttle' (a named communication channel)
tlm.publish('throttle',0.8,'float32')

def printer(topic, data, opts):
    print(topic," : ", data)

# Subscribe a `printer` function called on every frame with topic 'feedback'.
tlm.subscribe("feedback", printer)

# Update during 3 seconds
timeout = time.time() + 3
while True:
    tlm.update()
    if time.time() > timeout:
        break

# disconnect
transport.disconnect()
print("Done.")

Language C implementation

Telemetry is the same protocol implemented in C language.

Centralized documentation

The documentation for all three projects is centralized here.

MIT License, (C) 2015-2016 Rémi Bèges (remi.beges@gmail.com)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pytelemetrycli-1.0.6-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file pytelemetrycli-1.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for pytelemetrycli-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 f895ca6e6bdeca5acb968ddf196e58587d79512e0bb8e4999bc8c091ef8a6043
MD5 b409fdb0e05038f6cccd4efa800aa0f6
BLAKE2b-256 38bf16fb4715804d1b54502692a90ea84c7d38d729d4a0eb43611ac7fbc7364a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page