Tudo ok usando o server iot.eclipse.org , só que quando troquei o server para o rasp, imitando oque fiz testando a comunicação via prompt, o App do celular trava na tela onde aparece o tópico, logo depois que o dispositivo se conecta ao rasp. Fui até o terminal do rasp e executei o prompt do Subscriber-test.py e consegui receber a informação via prompt. Quero saber se é normal o app travar quando o rasp faz o papel do Broker, se sim, porque?
Segue abaixo o código, como não tenho o DH11 ou DH22, fiz o experimento com o LDR, vale a observação, quando despluguei o nodeMCU do USB, e entrei no MQTT do rasp no cel, o tópico ficou com o valor do ultimo registro e quando liguei denovo o programa travou na hora
// --- WIFI ---
#include <ESP8266WiFi.h>
const char* ssid = "Lenovo C2"; // troque pelo nome da sua rede
const char* password = "abc123"; // troque pela senha da sua rede
WiFiClient nodemcuClient;
// --- MQTT ---
#include <PubSubClient.h>
const char* mqtt_Broker = "192.168.43.81";
const char* mqtt_ClientID = "termometro-remerces01";
PubSubClient client(nodemcuClient);
const char* topicoLum = "lab/temperatura";
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
conectarWifi();
client.setServer(mqtt_Broker, 1883);
}
void loop() {
// put your main code here, to run repeatedly:
publicarLum();
Serial.print(analogRead(A0));
if (!client.connected()) {
reconectarMQTT();
}
}
void reconectarMQTT() {
while (!client.connected()) {
client.connect(mqtt_ClientID);
}
}
//PUBLICAR
void publicarLum(){
client.publish(topicoLum, String(analogRead(A0)).c_str(),true);
}
// ---Função Conectar WiFi---
void conectarWifi() {
delay(10);
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
}