bikesrv - A server to measure the output of an exercising bike and make it available via an API.
bikesrv is a server to measure the output of an exercising bike and make it available via a web API.
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.
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.
The server will listen on port 1805. If you call
you will receive a text/plain response that contains the current number of revolutions per second.
Unzip the file, then at the command line run
python setup.py install
On the command line, run
python2 bikesrv.py [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
To read the API documentation, open a shell / DOS window, navigate to the bikesrv directory, and run
You can create a HTML version using
pydoc -w bikesrv
bikesrv is licensed under the GPL. See the file COPYING for details.