This is the final blog post of my Athlete telemetry design challenge. As an official Challenger, my project brief was "to use the ON Semiconductor RSL10-SENSE-GEVK with Bluetooth connectivity to monitor their world and design a solution for day-to-day problems".
To summarise the background, as an amateur athlete, I have been using software called Sporttracks for the past 12 years or so to store running, cycling and indoor rowing data on my PC. This software is being deprecated on 31 March 2020 and, although the software authors are continuing to offer their cloud-based software, I would rather store my own data where I have control over it. A number of web-based platforms have suddenly stopped operating over the past few years and I don't want to run the risk of losing MY data. To record my activities, I mainly use a Garmin 220 GPS and heart rate monitoring watch, but this does not record the environmental conditions in which I am exercising.
My project for the Think ON Design Challenge was to use the RSL10-SENSE-DB-GEVK to supplement the Garmin data with environmental data, combine both data sets and store the data in a new PC-based software application. This involved:
- Finding an alternative to Sporttracks that would meet my specific requirements.
- Researching the different ways of getting both the Garmin data onto the PC and (via BLE and the cloud) the environmental data from the RSL10-SENSE-DB-GEVK device.
- Merging both data sets in the new PC-based activity-tracking software.
Blog #1 set the scene, the defined the design objectives and outlined the plan.
In Blog #2, I carried out a detailed Requirements definition of the PC software that would meet the design objectives. I then looked in some detail at three potential solutions - Golden Cheetah, MyTourbook and Traininglab Pro. There was a clear winner here (Golden Cheetah) and I then tested it by importing new data from the Garmin and historic data from Sporttracks. This was largely successful. I lost some historic data on which equipment I had used for each workout but this is a minor issue in practice as the data is no longer relevant (it was mostly just keeping track of how many miles I had done in each pair of running shoes).
Which development environment?
In Blog #3, I looked at the various ways of getting the data from the RSL10-SENSE-DB-GEVK device via BLE to an intermediary mobile device (phone or tablet) and then, via the cloud, onto my PC.
Because I hadn't received my RSL10-SENSE-DB-GEVK kit, I had to rely on testing that I had carried out when I RoadTested it in 2019. I tested the ON Semiconductor Sense & Control app and the Atmosphere IoT platform with Android phones and an iOS device (my iPad). In summary, I found that neither app was stable on my Android phone and the Sense & Control app worked OK for a while on my iPad but then stopped streaming after the screensaver kicked in. I preferred the Atmosphere IoT platform anyway because (unlike the Sense & Control app), you can develop your own mobile application. I have not been able to find the source code for the Sense & Control app and because it is aimed at a range of RSL10 devices, it is somewhat cluttered with functionality that doesn't work on the RSL10-SENSE-DB-GEVK kit.
Getting mobile sensor data onto the PC
In Blog #3, I also looked at how I could get the data from the Atmosphere IoT cloud onto the PC and into Golden Cheetah. I identified two ways of doing this (direct download and cloud integration). Because my RSL10-SENSE-DB-GEVK had still not arrived, I wasn't able to test this.
By Blog #4, time was running out and I still hadn't received my kit but, because I wanted to finish the project before the Challenge closing date, I temporarily retrieved my RoadTest RSL10-SENSE-DB-GEVK kit from where it had been deployed. This allowed me to test out some potential "wearable" enclosures for the RSL10-SENSE-DB-GEVK device. I was very satisfied with the enclosure that I had found.
If anyone is interested, this enclosure costs around £8.50, and the clip set is around £3.00. If you wanted the wrist strap, it is around £9.00. Volume discounts are available. (n.b. I have no connection with OKW Enclosures).
Now that I had everything in place, it only remained to take the wearable device out for a test run. If you've followed the previous blogs, you'll know that the Android mobile phones I tested didn't work properly with either of the apps so I had to use my iPad. If I had an iPhone, I would have used that, and either carried it in my hand, or strapped it to my arm. As it is too big to carry in my hand, I put my iPad in a backpack and went for a four mile run on a nice warm Spring day in London. For this test, I clipped the RSL10-SENSE-GEVK to the outside of the sleeve of my running top.
I am pleased to report that, from a data collection point of view, everything worked well. On a couple of occasions, data transmission to the Atmosphere IoT cloud was interrupted for a short while. This could either have been an interrupted BLE connection or loss of 4G signal. However, on both occasions, it recovered itself.
Here's a screenshot of some of the Garmin data in Excel format. The whole data set is several hundred rows.
And here's the sensor data for the same timeframe in csv format, downloaded from the Atmosphere cloud.
I noted that the timestamps for the Garmin data are late by exactly one hour (although the time shown on the watch is correct). I don't know why that is bit I'll have to bear it in mind when I import the sensor data into Golden Cheetah.
- Automating the integration of data between the RSL10-SENSE-DB-GEVK and the Garmin using Golden Cheetah remains to be done.
- If I end up clipping the RSL10-SENSE-DB-GEVK to my shoe when running to avoid my body heat skewing the temperature readings, I could collect some additional sensor data in the Atmosphere IoT cloud. Remembering that the RSL10-SENSE-DB-GEVK contains a six-axis BHI160 accelerometer/gyroscope, I can foresee some interesting experiments to look at foot cadence and running style.
My Design Challenge objectives were to:
- Find a replacement for the Sporttracks program as a way to store and analyse my training data on my desktop PC
- Gather the data from my Garmin HRM/GPS watch and telemetry data from the RSL10-SENSE-GEVK via MQTT and cloud services using the Sense and Control app provided
- Synchronise and store the data from both devices into the desktop PC application
So, how did I do?
- This project acted as an incentive to research alternative desktop PC software for downloading and storing my exercise data. I shall miss Sporttracks, but I am happy that Golden Cheetah will provide me with a good alternative that enables me to store and analyse new and past data.
- Collecting environmental data whilst on the move is not as easy as it looks. Although BLE works well and is a tried and tested technology, maintaining connectivity with a gateway device and simultaneously streaming it to the cloud is a bit more challenging. After testing various devices and two different apps, I found a combination that works pretty well and is reliable. I also identified a great wearable casing to protect the RSL10-SENSE-GEVK from the elements.
- I demonstrated how to get data from both devices (the Garmin and the RSL10-SENSE-GEVK) onto my PC, and I know how I can integrate both data sets into one within the Golden Cheetah application. I haven't yet had the chance to look at developing an API for Golden Cheetah to pull the data from the Atmosphere cloud, but Golden Cheetah already has an API for pulling data from the Strava web app, so I am optimistic.
So, by my reckoning, I met two and a half of my three objectives. I am sure that, had I received my official Challenger's kit, I would have met all three. I'm pretty happy with the result. Thank you for reading.