Git Product home page Git Product logo

telemetry's Introduction

Stories in Ready Twitter Follow

Overview

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).

Overview

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.

Why using it ?

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

Python implementation PyPI version

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.

The Command Line Interface PyPI version

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

Setup & Utilisation

All the information is in the Wiki.

telemetry's People

Contributors

lucasmahieu avatar overdrivr avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.