GNU/Linux >> Znalost Linux >  >> Linux

Síla signálu Bluetooth LE Linux

Při použití btmgmt není třeba se připojovat

$ 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
…

Indikátor relativní síly signálu je rssi -80 , ale seznam je mnohem delší a obsahuje více informací o tomto a dalších zařízeních.

Chcete-li špehovat své okolí Bluetooth zobrazující pouze jedinečné adresy MAC s nejsilnějším RSSI, spusťte následující příkaz:

$ 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

V Linuxu to lze provést pomocí příkazu hcitool. Chcete-li však získat rssi zařízení, musíte být připojeni. Pokud toho chcete dosáhnout z příkazového řádku, zkuste:

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

Pokud chcete vidět skutečný kód C, abyste toho dosáhli, podívejte se na soubor bluez tools/hcitool.c pod funkcí cmd_rssi.

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

Pro Bluetooth Low Energy , Znám pouze jeden způsob, jak to udělat, a to pomocí příkazu #btmon. Spusťte btmon na pozadí a poté vyhledejte zařízení Bluetooth Low Energy:

#./btmon &
# hcitool lescan

Výsledky zobrazené na monitoru by měly být podobné tomuto:

> 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>

Pamatujte, že při používání btmon se nemusíte připojovat, abyste získali rssi zařízení BLE.


Linux
  1. UNIX / Linux:3 způsoby odesílání signálu do procesů

  2. Základy signálů Linuxu – část I

  3. IPC využívající signály na linuxu

  1. Zpracování signálu s více vlákny v Linuxu

  2. Kde se nachází bluetooth/bluetooth.h v Linuxu?

  3. Jak psát speciální znaky v Linuxu?

  1. Jak psát emotikony v Linuxu

  2. Služba Linux / UNIX OS:Bluetooth

  3. Zpracování signálů UNIX/Linux:SIGEV_THREAD