Bluethooth Polor H7 Sensor

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
toxisch
User
Beiträge: 2
Registriert: Sonntag 19. April 2009, 16:39

Mittwoch 8. Januar 2020, 11:46

Hallo,
ich bin mit python noch nicht sehr vertraut.
Ich möchte von meinem Polar H7 Herzfrequnz-Sensor den aktuellen Puls auf meinen PC(linux) ausgeben.
Mit dem Tool bluetoothctl kann ich den Sensor identifizieren und der aktuelle Puls wird auf der Konsole als hex-Wert dargestellt.

Auszug von bluetoothctl:
[CHG] Device 00:22:D0:E1:5E:00 RSSI: -82
[CHG] Device 00:22:D0:E1:5E:00 ManufacturerData Key: 0x006b
[CHG] Device 00:22:D0:E1:5E:00 ManufacturerData Value:
2f 06 42 40

Der Wert 40 ist der Puls als Hex-Wert, also Puls 64

Mein Gedanke war nun die Darstellung in python zu realisieren und den Pulswert als große Zahl auf dem Display darzustellen.
Als Beispiel-Code für die bluethooth Schnittstelle habe ich gefunden:

import socket

hostMACAddress = '08:D4:0C:B4:10:B2' # The MAC address of a Bluetooth adapter host.
port = 3 # 3 is an arbitrary choice. However, it must match the port used by the client.
backlog = 1
size = 1024
s = socket.socket(socket.AF_BLUETOOTH, socket.SOCK_STREAM, socket.BTPROTO_RFCOMM)
s.bind((hostMACAddress,port))
s.listen(backlog)
try:
client, address = s.accept()
while 1:
data = client.recv(size)
if data:
print(data)
client.send(data)
except:
print("Closing socket")
client.close()
s.close()

Die Mac-Adressen hab ich entsprechend meines PC angepasst.

Leider erhalte ich keine Ausgabe

Frage: wo liegt hier mein Fehler?
Benutzeravatar
__blackjack__
User
Beiträge: 6385
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Mittwoch 8. Januar 2020, 13:44

@toxisch: Nimmt der Sensor denn von sich aus Kontakt zu einem Server auf? Und kurze Suche im Netz lässt vermuten, dass es sich um ein Bluetooth Low Energy Gerät handelt, da ist die Frage ob das überhaupt die klassische serielle Verbindung über Bluetooth kann. Was ist das für eine Mac-Adresse?
long long ago; /* in a galaxy far far away */
toxisch
User
Beiträge: 2
Registriert: Sonntag 19. April 2009, 16:39

Mittwoch 8. Januar 2020, 16:49

@__blackjack__
Also der Sensor ist wohl tatsächlich ein Low Energy Gerät. Sobald ich diesen an ein Brustgurt anstecke sendet er alle paar Sekunden den Puls.

Das Linux Tool "bluetoothctl" versucht durch den "scan on" Befehl mit dem Bluetooth-Controller des PC alle erreichbaren Bluetooth- devices der näheren Umgebung zu identifizieren. Erkannt wird dann u.a.
Controller 08:D4:0C:B4:10:B2 sidu06 (PC)
Device 00:22:D0:E1:5E:00 Polar H7 E15E001B

Die MAC-Adresse in dem python-script ist die vom Bluetooth-Adaper im PC.
Controller 08:D4:0C:B4:10:B2 sidu06 [default]

Ich hoffe diese Infos helfen weiter
__deets__
User
Beiträge: 8284
Registriert: Mittwoch 14. Oktober 2015, 14:29

Mittwoch 8. Januar 2020, 17:10

Ich denke du willst eher sowas hier nutzen: http://ianharvey.github.io/bluepy-doc/
Antworten