Hello,
As a bicycle rider, I ran into an issue with my ANT+ devices and applications, and as a software developer with 10 years of experience in JAVA (and a few attempts in Android
) I decided that it would be great experience to overcome these difficulties by myself. Problem is that I've never developed anything related to ANT nor ANT+, and I do not even know if such scenario is possible.
I have:
- a bike
- an ANT+ cadence and speed sensor,
- an ANT+ heart rate monitor,
- an ANT enabled phone with ANT+ capable, popular, orange application (both sensors work well when connected directly to the application),
- a
not ANT capable home trainer machine and its speed-to-power characteristic charts.
What I would like to do is to read data from speed sensor, calculate approximate power output, and feed 3rd party application with this data
as if it was provided by power sensor. I've searched the forum, read some threads, downloaded manuals, and what I understood is that I can create an application, which would read data from my speed & cadence sensor with ANT+ SDK on one end, calculate values I need, and then I could probably send calculated data via 'raw' ANT (using ANT SDK), after creating appropriate ANT+ message (Cycling Power device profile) by myself. Is my understanding correct? Would ANT SDK allow me to send messages (as far as I understood, yes) and do I have to undertake any special steps (other than creating well-formed ANT+ message) so 3rd party application could receive them? If I do everything correctly, will my application be visible to fitness applications on the same phone just like another ANT+ sensor? (bonus question, not in scope of the problem, but also interesting: is it possible to receive messages from a sensor, and send messages further to another device via radio ANT?)
I know that I could just write an application that would create FIT/gpx file with data collected from all sensors and upload it manually, but then I would miss all data processing performed by 3rd party app, like data smoothening, etc. That's why I'd like to 'simulate' a sensor if possible.
Thanks,
Maciek
PS. Yes, I am aware that power calculated this way will vary from actual power output. I am more interested in software development aspect of the problem.