Wo bekomme ich Bluetooth / Bluetooth.h für Raspberry Pi?

Dec 13 2020

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

5 DmitryGrigoryev Dec 14 2020 at 18:56

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-getoder 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 arBefehl oder 7zip.

5 Seamus Dec 14 2020 at 07:36

Ü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:

  1. Aktualisieren und aktualisieren Sie Ihr System unbedingt , bevor Sie neue Pakete installieren!
  2. 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 .
  3. Für diejenigen, die Pakete nativ aus dem Quellcode erstellen und installieren möchten , gibt es anscheinend geeignete Optionen , um dies zu unterstützen.