mirror of
https://github.com/grillbaer/esp32-geiger-counter.git
synced 2025-12-21 13:23:15 +01:00
trying to fix mqtt stops to work after a few hours
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,6 +93,7 @@ void loop()
|
||||
|
||||
if (wifiSwitchOn())
|
||||
{
|
||||
loopIngest();
|
||||
ingestCountdown--;
|
||||
if (ingestCountdown <= 0)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user