Su Linux, il modo per farlo è con il comando hcitool. Tuttavia, devi essere connesso per ottenere l'rssi di un dispositivo. Se si vuole raggiungere questo dalla riga di comando, provare:
#hcitool rssi AA:BB:CC:DD:EE:FF
Se volete vedere il codice effettivo C per raggiungere questo obiettivo, dare un'occhiata al file bluez tools/hcitool.c, sotto la funzione cmd_rssi.
static void cmd_rssi(int dev_id, int argc, char **argv)
{
...
}
Per Bluetooth Low Energy, so solo un modo per fare questo, e che sta usando il comando #btmon. Eseguire btmon in background quindi eseguire la scansione dei dispositivi Bluetooth Low Energy:
#./btmon &
# hcitool lescan
I risultati visualizzati sul monitor dovrebbe essere simile a questo:
> 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>
Si noti che quando si utilizza btmon Non è necessario per la connessione per ottenere l'rssi di un dispositivo BLE.
Spero che questo aiuti.
fonte
2014-06-25 20:07:00
hcitool RSSI sembra essere solo per il Bluetooth regolare non BLUETOO il risultato è "Ottieni informazioni di connessione non riuscite: nessun file o directory" quando provo anche quando connesso (per le le bluetooth collegate da hcitool lecc [MAC] non al normale hcitool cc [MAC], –
Contrassegnato alla domanda con bluetooth -lowenergy perché mi mancava la parte :) Hai provato #hcidump? Ho letto che puoi usarlo per leggere il valore rssi dei dispositivi Low Energy ma non ho dispositivi con me per testarlo. –
Modificata la domanda per includere la parte Bluetooth Low Energy. Ho provato #hcidump e non ha funzionato per me, ma #btmon ha funzionato bene. –