summaryrefslogtreecommitdiff
path: root/_PROGRAMs/C++/MQTT.md
blob: c24332e90a1c3ce036e46870c0c30b54d9a2730c (plain)
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

```C++
bool reconnect() {
	Serial.print("MQTT connect : ");
	Serial.println(mqtt_server);
	uint8_t countMQTT = 20;  // кол-во попыток соединения
	uint16_t countPause = 500; // пауза между попытками
	while (!(client.connect(mqtt_client, mqtt_user, mqtt_pass)) && countMQTT--) {
		Serial.print(countMQTT);
		Serial.print('>');
		delay(countPause);
	}
	if (client.connected()) {
		Serial.println("MQTT connected - OK !");
		String topic = "/";
		topic += mqtt_client2;
		topic += inTopicTempRoom;
		mqtt_subscribe(client, topic);
		topic = "/";
		topic += mqtt_client2;
		topic += inTopicReboot;
		mqtt_subscribe(client, topic);
		return true;
	} else {
		return false;
	}
}
```