Olá a todos, é a primeira vez que estou mexendo com ESP8266, e percebi um pequeno problema em um código que estou testando, o problema e o seguinte se eu desligar o Roteador e ligar novamente o ESP 8266 não conectar mais e nem faz mais nada,ai quando eu desligo o ESP e ligo novamente volta a funcionar normalmente, o problema e se a internet cai, ou alguém desligar o roteador o ESP não consegue mais se conectar

Exibições: 255

As respostas para este tópico estão encerradas.

Respostas a este tópico

Olá.

  Vc colocou absolutamente tudo no setup(). O setup só roda uma vez mesmo.

  Sugestão, isole o trecho:

while (WiFi.status() != WL_CONNECTED)
{
delay(100);
Serial.println("Conectando a WiFi..");
}
Serial.println("Conectado!");
client.setServer(mqttServer, mqttPort);//configura servidor com as informações passadas
client.setCallback(callback);

while (!client.connected()) {
Serial.println("Conectando ao servidor MQTT...");

if (client.connect("CICERO ELETRONICA", mqttUser, mqttPassword ))//colocar aqui o nome do dispositivo cliente("CICERO ELETRONIC")
{
Serial.println("Conectado ao servidor MQTT!");
} else {
Serial.print("Falha ao conectar ");
Serial.print(client.state());
delay(2000);
// ESP.reset();
// delay(1000);
}
}

E chame de reconectar(); ou checkconexao(); ou como quiser.

Chame ele no setup e também no loop. Como tem um while() logo no começo se já estiver conectado ele passa batido.

Eventualmente (tente a solução de por no loop primeiro) vc vai precisar tirar de dentro do reconect do wifi o reconect do mqtt pq a conexão mqtt pode ter caido mas o wifi não. Assim ele testaria wifi. Se não ok reconecta wifi. Se ok verifica se o mqtt está ok. Se não ok reconecta mqtt.

Entendo que fez assim pq tem um exemplo do ESP que é assim mesmo, mas é uma solução ruim para reconectar.

Perfeito Eduardo funcionou de boa, valeu ai mano

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço