2014-11-03 7 views

Antwort

7

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 eine volle C code example bluetooth scan with BlueZ, see this link.

Please see this example for BLE scan

Und die HCI API here.

+0

ich dieses Codebeispiel verwenden gesehen haben. Es funktioniert, aber es scannt keine BLE-Geräte - nur normale. – Longes

+0

@Longes Für BLE müssen Sie den 'hci_le_set_scan_parameter 'setzen, [siehe dieses Beispiel für den BLE-Scan] (https://github.com/carsonmcdonald/bluez-experiments/blob/master/experiments/scantest.c) – ashoke

+0

Das BLE-Beispiel hängt von ncurses ab, zum Testen habe ich es zu einer reinen Konsolenanwendung geändert. Außerdem müssen Sie es mit sudo ausführen. – prmottajr

8

Das Beispiel auf der anderen Antwort für mich nicht funktioniert, hält es in Scannen ...

Der nächste Link für C-Sprache funktioniert, aber einen Fehler hat, wenn die Bytes Gießen, die Informationen über de rssi haben Signal. https://github.com/glock45/intel-edison-playground/blob/master/scan.c

dieser Linie 121:

printf("%s - RSSI %d\n", addr, (**char**)info->data[info->length]); 

sollte sein:

printf("%s - RSSI %d\n", addr, (**int8_t**)info->data[info->length]); 

Ich fand diese von innen bluez-version/monitor/*.c suchen, wo btmon Programm. Sie können die Datentypen und Strukturen sehen, ist hcidump.c sehr nützlich und packets.c und main.c auch, aber es gibt viele über den hci Buchsen auch arbeitet auf Raspberry Pi

+0

Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz zur Verfügung zu stellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. – Kmeixner

0

Der Intel-edison scan.c Code zu lernen.

Es funktioniert, um nach dem Adafruit BLE UART Friend Modul zu suchen, das mit dem Arduino Uno verbunden ist.

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

Um scan.c zu kompilieren,

gcc scan.c -lbluetooth -o Scan

Verwandte Themen