|Software apps and online services:|
|Hand tools and fabrication machines:|
Most of people use their bicycles as a transport and sadly drive from home to work and back. However, that is not for us: we ride bicycles and do it hard. And we do this project for ones like us.
Have you ever ask yourself how crazy are your rides? Do your rides are as hard as you think are, or in fact you ride as a Slowpoke comparing to others? Now you will have answers for all this questions.
Here we present the Bicycle Crazymeter! It includes the SparkFun Blynk Board-based "black box" that measures lot of ride parameters: accelerations, angles, speed, altitude, tremble and others. The Blynk-based mobile application will show you how your ride is going and allows you to share this to others. PC application is used to organize challenges by defining the route, upload it to multiple Crazymeter boxes and then monitor rider’s positions and their craziness!
Here are two demos. The first one shows how Crazymeter works for riders.
The next demo shows how the Crazymeter works for spectators.
The "Black box" is a kind of flight recorder, that register all that happens during the riding and reports it to the server for viewing online.
In the heart of the "Black box" there is the SparkFun Blynk Board. It is a wonderful board, that has very small size, beautifull design and powerfull core with embedded Wi-Fi. It is the all-in-one solution: no more need in Arduino, Wi-Fi shields, bus connections etc.
For extreme features registration we used the gyroscope and the accelerometer. For speed, altitude and position identification, we used the GPS board.
The gyroscope and accelerometer board is attached to Blynk Board via I2C bus, the GPS module via Serial.
And there are still lot of pins on the Blynk Board for more devices. As usual, we use USB power bank as a power source for the "Black Box".
We design holders for power bank and boards.
However, the life is not so easy. Our 3D printer that we always use for our projects (one, two) breaks down immediately before this challenge deadline! So currently, we have only cardboard prototypes for the holders and it's sad.
Here is the final assembly attached to the bicycle.
The Blynk app is used for monitoring the crazyness of the current ride. It is mostly for the personal use of the rider itself, but can be also shared for spectators via Blynk sharing feature. You can run our app with the first QR code or clone with the second QR code:
The Blynk is a mysterious product. Select board, drag and drop items and... And you have a ready application for the smartphone with connection to the board, internet, cloud, sharing and more and more.
The life with Blynk was so easy, so there is really nothing else to write about how we develop it here. :)
Crazymeter application shows various measured values like speed, tremble, sideways and back/forth levels. It also shows the compozite crazines level.
Additionally the app includes the navigating functionality. It is possible to upload the route from PC app to the board/app and the app shows route points on the "display" one by one and direction to the next route point.
You can also see the app live in the posted above demo videos.
Oh, one problem report on Blynk! When we add more than 6 widgets with 1-2 seconds update period, the Blynk app loose connection to the board every 10-15 seconds. We assume that there are some kind of timeouts somewhere inside the app or embedded code, which leads to re-connection. We change the data update mode to "Push" and starts to send the widget data from the board to the app. That helps and now the app+board works fine with any number of widgets.
The PC app is used for organizing and spectating of the riding challenges. It allows to define challenge routes, upload them to the riders "Black boxes" and to monitor riders positions. Various measurements, including speed, crazyness and any other values can be also added to the PC app.
When we started the development we assume that we would need to use local version of the Blynk server and patch it to access data received from the app. But later we found thet Blynk server provide wonderfull HTTP API to access the data. With the HTTP API the development was really easy.