Probleme mit BLE-Integration in Pekaway (XIAO nRF52840)

Probleme mit BLE-Integration in Pekaway (XIAO nRF52840)

Hallo zusammen,

wie bereits in einem früheren Beitrag erwähnt, habe ich einen Prototypen eines Bluetooth-LE-Geräts entwickelt, mit dem sich die Zentralverriegelung eines Fiat Ducato / Peugeot Boxer / Citroën Jumper steuern lässt. Für dieses Projekt habe ich den XIAO nRF52840 als Mikrocontroller gewählt, da er BLE unterstützt und einen sehr niedrigen Stromverbrauch aufweist.

Das Gerät wird über GATT / BLE angesteuert, sodass es sich theoretisch einfach in den Pekaway-Stack einbinden lassen sollte. Die Steuerung der Zentralverriegelung (ZV) war recht unkompliziert. Im nächsten Schritt habe ich das GATT-Protokoll implementiert. Anfangs lief alles vielversprechend: Mit der App „BLE Scanner“ konnte ich alle Funktionen problemlos ansteuern und testen.

Die Einbindung in den Pekaway-Stack hingegen stellt sich als größere Herausforderung heraus, als ich erwartet hatte. Bislang ist es mir nicht gelungen, eine stabile Verbindung herzustellen. Ich arbeite mit dem neuesten VanPi OS (v2.0.3). Der Verbindungsversuch über Bluetooth schlägt wie folgt fehl:

[bluetooth]# connect F6:46:67:91:29:8F
Attempting to connect to F6:46:67:91:29:8F
[CHG] Device D2:D5:28:71:02:74 RSSI: -62
[CHG] Device F6:46:67:91:29:8F Connected: yes
Failed to connect: org.bluez.Error.Failed le-connection-abort-by-local
[CHG] Device F6:46:67:91:29:8F Connected: no

Es scheint als könnte die Verbindung zwar hergestellt werden, wird dann aber sofort wieder getrennt, und zwar durch den Raspi selbst. (abort-by-local)

Ich habe bereits überprüft:

  • Das GATT-Profil funktioniert mit anderen Geräten wie dem „BLE Scanner“ einwandfrei.
  • Ebenso funktioniert die Kommunikation zum Gerät, wenn ich als Central einen Raspberry Pi mit Raspberry Pi OS (Bookworm mit Desktop) verwende.
  • Tausche ich zwischen den beiden Rasperyy Pies (Bookworm / Pekaway) nur die MicroSD Karte aus, so ist das Problem an die MicroSD Karte gebunden. Hardware Probleme sind somit ausgeschlossen.
  • Der XIAO ist korrekt programmiert und reagiert wie erwartet.
  • Die RSSI-Werte sind stabil, sodass ein Verbindungsabbruch durch Signalstärke unwahrscheinlich scheint.

Hat jemand Erfahrungen mit der Integration von BLE-Geräten in den Pekaway-Stack oder Tipps, wie ich die Verbindung stabilisieren könnte? Gibt es eventuell bekannte Inkompatibilitäten zwischen dem XIAO nRF52840 und dem VanPi OS?

Ich freue mich über jede Art von Hilfe oder Ratschlägen.

Vielen Dank im Voraus!

Vergleich mal bitte die Versionen von BlueZ mit bluetoothctl -v.

Hast du es mal versucht wenn das Wifi aus ist? Wifi und Bluetooth zusammen kann zu Problemen führen.
Sind alle anderen Bluetoothverbindungen aus? In NR werden ggf. einige Verbindungen aufgebaut, du kannst testweise einfach NR komplett beenden.

Ansonsten wäre evtl. ein Python Script interessant, dass sich mit bleak zum Gerät verbindet und einige Testbefehle absetzt.

Ich habe ein Netzwerkkabel angeschlossen und BOOM, schon es lief wie es schon immer hätte laufen müssen.

Dann habe ich ein altes Backup auf die MicroSD Karte zurückgeholt um wieder auf den Zustand von gestern zurückzugehen. Netzwerkkabel entfernt und neu gestartet… und es geht geht immer noch.

Keine Ahnung, was jetzt wirklich die Lösung gebracht hat. War es nur der Reboot? War es das Netzwerkkabel? Ich werde es nie erfahren, aber Hauptsache es läuft jetzt.

Danke für die Hilfe!
LG Matthias

Ja, Bluetooth ist immer so eine Sache… Wenn es erstmal funktioniert ist meistens alles gut, aber dahin muss man erst mal kommen :smiley:
Ich vermute wie gesagt dass es der Chip ist, der für Wifi und Bluetooth zuständig ist. Aber genauer kann ich es mir auch nicht wirklich erklären.