Konnte jemand Bluez 5.44 erfolgreich auf Raspbian installieren ? Ich möchte dies sowohl für einen Raspi 3 als auch für einen Raspi Zero W verwenden.
Ich habe zahlreiche verschiedene Anleitungen befolgt, aber alle installieren Bluez-Versionen vor 5.44. Ich kann keinem dieser Anleitungen folgen und habe eine funktionierende Bluez 5.44-Installation.
Wenn Sie dies getan haben, teilen Sie uns bitte Ihre Schritte mit.
Antworten:
Ein bisschen spät hier, aber ich hatte kürzlich die Kopfschmerzen, einer Vielzahl verschiedener Führer zu folgen, von denen keiner für mich funktionierte. Also hier ist ein weiterer Leitfaden ... der wahrscheinlich nicht für dich funktioniert;)
Ich habe die neueste Version von der offiziellen Seite heruntergeladen : bluez.org/download . Wenn diese Seite tot ist, verwenden Sie diese ein , statt.
Zum Zeitpunkt des Schreibens war es zum Beispiel 5,47, also habe ich (auf meiner Himbeere) verwendet:
Dann habe ich es extrahiert und gebaut:
Lesen Sie die
README
! Es listet die Abhängigkeiten und die Konfigurationsschalter auf:Installieren Sie zuerst die Abhängigkeiten: (glib, dbus, libdbus, udev usw.) Die meisten von ihnen sind bereits installiert, und wenn nicht, sollten sie einfach zu installieren sein, alle vom Paketmanager bereitgestellt. Sobald Sie das getan haben:
Ich habe auch hinzugefügt,
--enable-experimental
weil ich glaube, dass das GattCharacteristics- Objekt Teil der experimentellen Funktionen ist. Dann mach:Das Kompilieren dauert etwa 10 Minuten. Nach der Installation sollten Sie finden
bluetoothd
in/usr/libexec/bluetooth
. Sie sollten auch Bluetooth in sehen/usr/lib/bluetooth
.Gehen Sie zu jedem dieser Verzeichnisse und geben Sie ein
Sie werden feststellen, dass der in libexec neu und der in lib alt ist.
BlueZ erstellt diese D-Bus-Objekte und -Schnittstellen, um Ihnen die Bluetooth-Geräte auf nette Weise zugänglich zu machen.
Um sicherzustellen, dass der D-Bus mit Ihnen über das neue BlueZ 5.47 und nicht mit Ihrem alten BlueZ 5.23 spricht, müssen Sie angeben, dass Sie
systemd
den neuen Bluetooth-Daemon verwenden möchten:exec.start
Stellen Sie sicher, dass die Linie auf Ihren neuen Daemon in zeigt/usr/libexec/bluetooth
.Für mich war das nicht genug. Egal was passiert, beim Neustart habe ich immer Bluetoothd 5.23 bekommen ... Also habe ich einfach einen Symlink vom alten zum neuen erstellt.
Benennen Sie zuerst die alte Datei um:
Erstellen Sie den Symlink:
Das sollte es tun.
Jetzt muss ich das sagen, obwohl es für die Frage nicht relevant ist :
Wenn Sie eine Anwendung für Ihren Pi entwickeln möchten, lesen Sie den Ordner blueZ docs . Es führt Sie in den sogenannten D-Bus ein , über den es sich wirklich zu lernen lohnt, und ermöglicht Ihnen, Ihre Anwendung in Python, Node.js oder C (und mehr) zu entwickeln. Sehen Sie sich dieses Video auf bluez dev an .
Es gibt viele rote Heringe da draußen: Wrapper, die versuchen, Ihnen "einfache" Funktionen zu bieten. Sogar Ressourcen, die besagen, dass es an Dokumentation zur Entwicklung von Bluetooth mangelt. Sobald Sie jedoch etwas anderes tun möchten, als nur eine Verbindung zum Gerät herzustellen und dessen Eigenschaften anzuzeigen, werden Sie feststellen, dass der Wrapper Sie nicht unterstützt.
Tu dir selbst einen Gefallen. Nehmen Sie sich ein paar Stunden Zeit, um zu erfahren, wie es
BlueZ
funktioniert (das von mir verlinkte Video ist aus massivem Gold). Es wird ein sogenannter D-Bus verwendet. Lesen Sie etwas über D-Bus. Wenn Sie Python mögen, sehen Sie sich den Code im Testordner an. Lesen Sie ein- oder zweimal das Python-dbus-Tutorial . Es wird sich so gut auszahlen. Ich habe ein paar Tage damit verbracht, etwas Leichtes zu finden, aber dies stellte sich als der beste Weg heraus.Viel Glück!
quelle
sudo mv /usr/lib/bluetooth/bluetoothd /usr/lib/bluetooth/bluetoothd-543.orig
2. Erstellen Sie den Symlink:sudo ln -s /usr/libexec/bluetooth/bluetoothd /usr/lib/bluetooth/bluetoothd
Mai nochmalsIch habe es auf meinem Raspberry Pi 3 mit Raspbian GNU / Linux 8 (jessie) installiert. Es war ein bisschen schwierig, aber diese Schritte haben bei mir funktioniert. Ich habe es installiert, nachdem ich Ihren Beitrag gelesen habe.
Danach hatte ich keinen Adapter gefunden. Das nächste was ich tat war
Immer noch kein Adapter. Das liegt an der Firmware, also musste ich das als nächstes machen
Geben Sie zum Schluss Folgendes ein:
Überprüfen Sie dann, ob es funktioniert hat, indem Sie Folgendes eingeben:
Wenn es funktioniert hat, sollten Sie dies in Ihrem Terminal sehen
Letzter Befehl
Hoffe das funktioniert bei dir.
Vielen Dank an diese Website für Hilfe https://www.pi-supply.com/make/fix-raspberry-pi-3-bluetooth-issues/
quelle
Die Antwort von @Hunter Akins rettete mich vor so viel Frustration, als er sagte (umschrieben): Ernsthaft, lerne BlueZ kennen. Lernen Sie D-BUS kennen. Lernen Sie die Befehle bluetoothctl, systemctl und bluetoothd kennen.
Das Problem ist, dass seit der Veröffentlichung von Bluez5.42 im September 2016 viele Pakete, die von Online-Handbüchern verwendet werden, veraltet sind ( https://wiki.archlinux.org/index.php/Bluetooth#Troubleshooter ). Oh, und das Bluez-Paket fehlt stark in der offiziellen Dokumentation.
Hier sind die Befehle, die ich verwendet habe, um Bluetooth auf dem Raspberry Pi Zero W nach einer Neuinstallation zum Laufen zu bringen:
Aus der obigen Antwort und den Kommentaren herausgerissen:
Zusätzlicher Fehler, den ich gefunden habe:
Ich gehe davon aus, dass Sie das gerade installierte bluez-Paket verwenden möchten. Ich verwende die folgenden Schritte, um direkt nach einem Systemneustart eine Verbindung zu einem BLE-Gerät herzustellen (zu lange nach einem Neustart ist dies fehlgeschlagen). Ich habe nicht genug experimentiert, um eine konsistente Verbindung herauszufinden. Die Zeilen mit "pi @ raspberrypi: ~ $" und "[bluetooth] #" waren meine Eingabe; Der Rest waren Antworten.
Ich verbinde mich mit einem BLE-Gerät. Der Pair-Befehl funktioniert nicht, da er für Bluetooth Classic vorgesehen ist:
quelle