2 Werte über Bleak von einem ESP32 auslesen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Nietzsche
User
Beiträge: 25
Registriert: Dienstag 2. Mai 2023, 13:15

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!
Sirius3
User
Beiträge: 18274
Registriert: Sonntag 21. Oktober 2012, 17:20

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.
Nietzsche
User
Beiträge: 25
Registriert: Dienstag 2. Mai 2023, 13:15

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?
Antworten