Wifi rssi преобразует char[] в uint8_t

Я пытаюсь получить RSSI сети, не подключаясь к ней напрямую, но получаю ошибку «Ошибка: преобразование из 'const char*' в 'uint8_t {aka unsigned char}' теряет точность [-fpermissive]»

   char ssid[]="GreenNET";
    long rssi = 0;

    void updateRSSI(){
      rssi = WiFi.RSSI(ssid);
    }

Я следую этому: https://www.arduino.cc/en/Reference/WiFiRSSI за исключением того, что я не передаю пароль, так как он не требуется WiFi.RSSI(wifiAccessPoint);

, 👍1


1 ответ


1

Аргумент, переданный в RSSI(), должен быть целым числом, указывающим индекс массива SSID сети WiFi, RSSI которой вы хотите получить. Чтобы получить это целое число, вы должны сначала выполнить сканирование сетей.

char ssid[] = "greenNet";
byte num_ssids = 0;
long rssi = 0;

num_ssids = WiFi.scanNetworks();
for (byte net = 0; net < num_ssids; net++){
    rssi = WiFi.RSSI(net);
    Serial.print(WiFi.SSID(net)); Serial.print(": ");
    Serial.println(rssi);
}
,