Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Codigo nao funciona como esperado

Alguem pode me dizer por que o codigo abaixo so faz aparecerem as mensagens de "Led On" e nao as de Led Off também ? As GPIOS do ESP apagam e ligam um LED, funciona normalmente, mas as mensagens nāo chegam. Curioso que isso so aconteceu no raspberry pi, usando o broker publico funcionou numa boa.

// MQTT 

#include <PubSubClient.h>
const char* mqtt_server = "192.168.0.28";
PubSubClient client(espClient);
const char* topico = "testejpbrs";
const char* clientID = "testejpbrs01";

void reconectarMQTT() {
  while (!client.connected()) {
    client.connect(clientID);
  }
}

void setup() {
// Define o pino 13 como saida
  pinMode(13, OUTPUT);
  conectaWifi();
  client.setServer(mqtt_server, 1883);
}


void publicarNoTopicoLedOn() {
  client.publish(topico, "Led On", true);
}

void publicarNoTopicoLedOff() {
  client.publish(topico, "Led Off", true);
}


void loop() {

  if (!client.connected()) {
    reconectarMQTT();
  }

  digitalWrite(13, HIGH); // Acende o Led
  publicarNoTopicoLedOn();
  delay(5000); // Aguarda 1 segundo
  digitalWrite(13, LOW); // Apaga o Led
  publicarNoTopicoLedOff();
  delay(5000); // Aguarda 1 segundo
}
2 respostas

Oi João, tudo bem?

Realmente, é um caso curioso. Quando você testou apenas mandando um publish através do código Python, você obteve êxito?

Confira também, se no aplicativo você está fazendo a conexão no endereço de server correto: 192.168.0.28

solução!

Pelo visto era um problema de leitura e escrita do aplicativo