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

Bluetooth LE-Signalstärke Linux

Bei Verwendung von btmgmt ist keine Verbindung erforderlich

$ sudo btmgmt find

Discovery started
hci0 type 7 discovering on
hci0 dev_found: 50:8C:FD:99:0A:EC type LE Random rssi -80 flags 0x0000 
AD flags 0x06 
eir_len 23
…

Die Anzeige der relativen Signalstärke ist rssi -80 , aber die Liste ist viel länger und enthält weitere Informationen zu diesem und anderen Geräten.

Führen Sie den folgenden Befehl aus, um Ihre Bluetooth-Nachbarschaft auszuspionieren, die nur eindeutige MAC-Adressen mit ihrem stärksten RSSI anzeigt:

$ sudo btmgmt find |grep rssi |sort -n |uniq -w 33

hci0 dev_found: 40:43:42:B3:71:11 type LE Random rssi -53 flags 0x0000 
hci0 dev_found: 44:DA:5F:EA:C6:CF type LE Random rssi -78 flags 0x0000 
hci0 dev_found: 7F:7D:08:6B:E0:37 type LE Random rssi -74 flags 0x0000 
hci0 dev_found: A4:58:0F:21:A1:8C type BR/EDR rssi -79 flags 0x0000

Unter Linux geht das mit dem hcitool-Befehl. Sie müssen jedoch verbunden sein, um die RSSi eines Geräts zu erhalten. Wenn Sie dies über die Befehlszeile erreichen möchten, versuchen Sie:

#hcitool rssi AA:BB:CC:DD:EE:FF

Wenn Sie den tatsächlichen C-Code sehen möchten, um dies zu erreichen, werfen Sie einen Blick auf die Datei bluez tools/hcitool.c unter der Funktion cmd_rssi.

static void cmd_rssi(int dev_id, int argc, char **argv)
{
    ...
}

Für Bluetooth Low Energy , ich kenne nur eine Möglichkeit, dies zu tun, und das ist die Verwendung des Befehls #btmon. Führen Sie btmon im Hintergrund aus und suchen Sie dann nach Bluetooth Low Energy-Geräten:

#./btmon &
# hcitool lescan

Die auf dem Monitor angezeigten Ergebnisse sollten ungefähr so ​​aussehen:

> HCI Event: LE Meta Event (0x3e) plen 12                                                                                  
      LE Advertising Report (0x02)
        Num reports: 1
        Event type: Scan response - SCAN_RSP (0x04)
        Address type: Public (0x00)
        Address: AA:BB:CC:DD:EE:FF (<Vendor Name>)
        Data length: 0
        ***RSSI: -34 dBm (0xde)***
AA:BB:CC:DD:EE:FF <Device Name>

Beachten Sie, dass Sie bei Verwendung von btmon keine Verbindung herstellen müssen, um die RSSI eines BLE-Geräts zu erhalten.


Linux
  1. UNIX / Linux:3 Möglichkeiten, Signale an Prozesse zu senden

  2. Linux-/UNIX-OS-Dienst:Bluetooth

  3. UNIX/Linux-Signalverarbeitung:SIGEV_THREAD

  4. IPC mit Signalen unter Linux

  5. Wo befindet sich die bluetooth/bluetooth.h unter Linux?

So senden Sie Sound über Bluetooth unter Linux

So geben Sie das Zeichen der indischen Rupie (₹) unter Linux ein

So bestimmen Sie den MIME-Typ einer Datei in Linux

Installieren Sie das datenschutzfreundliche alternative WhatsApp-Signal auf einem Linux-Desktop

Erhalten Sie Informationen über einen Befehl mit Type Command in Linux

Was ist ein gestoppter Prozess unter Linux?