11-14-2011 08:11 AM
Hello!
I'm trying to build a VI that recieve the heart rate from the polar wearlink bluetooth device for heart rate acquisition. I have build a vi, but the data from it is just gibberish for me. So I don't know how to transform it to anything useful. I'm using labview 2011. So far this VI looks like:
Data data which comes out from data out looks like:
Any help would be appreciated!
Solved! Go to Solution.
11-14-2011 08:22 AM
Try researching the device to see if there is a protocol description. The vendor/manufacturer may provide help.
11-14-2011 11:10 AM
This is going to be a tough one.
You need to do some detective work. If the manufacturer does not provide a specification, you can to convert it to all sorts of data formats and plot it out.
Right now, you have the data as a string. Convert it to an array of bytes and plot it as signed integer, unsigned integer, etc. Then convert it to Word and try the same. Then convert it to single and double, etc.
You can tell from the string that there is some sort of pattern in the data. Hopefully, you will see something in the data that you recognize.
11-14-2011 12:11 PM
Thank you both for taking the time to answer!
So I've emailed polar to see if they have any communication protocols available for me. Though it doesn't seems to have any publicly available. But I'll await an answer and see, meantime I'll try to do some detective work. Although I have no experience doing these kinds of conversions, so we will see how it goes..
12-14-2011 05:10 AM
okey, i found out that the messages from the polar should look like this:
fe 0a f5 07 d1 4b 03 3b 03 22
fe 08 f7 08 d1 4b 03 57
fe 0a f5 09 d1 4a 03 5b 03 53
fe 08 f7 0a d1 49 03 66
fe 0a f5 0b d1 49 03 58 03 4f
fe 08 f7 0c d1 49 03 23
fe 0a f5 0d d1 49 03 20 03 1f
fe 0a f5 0e d1 4a 03 2e 03 04
fe 08 f7 0f d1 4a 03 20 fe 0a
f5 00 d1 4a 03 27 03 1d
fe 0c f3 05 d1 5f 02 48 02 4f 02 48
fe 0c f3 00 d1 64 01 02 01 48 06 34
fe 0c f3 0d d1 62 02 12 02 0b 01 3d
and so on. Where the third hex f3, f5 and f7 decides the message size. And the sixth hex is the heart rate.
The data I get from the bluetooth seems to "miss" some of the data in the transfer?! Because i get the data:
FE08F701F1000317F1000317
FE08F703
FE08F704F1000317F1000317
FE0AF506372
FE08F707F146F508F14603410343F147034D
FE0AF50A2E9
FE0AF50BF14B
FE0AF50CF1490313F70DF1490366
FE0836C
FE0AF50FF147
FE08F700F1470330F147035E036B
FE0832A
FE0AF503F147
I have tried several different read options to the bluetooth read function, but still the same problem. Anyone know how what to try? I add an attachment of a picture of the code and the code itself
12-14-2011 09:02 AM
A wild guess is this has something to do with the message size and the fact that you wire a 12 to the " bytes to read" input:
bytes to read is the number of bytes to read. Use one of the following techniques to handle messages that might vary in size:
12-14-2011 02:54 PM
ah okay, now it is working. Added another bluetooth read, and the message size to bytes to read to that one. Thanks!
12-14-2011 05:15 PM
Hey JonasL,
Please post this up on the Biomedical User Group at ni.com/biomedusers - I think that group will really like what you have done!
Thanks,
Steve
02-17-2014 06:28 AM
Hi all! Does anyone know how to JoanSl deciphered the Bluetooth parcel with sensor Polar. What parameters are read it changed?
04-07-2014 02:36 AM
A solution is found. The value of heart rate in the parcel follow no writings, which can take values from 11, 21, 31... to ...E1, C1, D1, F1. In the first ten packages I make the definition of this mnemonics, and then use it as the main one.