Olá. Muito legal estes exemplos. Fiz o teste aqui do wifi scan top.
Mas me surgiu uma dúvida, todos os ESP32 só pegam em redes de 2.4GHz? Aqui em casa só pegou as redes ao redor de 2.4 as de 5 não apareceram.
Outra dúvida, sei que você não explicou sobre isso, mas estou curioso.
Estava analizando o código, e embora sei que ainda estou começando, mas gostaria de saber sobre esta parte do código:
O que a letra i neste caso representa?
Se entendi certo, ele vai colocando em ordem as redes encontradas não é isso? Vai somando mais um em cada scan ciclo usando este ++?
for (int i = 0; i < n; ++i) {
// Print SSID and RSSI for each network found
Serial.print(i + 1);
Serial.print(“: “);
Serial.print(WiFi.SSID(i));
Serial.print(” (“);
Serial.print(WiFi.RSSI(i));
Serial.print(“)”);
Já esta última linha, corrija-me se estiver errado, mas a finalidade seria mostrar o tipo de wifi encontrado se está aberto ou com senha? ou nada ver? kk
Sim, somente redes que possuem frequência de operação de 2,4GHZ é que serão exibidas, uma vez que o WiFI do ESP32 também trabalha nesta frequência.
A letra “i” é uma variável do tipo “int” (inteira)… no caso, ela ocupa 16 bits na memória de programa do ESP32… esta variável está declarada dentro do laço “for”… for (int i = 0; i < n; i++)
No laço "for", todos os códigos dentro dele, no caso entre as chaves, são executados até que uma determinada condição seja atendida, por exemplo:
int i;
for (i = 0; i < 10; i++)
{
Serial.println(i);
}
Isso vai fazer com que sejam impressos na serial os valores de 0 a 9, ou seja, é solicitada a impressão do valor de “i” para “i = 0” até “i < 10" incrementando a variável "i" de um em um (i++).
Serial.println((WiFi.encryptionType(i) == WIFI_AUTH_OPEN)?” “:”*”);
Esta é uma condição ternária que indica que se houver alguma rede aberta (não encriptada – sem senha), será impresso um “espaço” após o nome da rede e para as redes que são encriptadas, será impresso um “asterisco (*)” após o nome da rede.
sandrini
Autor
2 meses atrás
Bom dia Kleison,
Por favor, pode me informar se conseguiu compilar o código e carregá-lo no ESP32 se problemas?
Caso tenha conseguido, peço que, quando alterar a velocidade da comunicação serial, feche e abra novamente o monitor serial.
Provavelmente alguma configuração na velocidade está incompatível, uma vez que caso tenha conseguido carregar o código no ESP32, a comunicação serial está funcionando corretamente.
Olá. Muito legal estes exemplos. Fiz o teste aqui do wifi scan top.
Mas me surgiu uma dúvida, todos os ESP32 só pegam em redes de 2.4GHz? Aqui em casa só pegou as redes ao redor de 2.4 as de 5 não apareceram.
Outra dúvida, sei que você não explicou sobre isso, mas estou curioso.
Estava analizando o código, e embora sei que ainda estou começando, mas gostaria de saber sobre esta parte do código:
O que a letra i neste caso representa?
Se entendi certo, ele vai colocando em ordem as redes encontradas não é isso? Vai somando mais um em cada scan ciclo usando este ++?
for (int i = 0; i < n; ++i) {
// Print SSID and RSSI for each network found
Serial.print(i + 1);
Serial.print(“: “);
Serial.print(WiFi.SSID(i));
Serial.print(” (“);
Serial.print(WiFi.RSSI(i));
Serial.print(“)”);
Já esta última linha, corrija-me se estiver errado, mas a finalidade seria mostrar o tipo de wifi encontrado se está aberto ou com senha? ou nada ver? kk
Serial.println((WiFi.encryptionType(i) == WIFI_AUTH_OPEN)?” “:”*”);
Boa tarde Fábio,
Sim, somente redes que possuem frequência de operação de 2,4GHZ é que serão exibidas, uma vez que o WiFI do ESP32 também trabalha nesta frequência.
A letra “i” é uma variável do tipo “int” (inteira)… no caso, ela ocupa 16 bits na memória de programa do ESP32… esta variável está declarada dentro do laço “for”… for (int i = 0; i < n; i++) No laço "for", todos os códigos dentro dele, no caso entre as chaves, são executados até que uma determinada condição seja atendida, por exemplo:
int i;
for (i = 0; i < 10; i++) { Serial.println(i); }
Isso vai fazer com que sejam impressos na serial os valores de 0 a 9, ou seja, é solicitada a impressão do valor de “i” para “i = 0” até “i < 10" incrementando a variável "i" de um em um (i++).
Serial.println((WiFi.encryptionType(i) == WIFI_AUTH_OPEN)?” “:”*”);
Esta é uma condição ternária que indica que se houver alguma rede aberta (não encriptada – sem senha), será impresso um “espaço” após o nome da rede e para as redes que são encriptadas, será impresso um “asterisco (*)” após o nome da rede.
Bom dia Kleison,
Por favor, pode me informar se conseguiu compilar o código e carregá-lo no ESP32 se problemas?
Caso tenha conseguido, peço que, quando alterar a velocidade da comunicação serial, feche e abra novamente o monitor serial.
Provavelmente alguma configuração na velocidade está incompatível, uma vez que caso tenha conseguido carregar o código no ESP32, a comunicação serial está funcionando corretamente.