Wo bekomme ich Bluetooth / Bluetooth.h für Raspberry Pi?
Das ist eine blöde Frage. Aber ich kann keine Lösung dafür finden. Ich versuche, eine BLE-Anwendung mit Bezug auf dieses Tutorial zu erstellenhttps://people.csail.mit.edu/albert/bluez-intro/c404.html. Ich kompiliere für Raspberry Pi3 von meinem Windows-PC wsl. Ich habe die Toolchain von heruntergeladenhttps://github.com/raspberrypi/tools. Und ich habe die Toolchain durch Kompilieren einer einfachen HelloWorld-Anwendung überprüft und über RaspberryPi ausgeführt. Wenn ich jetzt versuche, den obigen Code zu kompilieren, wird der Fehler angezeigt
/mnt/c/Study/RaspberryPi/main.c:5:33: fatal error: bluetooth/bluetooth.h: No such file or directory
#include <bluetooth/bluetooth.h>
Ich verstehe, dass Bluetooth.h nicht mein System ist. Meine Frage ist, wo kann ich es bekommen? Damit ich aus Windows Cross-Compilieren kann. Muss ich dafür sdk herunterladen? Wo kann ich es bei Bedarf bekommen?
Antworten
Sie können die Suchmaschine von Debian (auf der die Distribution Raspberry Pi OS basiert) verwenden , um eine beliebige Datei zu finden:

Sobald Sie das Paket mit den erforderlichen Dateien gefunden haben, können Sie dasselbe Paket auf einem Pi mit installieren apt-get
oder es manuell von herunterladen http://archive.raspbian.org/
. Sie können das Debian-Paket auch direkt aus den Suchergebnissen abrufen. Beachten Sie jedoch, dass einige Pakete im Pi-Betriebssystem geringfügige Unterschiede zu ihren Debian-Gegenstücken aufweisen.
Wenn Sie die Dateien aus einem Paket abrufen müssen, ohne es zu installieren, laden Sie es herunter und extrahieren Sie die benötigten Dateien mit ar
Befehl oder 7zip.
Überhaupt keine dumme Frage. Ich konnte nicht sofort eine gute Erklärung finden, wie Pakete aus dem Quellcode installiert werden. Einige Versuche und Irrtümer ergaben jedoch diese Lösung:
$ apt-cache search bluez
Ergab eine Liste von Verdächtigen , von denen einer war:
libbluetooth-dev - Entwicklungsdateien für die Verwendung der BlueZ Linux Bluetooth-Bibliothek
Was nach einer vernünftigen Wahl aussah.
$ sudo apt-get install libbluetooth-dev
...
The following additional packages will be installed:
libbluetooth3
The following NEW packages will be installed:
libbluetooth-dev libbluetooth3
Anschließend wird der Code im Tutorial kompiliert und ausgeführt:
$ gcc -o simplescan simplescan.c -lbluetooth $ ./simplescan
CC:6D:A0:64:36:32 Roku Player.
Welches ist eine richtige Antwort hier in meiner Wohnung. Es ist jedoch nicht die vollständige Antwort, da andere mit BT ausgestattete Geräte (z. B. mein iPhone ) herumliegen.
ANMERKUNGEN:
- Aktualisieren und aktualisieren Sie Ihr System unbedingt , bevor Sie neue Pakete installieren!
- Dmitrys Antwort - mit Debians Suchmaschine - ist eine bessere Antwort auf die Frage des OP . Es scheint mir, dass es noch einige Vermutungen gibt , aber es hilft definitiv dabei, das Feld einzugrenzen .
- Für diejenigen, die Pakete nativ aus dem Quellcode erstellen und installieren möchten , gibt es anscheinend geeignete Optionen , um dies zu unterstützen.