в Wifi-direct нет возможности измерять расстояние между пирами, так как же между ними RSSI
попасть .RSSI
на самом деле я захожу в API для WIFI, чтобы посмотреть, как они измеряют WIFI RSSI
. Итак, я вижу, что они отправляют команду в качестве параметра собственному методу, но я не могу поймать эту команду !!!
в этом методе wifi_send_command
в wifi.c по этой ссылке .
насколько я знаю, Android находится под управлением Linux, команда iwconfig
is linux для получения интерфейса беспроводной информации, если бы я ее использовал, могу ли я получить прямую информацию о Wi-Fi? или это просто возврат информации о сети точек доступа?
кто-нибудь знает об этом?
Вы можете получить эту информацию внутри wpa_cli . Откройте wpa_cli в интерфейсе прямого доступа к Wi-Fi и выполните сканирование и сканирование_результатов, как показано ниже.
adb shell wpa_cli -i<wifi-direct interface name> -p<socket path> scan
adb shell wpa_cli -i<wifi-direct interface name> -p<socket path> scan_results
Вы получите небольшую информацию о подключенном узле (адрес устройства, канал, rssi и т. д.). Надеюсь, это сработает!
Если вы хотите измерить RSSI между двумя одноранговыми узлами перед подключением, просто попробуйте:
В Linux под wpa_supplicant
sudo wpa_cli p2p_peer 74:da:3f:58:5c:f0
(где 74:da:3f:58:5c:f0 — MAC-адрес второго узла.)
В Android это должно быть примерно так (предполагается и не проверено)
adb shell wpa_cli -i <wifi-direct interface name> -p <socket path> p2p_peer 74:da:3f:58:5c:f0
После этого вы получите большую строку. Затем найдите слово «Уровень» (значение RSSI указывается в дБм).
Для нерутированных устройств попробуйте следующее:
Устройство A: Linux Устройство B: Android
Получите имя группы P2P одного устройства. Это можно увидеть, используя wpa_cli
на устройстве Linux.<3>P2P-GROUP-STARTED p2p-wlan0-0 GO ssid="DIRECT-Gw" freq=2462 passphrase="Vz4GVojX" go_dev_addr=02:04:4b:e0:80:73
Откройте оболочку adb для устройства Android.
Тип: dumpsys | grep "DIRECT-Gw"
Посмотрите на результат:
- SSID: DIRECT-Gw, BSSID: 02:04:4b:e0:00:73, capabilities: [WPA2-PSK-CCMP][RSN-PSK-CCMP][ESS][WPS], level: -61, frequency: 2462, timestamp: 104993415063, distance: ?(cm), distanceSd: ?(cm), passpoint: no, ChannelBandwidth: 0, cen
terFreq0: 2462, centerFreq1: 0, standard: 11n, 80211mcResponder: is not supported, Radio Chain Infos: []
Эндрю Т.