trying to fix mqtt stops to work after a few hours

This commit is contained in:
Holger Fleischmann
2020-11-15 11:36:06 +01:00
parent 91c7b5e2ef
commit 733ca426a4
3 changed files with 14 additions and 1 deletions

View File

@@ -4,6 +4,7 @@
#include "GeigerData.h"
void initIngest();
void loopIngest();
void deinitIngest();
void ingestToThingspeak(GeigerData &geigerData, uint16_t intervalSamples);
void ingestToMqtt(GeigerData &geigerData, uint16_t intervalSamples);

View File

@@ -50,6 +50,14 @@ void initIngest()
connectWiFi();
}
void loopIngest()
{
if (mqttClient.connected())
{
mqttClient.loop();
}
}
void deinitIngest()
{
if (WiFi.status() == WL_CONNECTED)
@@ -182,6 +190,9 @@ void ingestToMqtt(GeigerData &geigerData, uint16_t intervalSamples)
sprintf(payload, "{\"pulses\":%lu, \"cpm\":%lu,\"uSph\":%.3f,\"secs\":%d}",
pulses, cpm, uSph, (int)intervalSamples);
mqttClient.publish(mqttTopic, payload);
if (!mqttClient.publish(mqttTopic, payload))
{
mqttClient.disconnect();
}
}
}

View File

@@ -93,6 +93,7 @@ void loop()
if (wifiSwitchOn())
{
loopIngest();
ingestCountdown--;
if (ingestCountdown <= 0)
{