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?
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 .
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
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
Tags und Links linux bluez bluetooth-lowenergy intel-edison