So führen Sie einen Bluetooth-Low-Energy-Scan über die BlueZ C-Bibliothek durch

8

Ich bin neu in der Programmierung von Bluetooth Low Energy mit BlueZ.

Ich möchte einen nativen c-Code entwickeln, um Geräte in der Nähe mit BlueZ API für Bluetooth Low Energy auf Intel Edison zu scannen. Ich habe diese Frage gesehen , aber die Antwort hilft nicht wirklich. Irgendwelche Tipps?

    
Longes 03.11.2014, 14:56
quelle

3 Antworten

7

Die BLE-Programmierung mit BlueZ auf Galileo oder Edison ist ähnlich wie bei jeder anderen x86-Plattform.

Edison (und Galileo) wird normalerweise mit vorinstallierten BlueZ-Bibliotheken geliefert. Sie müssen nur mit ihnen mit Ihrem C-Code verknüpfen und ähnlich wie andere x86-Plattform programmieren.

Für einen vollständigen C-Code-Beispiel-Bluetooth-Scan mit BlueZ, siehe diesen Link .

Sehen Sie sich dieses Beispiel für den BLE-Scan an

Und die HCI-API hier .

    
ashoke 04.11.2014, 03:36
quelle
8

Das Beispiel auf der anderen Antwort funktioniert nicht für mich, es stoppt in Scanning ...

Der nächste Link funktioniert für die Sprache c, hat aber einen Fehler, wenn die Bytes mit den Informationen zum de rssi-Signal umgewandelt werden. Ссылка

diese Zeile 121:

%Vor%

sollte sein:

%Vor%

Ich habe diese gefunden, indem ich in bluez-version/monitor/*.c nachgesehen habe, wo btmon program ist. Sie können die Datentypen und Strukturen sehen, hcidump.c ist sehr nützlich und packets.c , und main.c auch, aber es gibt viele, über die hci-Sockets zu lernen

    
Yao Hao 21.05.2015 18:59
quelle
0

Der Intel-edison scan.c-Code funktioniert auch auf Raspberry Pi.

Es wird nach dem Freundschaftsmodul Adafruit BLE UART gesucht, das mit dem arduino Uno verbunden ist.

Auf dem Pi müssen Sie die Dateien bluez-5.33.tar.gz, libncurses-dev und libbluetooth-dev herunterladen.

Um scan.c zu kompilieren, verwenden Sie

gcc scan.c -lbluetooth -o scannen

    
Sewan Fan 12.02.2016 06:48
quelle