I recently purchased Nike+ Sportband, this is a nice useful device, I really love it. However, since I usually use Linux, I don't want to boot Windows PC for just transfer data from it. I search a software to transfer data on Linux, but no luck.
I decided to create the software myself and start learning how to transfer.
I analysed the USB packet on Windows and successfully get a run data from Sportband. Here is the program for transfer run data from Sportband on Linux and translate it to distance and duration.
I analysed the run data, here is what I understand;
- Run data is start with code "0xe300".
- Individual run data is start with "0xe800" and end with "0xe900".
- 0xe800 followed by date and time which is 32bit time_t format and 24 byte data.
- 0xe900 followed by date and time which is 32bit time_t format and 6 byte data.
- When press pause, code "0xea00" is recorded followed by 32bit date and time.
- When press pause again (resume), code "0xeb00" is recorded followed by 32bit date and time.
- When activity changes from walk to run, code 0xe200 is recorded.
- When activity changes from run to walk, code 0xe201 is recorded.
- Three bit data is recorded every second, then five seconds data are packed in a 16bit data.
- Activity data for every second means how long you ran in the second (zero to six). Seven means no signal from sensor (for example, you stopped at traffic light).
From my analysis (and assumption) , I wrote the program for translate the data into distance and duration. Please refer my latest post.
I wonder if somebody help for test the program.
The C source code for transfer and analyse the data can be downloaded from here.