Skip to main content

bikesrv - A server to measure the output of an exercising bike and make it available via an API.

Project description

About

bikesrv is a server to measure the output of an exercising bike and make it available via a web API.

Wait, what?

Ok, you know exercising bikes. That thing that looks like a bike, but doesn’t move. You use it when you want to get in shape.

Some of these bikes have an output signal that is fed to a small computer with a large display across a cable and a mini-jack. The display then shows your speed, virtual distance etc.

Turns out that this mini-jack just fits into the audio in of a stock computer. This is where bikesrv comes into play. It analyses the signal from the bike and computes the bike’s speed.

The final step is a built-in web server in bikesrv. It makes the current speed is available through a simple HTTP API.

Ok, but why?

You could do all sorts of analysing and feedback that an ordinary bike computer does.

But it is much more fun to turn the exercising bike into a game controller.

What is the HTTP API?

The server will listen on port 1805. If you call

http://HOST:1805/bikefreq

you will receive a text/plain response that contains the current number of revolutions per second.

Prerequisites

Python 2.x http://www.python.org

pyo https://code.google.com/p/pyo/issues/list

Installation

Unzip the file, then at the command line run

python setup.py install

Usage

On the command line, run

python2 bikesrv.py [options]

Options:

--version             show program's version number and exit

-h, --help            show this help message and exit

-v, --verbose         Display debugging information while analysing.

-r RATE, --rate=RATE  The number of measurements per second. Default: 500

-d DROPOUTS, --dropouts=DROPOUTS
                      The number of signal breaks per full wheel turn.
                      Default: 3

Documentation

To read the API documentation, open a shell / DOS window, navigate to the bikesrv directory, and run

pydoc bikesrv

You can create a HTML version using

pydoc -w bikesrv

License

bikesrv is licensed under the GPL. See the file COPYING for details.

Author

Florian Berger

Project details


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