GNU/Linux >> LINUX-Kenntnisse >  >> Linux

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

Das Beispiel auf der anderen Antwort funktioniert bei mir nicht, es stoppt beim Scannen ...

Der nächste Link funktioniert für C-Sprache, hat aber einen Fehler beim Umwandeln der Bytes, die die Informationen über das RSS-Signal enthalten.https://github.com/glock45/intel-edison-playground/blob/master/scan.c

diese Zeile 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 habe diese gefunden, indem ich in bluez-version/monitor/*.c geschaut habe , wo sich das btmon-Programm befindet. Sie können die Datentypen und Strukturen sehen, hcidump.c ist sehr nützlich und packets.c , und main.c auch, aber es gibt viel über die HCI-Sockets zu lernen


Die BLE-Programmierung mit BlueZ auf Galileo oder Edison ähnelt jeder anderen x86-Plattform.

Edison (und Galileo) werden normalerweise mit vorinstallierten BlueZ-Bibliotheken geliefert. Sie müssen sie nur mit Ihrem C-Code verknüpfen und ähnlich wie bei anderen x86-Plattformen programmieren.

Ein vollständiges C-Code-Beispiel für einen Bluetooth-Scan mit BlueZ finden Sie unter diesem Link.

Bitte sehen Sie sich dieses Beispiel für einen BLE-Scan an

Und die HCI-API hier.


Linux
  1. Wie man über eine Zwischenmaschine scp??

  2. So initialisieren Sie eine gemeinsam genutzte Bibliothek unter Linux

  3. So fügen Sie eine statische Bibliothek in ein Makefile ein

  4. Wie überprüfe ich, ob eine Bibliothek installiert ist?

  5. Wie man SSH direkt über Jumphost mit SSH Config ohne zusätzlichen ssh-Befehl zum Ziel führt

So konfigurieren Sie eine Nessus Vulnerability Scan Policy

So führen Sie einen Port-Scan unter Linux durch

So sichern Sie die WordPress-Datenbank über MySQL

So sichern Sie die WordPress-Datenbank über phpMyAdmin

So installieren Sie die PyBrain-Python-Bibliothek unter Linux

So führen Sie SSH zum Server über Linux