Telemetry
provides effortless communication between a computer and an embedded device.
Telemetry is a lightweight, portable, fast and error-resilient point-to-point protocol. It is implemented in C language with an equivalent in Python (Pytelemetry).
Data is exchanged on named channels, called topics. foo
, bar
and qux
are all topics on the figure above.
Telemetry
lets you attach your own C function to a topic. Each time this specific topic is received, your C function will be called and you will receive the associated data as an input parameter.
Telemetry is for you if :
- you are constantly re-writing custom protocols on top of the serial port
- you need a reliable and error-tolerant communication protocol for an application
- you are using
printf
to debug your embedded application (and looking for a better alternative) - you want to finely tune some parameter on the device without loosing time compiling & flashing over and over
- you want to plot parameters of your embedded application in real-time
pytelemetry
is the python equivalent of this protocol, and is 100% compatible.
You can use it to write simple python scripts that communicate with the device, to send commands and update parameters in real time.
It is highly suitable for remote control of robots, RC cars, etc.
pytelemetrycli
is an awesome command line interface that allows direct communication with the device.
Directly in a terminal, with a few commands, you can :
- list all received topics
- print samples from a given topic
- publish data on a topic
- open high-performance graphs that plots data from the device in real-time
- (to be done) full logging of a communication session
- (to be done) replay step-by-step of a session for deep analysis
All the information is in the Wiki.