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"
|
#include "GeigerData.h"
|
||||||
|
|
||||||
void initIngest();
|
void initIngest();
|
||||||
|
void loopIngest();
|
||||||
void deinitIngest();
|
void deinitIngest();
|
||||||
void ingestToThingspeak(GeigerData &geigerData, uint16_t intervalSamples);
|
void ingestToThingspeak(GeigerData &geigerData, uint16_t intervalSamples);
|
||||||
void ingestToMqtt(GeigerData &geigerData, uint16_t intervalSamples);
|
void ingestToMqtt(GeigerData &geigerData, uint16_t intervalSamples);
|
||||||
|
|||||||
@@ -50,6 +50,14 @@ void initIngest()
|
|||||||
connectWiFi();
|
connectWiFi();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void loopIngest()
|
||||||
|
{
|
||||||
|
if (mqttClient.connected())
|
||||||
|
{
|
||||||
|
mqttClient.loop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void deinitIngest()
|
void deinitIngest()
|
||||||
{
|
{
|
||||||
if (WiFi.status() == WL_CONNECTED)
|
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}",
|
sprintf(payload, "{\"pulses\":%lu, \"cpm\":%lu,\"uSph\":%.3f,\"secs\":%d}",
|
||||||
pulses, cpm, uSph, (int)intervalSamples);
|
pulses, cpm, uSph, (int)intervalSamples);
|
||||||
|
|
||||||
mqttClient.publish(mqttTopic, payload);
|
if (!mqttClient.publish(mqttTopic, payload))
|
||||||
|
{
|
||||||
|
mqttClient.disconnect();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,6 +93,7 @@ void loop()
|
|||||||
|
|
||||||
if (wifiSwitchOn())
|
if (wifiSwitchOn())
|
||||||
{
|
{
|
||||||
|
loopIngest();
|
||||||
ingestCountdown--;
|
ingestCountdown--;
|
||||||
if (ingestCountdown <= 0)
|
if (ingestCountdown <= 0)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user