W systemie Linux sposobem na to jest komenda hcitool. Jednak musisz być podłączony, aby uzyskać rssi urządzenia. Jeśli chcesz osiągnąć to z wiersza polecenia, spróbuj:
#hcitool rssi AA:BB:CC:DD:EE:FF
Jeśli chcesz zobaczyć rzeczywisty kod C do osiągnięcia tego celu, spójrz na bluez tools/hcitool.c pliku, w ramach funkcji cmd_rssi.
static void cmd_rssi(int dev_id, int argc, char **argv)
{
...
}
Dla Bluetooth Low Energy, wiem tylko jeden sposób, aby to zrobić, i że jest za pomocą polecenia #btmon. Uruchom btmon w tle następnie zeskanować dla urządzeń Bluetooth Low Energy:
#./btmon &
# hcitool lescan
Wyniki wyświetlane na monitorze powinien być podobny do tego:
> 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>
Należy pamiętać, że podczas korzystania btmon nie trzeba połączyć aby uzyskać rssi urządzenia BLE.
Mam nadzieję, że to pomoże.
hcitool rssi Wydaje się być tylko dla regularny bluetooth nie bluetoo th le, otrzymuję komunikat "Uzyskaj informacje o połączeniu nie powiodło się: brak takiego pliku lub katalogu", gdy próbuję, nawet gdy jest podłączony (dla połączenia Bluetooth łączy się z hcitool lecc [MAC] a nie zwykłym hcitool cc [MAC], –
Tagged the question with bluetooth -energetgy, ponieważ przegapiłem le part :) Czy próbowałeś #hcidump? Czytałem, że możesz go użyć do odczytu wartości rssi urządzeń Low Energy, ale nie mam urządzeń, aby przetestować to. –
Edytował pytanie, aby dołączyć część Bluetooth Low Energy. Próbowałem #hcidump i nie działało to dla mnie, ale #btmon działało dobrze. –