Umgebung: Android (Kotlin)-Zentrale mit BluetoothGatt; ESP32-Peripheriegerät (Arduino BLE-Bibliothek).
Was ich getan habe: Angeschlossen und Benachrichtigungen aktiviert; Empfangen von Daten in onCharacteristicChanged().
Beobachtet: Benachrichtigungen ergeben Byte-Arrays wie [-6, 5, 0, 3, 0, 1, 108, ...] oder werden als [B@28c97a1; aktuelle Dekodierung (z. B. String(bytes)) liefert falsche Werte.
Erwartet: Deterministische Sensorwerte (int/float oder UTF-8-String), die mit der ESP32-Ausgabe übereinstimmen.
Aktuelles ESP32-Verhalten: Eigenschaft mit PROPERTY_NOTIFY/PROPERTY_WRITE konfiguriert und schreibt Binärdaten (fügen Sie beim Antworten nur minimalen Schreibcode ein).
Aktueller Android-Code: minimales onCharacteristicChanged()-Snippet (einfügen, wenn Beantwortung), die Bytes druckt oder konvertiert.
Spezifische Frage: Minimale Codeänderungen für beide Seiten anzeigen:
Auf ESP32: Wie packe ich einen einzelnen Wert (wähle einen von: Little-Endian int16/int32, IEEE754 float oder UTF-8-String) und sende ihn per Merkmalsbenachrichtigung.
Auf Android: Wie liest man das benachrichtigte Byte[] und dekodiert es zuverlässig (Beispiel: Kotlin mit). ByteBuffer mit expliziter Endianness oder Dekodierung von UTF-8) und wie man rohes Hex für das Debuggen protokolliert.
Bitte stellen Sie das minimale ESP32-Sende-Snippet und das passende Kotlin onCharacteristicChanged()-Dekodierungs-Snippet für das empfohlene Format bereit (wählen Sie ein Format aus und zeigen Sie beide Seiten an).
Android-App empfängt unlesbare BLE-Charakteristikbytes von ESP32 – wie packt und dekodiert man richtig? [geschlossen] ⇐ Android
-
- Similar Topics
- Replies
- Views
- Last post
-
-
Kontinuierlicher Android -Ble -Scan mit ionischer App -App im Hintergrund
by Anonymous » » in Android - 0 Replies
- 22 Views
-
Last post by Anonymous
-
Mobile version