Seit bluez 5.44 gelten die in bluez-utils (unter anderem wie hcitool) enthaltenen rfcomm-Binärdateien als veraltet und sind von nun an nur noch in dem von der AUR bereitgestellten bluez-utils-kompatiblen Paket enthalten.
Gibt es eine ähnliche Befehlszeilenanwendung, um ein Bluetooth-Gerät mithilfe des rfcomm-Kernelmoduls an eine serielle Schnittstelle zu binden, oder muss ich von nun an PyBluez oder ähnliche Bibliotheken verwenden?
Wenn letzteres der Fall ist, welche Python 3-Bibliotheken würden Sie empfehlen?
Und wenn jemand weiß, sagen Sie mir bitte, warum so viele der Bluez-Utils plötzlich als veraltet gelten. Daran konnte ich nichts finden.
Das ArchWiki empfiehlt, die rfcomm-Funktionalität mithilfe der neuen D-Bus Profile 1-API zu implementieren .
Ich möchte auf dieses Problem hinweisen:
Das bluez-Projekt selbst enthält weiterhin die Datei rfcomm.c, die einfach kompiliert werden kann mit:
gcc -lbluetooth rfcomm.c -orfcomm -DVERSION = xyz
... nur eine Datei, kein Kompilieren des gesamten Bluez-Projekts erforderlich. Dabei ist xyz die Version des heruntergeladenen Quellcodes bluez tar.xz (5.46 ist jetzt). Vor dem Herunterladen sollte man zuerst die eigene
bluetoothd -v
Quelle überprüfen und die passende Quelle herunterladen. bluez-libs ist nur eine Abhängigkeit für den Kompilierungserfolg.Ich brauchte rfcomm für armv7 (raspberry 2) und es gibt kein aur-Paket für rfcomm, und das war nur so, aber es funktioniert gut.
Ich bin mir immer noch nicht sicher, warum rfcomm ohne gute Alternative veraltet ist und wie man mit Bluetooth spricht, da es sich um eine serielle Schnittstelle handelt. Denn selbst Sie sind Python-Experte plus DBUS-Experte ... (wie der oben erwähnte Projektbesitzer wahrscheinlich ist) ... immer noch wurde nur FIFO auf diese Weise bereitgestellt, kein echtes Zeichengerät in / dev / ... als alle anderen Programme (wie Arduino) ) kann sehen und damit arbeiten.
quelle