/Telemetry

Data visualization and communication with embedded devices

Primary LanguageCMIT LicenseMIT

Join the chat at  https://gitter.im/Overdrivr/pytelemetry Stories in Ready Build status Documentation

Current status Paused development for now, will restart once I find better ways of managing and distributing general-purpose embedded libraries. However, library is functional good stability & test coverage.

Overview

Telemetry enables easy communication and data visualization between a computer and any embedded platform, like ARM Mbed or Arduino.

Specifically, Telemetry is a communication protocol, implemented in C language.

Overview

Data is exchanged on named channels, called topics (ex : foo, bar and qux on the figure above).

Sending data is called publishing.

Telemetry TM;
int32_t i = 123;

TM.pub_i32("foo", i);

For receiving data, Telemetry lets you attach variables and functions to topics. When fresh data is received under a topic, attached variables will be updated and attached functions will be called.

Telemetry TM;
float thr;

TM.attach_f32_to("throttle", &thr);

for(;;) {
  TM.update();
}

Wrappers

Telemetry is written to be portable and general-purpose, and the core code is not tied to any hardware.

Wrappers for specific platforms are written to provide a plug-and-play manner to use Telemetry:

Data visualization

As soon as a device publishes data, it is possible to leverage the power of the Pytelemetry Command Line Interface PyPI version.

This terminal application lets you interact with the device, using simple commands.

Opening a live plot is as simple as

:> plot someTopic

Plot example

Central documentation

All the information can be found from the Wiki Home.