Forum: Mikrocontroller und Digitale Elektronik Welcher Datentyp ist das?


von T. K. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich programmiere gerade einen Lopy Modul von Pycom und empfange von 
einem Sensor Daten wie im angehängten Bild. Was für ein Datentyp soll 
das darstellen? Aus den Werten werde ich nicht schlauer. Die Daten 
kommen vom einem Herzraten Sensor. Ich wollte meinen Herzschlag auslesen 
lassen.

MfG

von Minimalist (Gast)


Lesenswert?

Ist da jetzt jede Zeile ein call? Dann meint "char" in der Sprache was 
anderes als ich darunter verstehe. Ruf die callback  routine mal mit 
bekanntem Input auf, zB 0x00, 0xFF, 0x55 etc...

von Yalu X. (yalu) (Moderator)


Lesenswert?

Frag doch einfach Python:

1
>>> type(b'10496a03')
2
<class 'bytes'>

Die Werte sind also vom Typ bytes.

Edit:

Oder möchtest du den Datentyp des Return-Werts von char.value() wissen?
Dann lass in deinem Code die Konvertierung durch ubinascii.hexlify weg
und ersetze die print-Anweisung durch

1
print(type(char_value))

von Jim M. (turboj)


Lesenswert?

Minimalist schrieb:
> Ist da jetzt jede Zeile ein call? Dann meint "char" in der Sprache was
> anderes als ich darunter verstehe.

Ist eventuell die Kurzform für "Characteristic" wie sie in BT LE GATT 
vorkommt - den BT LE Herzratensensor man hier halt erraten.

Daraus ergibt sich dann auch das Datenformat - falls der Sensor das 
Standardprofil für Herzsensoren verwendet. Steht dann auf Bluetooth.org.


Ich puzzele das mal auseinander:
1
b'10496A03' = 0x10 0x49 0x036A
Bedeutet:

Flags (1.Byte): Datenformat 8 Bit für HR, RR Wert ist präsent.
HR (2.Byte): 0x49 = 73 (dez) BpM
RR (3. 4.B): 0x36A = 874 (dez) 1/1024 sec.


Die längeren Werte enthalten mehr als einen RR, und sind daher um 2 
Bytes länger.

von Jim M. (turboj)


Lesenswert?

Übrigens: Welcher Herzratensensor ist das?

Ich kann hier welche gebrauchen die RR Werte vernünfitg ausspucken 
können.

von T. K. (Gast)


Lesenswert?

Jim M. schrieb:
> Übrigens: Welcher Herzratensensor ist das?
>
> Ich kann hier welche gebrauchen die RR Werte vernünfitg ausspucken
> können.

Hi,

es ist ein Polar H10.

Vielen Dank für eure Hilfe. Ich schaue mir das heute Abend mal genauer 
an.

MfG

von T. K. (Gast)


Angehängte Dateien:

Lesenswert?

Jim M. schrieb:
> Ist eventuell die Kurzform für "Characteristic" wie sie in BT LE GATT
> vorkommt - den BT LE Herzratensensor man hier halt erraten.
>
> Daraus ergibt sich dann auch das Datenformat - falls der Sensor das
> Standardprofil für Herzsensoren verwendet. Steht dann auf Bluetooth.org.
>
> Ich puzzele das mal auseinander:b'10496A03' = 0x10 0x49 0x036A
> Bedeutet:
>
> Flags (1.Byte): Datenformat 8 Bit für HR, RR Wert ist präsent.
> HR (2.Byte): 0x49 = 73 (dez) BpM
> RR (3. 4.B): 0x36A = 874 (dez) 1/1024 sec.
>
> Die längeren Werte enthalten mehr als einen RR, und sind daher um 2
> Bytes länger.

Hi Jim,

vielen Dank für deine gute Erklärung. Ja, das "char" steht für 
Characteristics.
Ich habe nun das zweite Byte auslesen lassen. Es müsste der Herzschlag 
sein, den ich aus der Charakteristic mit der Nummer (10807 = 0X2A37) 
auslese. Die Werte, die ich erhalte, stimmen mit die der von der Polar 
Beat App überein.

Die Erklärung der Flags, die du beschreibst, habe ich im angehängten PDF 
File gefunden, welches ich mir auf der Homepage von Bluetooth 
heruntergeladen habe.

MfG

von T. K. (Gast)


Angehängte Dateien:

Lesenswert?

Hier noch das Skript.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.