Seite 1 von 1

2 Werte über Bleak von einem ESP32 auslesen

Verfasst: Dienstag 2. Mai 2023, 13:20
von Nietzsche
Hallo,

ich hab auf meinem ESP 32 ein kleines BLE Programm aufgespielt bei dem mir 2 Sensorwerte über Notify rausgehauen werden. Um die Daten am PC zu empfangen verwendet ich Bleak, das klappt jeweils bei einem einzelnen, bei 2 schaffe ich es aber noch nicht. Der Code der Probleme bereitet ist folgender:

Code: Alles auswählen

async def notification_handler(sender, data, callback):
     spo2_value = numpy.frombuffer(data, dtype=numpy.uint32)

     print("Red values:")
     print(spo2_value)

     # Update the label text
     callback(spo2_value)
Das klappt, aber wenn ich die Funktion notification_handler nochmal aufrufe, dann wird mein Wert überschrieben:

Code: Alles auswählen

async def notification_handler(sender, data, callback):
     red_value = numpy.frombuffer(data, dtype=numpy.uint32)

     print("Red values:")
     print(red_value)

     # Update the label text
     callback(red_value)
Ändere ich das um bspw in notification_handler_2 klappt das nicht mehr. Wie schaffe ich es, dass ich meine beiden Struct angezeigt bekomme?

Danke für jede Hilfe! Grüße ins Forum!

Re: 2 Werte über Bleak von einem ESP32 auslesen

Verfasst: Dienstag 2. Mai 2023, 19:10
von Sirius3
Das Codefragment, das Du hier zeigst, ist für Dein nicht relevant. Wenn Du zwei Werte lesen willst, brauchst Du zwei `start_notify`-Aufrufe für zwei verschiedene Characteristiken.

Re: 2 Werte über Bleak von einem ESP32 auslesen

Verfasst: Mittwoch 3. Mai 2023, 12:23
von Nietzsche
Sirius3 hat geschrieben: Dienstag 2. Mai 2023, 19:10 Das Codefragment, das Du hier zeigst, ist für Dein nicht relevant. Wenn Du zwei Werte lesen willst, brauchst Du zwei `start_notify`-Aufrufe für zwei verschiedene Characteristiken.
Vielen Dank Sirius, hat geklappt!

Kannst du, oder jemand anderer, mir noch dabei helfen die Daten in einem .svg zu speichern? Hab jetzt folgende Daten.

Code: Alles auswählen

 async def handle_uuid1_notify(self, sender, data):
        spo2_value = np.frombuffer(data, dtype=np.uint32)
        self.spo2_values.append(spo2_value)
Die mir so ausgegeben Werden: SPO2: [ 1000 2000 3000 2000 ...] Die will ich in einem svg speichern, das jeweils bei jedem Programmstart neu erzeugt wird, svg 1,2,3 oder mit Datum / Zeit jeweils benannt. Welche Libary kann man da empfehlen?