Olá senhores...

Tenho um código para scannear wifi e exibir o resultado de forma ordenada na serial.

Porém gostaria de exibir esse resultado em uma pagina html, se póssivel pagina armazenada na flash do ESP8266, visto que minhas paginas html estão na flash.

Um detalhe, não quero usar WifiManager, preciso de uma solução própria para fins de aprendizado.

Agradeço quem puder ajudar...

Segue o código:

int i = 0;
int in = 0;
int n = 0;

String encType(int id){
String type;
if(WiFi.encryptionType(id) == ENC_TYPE_WEP){
//type=" WEP";
type=" *";
}else if(WiFi.encryptionType(id) == ENC_TYPE_TKIP){
//type="WPA / PSK";
type=" **";
}else if(WiFi.encryptionType(id) == ENC_TYPE_CCMP){
//type="WPA2 / PSK";
type=" ***";
}else if(WiFi.encryptionType(id) == ENC_TYPE_AUTO){
//type="WPA / WPA2 / PSK";
type=" ****";
}else if(WiFi.encryptionType(id) == ENC_TYPE_NONE){
type=" OPEN";
}
return type;
//1: ENC_TYPE_WEP – WEP
//2 : ENC_TYPE_TKIP – WPA / PSK
//4 : ENC_TYPE_CCMP – WPA2 / PSK
//7 : ENC_TYPE_NONE – open network
//8 : ENC_TYPE_AUTO – WPA / WPA2 / PSK
}

void SCAN_WIFI() {
Serial.println("PROCURANDO REDES WIFI");
int n = WiFi.scanNetworks();
if (n == 0) {
Serial.println(" Nenhuma rede encontrada.");
} else {
Serial.print(n);
Serial.println(" Redes encontradas");
Serial.println("**********************************************");
int indices[n];

for (i = 0; i < n; i++) { //int i = 0;
indices[i] = i;
}

for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
if (WiFi.RSSI(indices[j]) > WiFi.RSSI(indices[i])) {
std::swap(indices[i], indices[j]);
}
}
}

for (int i = 0; i < n; ++i) {
//Serial.print(i);
Serial.print(i + 1);
Serial.print(": ");
Serial.println(WiFi.SSID(indices[i]));

//Imprime zero à esquerda se channel < 10
if((WiFi.channel(indices[i])) < 10){
Serial.print("CH: 0");
Serial.print(WiFi.channel(indices[i]));
Serial.print(" | ");
}else{
Serial.print("CH: ");
Serial.print(WiFi.channel(indices[i]));
Serial.print(" | ");
}

Serial.print(WiFi.BSSIDstr(indices[i]) + " |" + WiFi.RSSI(indices[i]) + "dBm |" + (getRSSIasQuality(WiFi.RSSI(indices[i]))) + "% |");
//Serial.println((WiFi.encryptionType(indices[i]) == ENC_TYPE_NONE) ? " OPEN" : (String(encType(indices[i]))));
Serial.println(String(encType(indices[i])));

Serial.println("-----------------------------------------------");
}
}
Serial.println("***********************************************");
Serial.println("***********************************************");
hold(2000);
}

Exibições: 46

Responder esta

Respostas a este tópico

Consegui: Scan via html (sem usar WifiManager), totalmente personalizado.

Faltam alguns detalhes e otimizações,vou dar uma geral e  posto o código completo aqui.

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2020   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço