I have played with ANT a bit for my forthcoming micropower-Arduino project. I posted some very quick & dirty interface code here
and an EAGLE breakout board
for the pre-assembled modules, but got busy with some other stuff and haven't got around to making it into a library yet. That code does work though :-)
If you don't want to decode it on the device end, there is source code around for PC clients (such as libfitbit
) that can probably serve as a starting point to interfacing a specific device. If you have a specific device in mind, check around in case someone has already done the work to reverse-engineer its protocol; may save you a lot of time!
So far I have only used ANT radios to talk between my own microcontroller boards (or microcontroller board to ANT USB radio stick); I haven't tried talking to an ANT+ (or any other 3rd-party) gadget. I also haven't looked much at the "+" standards, but I remember them being pretty well-defined for the published ANT+ profiles
. If you can, dig up documentation for ".FIT file format" and "ANT-FS"; two related standards a given ANT+ device might use. You might have to sign up an account on their Web site or buy a development kit (or use google-fu...) to download those standards though.
As implied by the "not-quite-a-standard" rhetoric, if the device does not conform to one of the published ANT+ profiles
(of which there are just a handful), including having vendor-defined fields you want to access, you will probably have to do some amount of device-specific coding for the particular ANT+ (sport, etc.) device you want to talk to. I don't know the rules on what gets to be marked as an "ANT+" device, but my understanding is that the data for any *published* profile device will be accessible by any ANT receiver using the 8-byte key defined by the profile. (Some ANT (non-"+") devices are on so-called private networks; to get anything from them you have to know - or reverse engineer - a *secret* 8-byte key. Fortunately these keys are a somewhat poorly-kept secret (google is your friend) for most of the well-known manufacturers, and many of those devices' protocols are reverse-engineered already.)