
Ich arbeite an einem eingebetteten System und muss nach Bluetooth-Geräten suchen. Ich möchte dies mit meinem eigenen Programm tun, was ich mit hci_get_route() und unterstützenden hci-Funktionen aus dem BlueZ-Entwicklungsmaterial tun kann. Das Scannen funktioniert jedoch nur, wenn bluetoothd ausgeführt wird. Gibt es eine Möglichkeit, dies zu tun, ohne dass bluetoothd im Hintergrund ausgeführt werden muss?
AKTUALISIEREN:
Laut harrymcs Antwort konnte ich das Bluetooth-Scannen zum Laufen bringen, ohne dass bluetoothd oder sogar systemd ausgeführt wurde. Ich musste jedoch die folgenden Kernelmodule laden (Kernel 5.19):
hci_uart
btusb
Solange diese Module beim Booten geladen wurden, musste ich nur Folgendes ausführen: hciconfig hci0 up
und konnte dann nach Bluetooth-Geräten suchen.Ich musste hciattach nicht ausführen.Mein Laptop verwendet einen Intel-Bluetooth-Adapter (lsusb meldet Hersteller/Produkt als 8087:0033).
Antwort1
Die Post Linux-Befehl zum Herstellen einer Verbindung mit einem Bluetooth-Gerät könnte relevant sein.
Dieser unbeantwortete Beitrag beschreibt die Verwendung von HCI wie folgt.
So richten Sie die Bluetooth-Hardware ein:
sudo modprobe hci_uart
sudo modprobe btbcm
sudo hciattach /dev/ttyAMA0 bcm43xx 921600 noflow -
So scannen Sie Geräte:
sudo hcitool scan
Allerdings gelang es dieser Software nicht, erfolgreich eine Verbindung zu den Geräten herzustellen, zumindest nicht beim Verfasser dieses Beitrags.