Reading from a Polar H7 Bluetooth Heartrate sensor
-
I have tried to connect to and read the pulse data from a Polar H7 sensor but is not managing to get it to work. Any ideas?
The error I get is:
Got services...
Reading from service 180d
Print chars found
char 2a37
Reading pulse data every second...
Exception caught...
the requested operation failedHere is the code:
from network import Bluetooth import time bt = Bluetooth() bt.start_scan(-1) # Code to connect to Polar H7 Bluetooth heartrate sensor # The detected Heartrate is "published" over the LoRaWAN network while True: adv = bt.get_adv() if adv: name = bt.resolve_adv_data(adv.data, Bluetooth.ADV_NAME_CMPL) if name is not None: if name.startswith("Polar H7"): print ("Found: " + name) bt.stop_scan() try: conn = bt.connect(adv.mac) print("Connected...") services = conn.services() print("Got services...") for service in services: time.sleep(0.05) # According to specification from Polar, service.uuid = 0x180D is Heart Rate and char.uuid = 2a37 is value in beats per minutes if service.uuid() == 0x180D: print('Reading from service %x' % service.uuid()) chars = service.characteristics() print("Print chars found") for char in chars: print('char %x' % char.uuid()) # Charactersistic 2a37 is a notification char and we need to enable notification to receive the ValueError if char.uuid() == 0x2a37: # Notify sensor that we want to receive pulse data. byte = bytes([1]) char.write(byte) while True: print("Reading pulse data every second...") print('char {} value = {}'.format(char.uuid(), char.read())) except Exception as ex: print("Exception caught...") print(ex) -
@arneme
The Heart Rate Measurement profile requires BLE notifications, it doesn't work with simple reads.However there isn't yet a system to receive BLE notifications on the LoPy so unfortunately you'll have to wait a bit more.
EDIT: Was catching up on the other threads and apparently this functionality could come next week. I also have a Polar H7 and can look into it at some point.
-
I was afraid that the notification part was missing in the firmware but great if it appears soon :-). Thanks for the speedy reply.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login