-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMQTT.ino
43 lines (40 loc) · 1.09 KB
/
MQTT.ino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
void conectaMQTT(void) {
#ifdef Terminal_Serial
//Verifica conexão
if(!client.connected()){
//Enquanto não estivermos conectados
while (!client.connected()){
Serial.print("Realizando uma conexão MQTT... ");
//Tenta realizar uma conexão
if(client.connect(clientID, username, password)) Serial.println("Conexão estabelecida");
else{
Serial.print("Falha ao conectar, rc=");
Serial.print(client.state());
Serial.println(" , tentando novamente em 5s");
delay(5000);
}
}
}
client.loop();
#elif defined Outra_Placa
if(!client.connected()){
while (!client.connected()){
if(client.connect(clientID, username, password))break;
else delay(5000);
}
}
client.loop();
#endif
}
void publicaMQTT(const char* payload){
#ifdef Terminal_Serial
conectaMQTT();
Serial.print("Mensagem publicada: ");
Serial.println(payload);
client.publish(publish_topic, payload);
#elif defined Outra_Placa
conectaMQTT();
client.publish(publish_topic, payload);
Serial.print('P');
#endif
}