Skip to content

gopher-motorsports/trackside-telemetry

Repository files navigation

Telemetry

Trackside telemetry system for Gopher Motorsports

Features

  • Data streaming over XBee radio transmitters
  • Database storage and visualisation
  • Built-in vehicle sensor simulator

Description

The intended use of this package is for drive days and competition for Gopher Motorsports - UMN FSAE. One XBee radio transmitter is connected to the DLM within the vehicle. Data packets containing sensor information about the car is streamed to another XBee connected to a trackside computer. This package will parse the incoming bytes, store the data in InfluxDB, and display the data in Grafana.

Installation

Please install using this command on Linux/MacOS:

curl -LJO https://github.com/gopher-motorsports/trackside-telemetry/releases/download/cli/trackside-0.9.1-py3-none-any.whl ; pip install trackside-0.9.1-py3-none-any.whl

Usage

To start the trackside system:

$ trackside

Note: --usb flag may need to be used depending on the name of your USB port in /dev. Example usage:

$ trackside --usb /dev/ttyUSB1

Python Package

>>> import trackside as ts

To start the receiver:

>>> ts.reciever()

To start and run the DLMSimulator, and decode a test packet:

>>> sim = ts.DLM()
>>> sim.run()
>>> packet = sim.data
>>> output = parse_packet(packet)

To log a CSV file in InfluxDB:

>>> iw = ts.InfluxWriter()
>>> iw.write_csv('./file.csv')

To read a packet waiting in the XBee buffer:

>>> tl = ts.TracksideLogger()
>>> bytes = tl.read()
>>> output = parse_packet(bytes)
>>> del tl

Contributing contributions welcome

Organizers

Developers

Demo

Please watch our video demo.