adds ping to the end of the main loop in examples
This commit is contained in:
parent
7c2b558ee9
commit
4dc6f1e486
@ -104,16 +104,6 @@ void loop() {
|
|||||||
// connection and automatically reconnect when disconnected). See the MQTT_connect
|
// connection and automatically reconnect when disconnected). See the MQTT_connect
|
||||||
// function definition further below.
|
// function definition further below.
|
||||||
MQTT_connect();
|
MQTT_connect();
|
||||||
|
|
||||||
// Try to ping the MQTT server
|
|
||||||
/*
|
|
||||||
if (! mqtt.ping(3) ) {
|
|
||||||
// MQTT pings failed, let's reconnect by forcing a watchdog reset.
|
|
||||||
Serial.println("Ping fail! Resetting...");
|
|
||||||
Watchdog.enable(8000);
|
|
||||||
delay(10000);
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
// this is our 'wait for incoming subscription packets' busy subloop
|
// this is our 'wait for incoming subscription packets' busy subloop
|
||||||
Adafruit_MQTT_Subscribe *subscription;
|
Adafruit_MQTT_Subscribe *subscription;
|
||||||
@ -133,6 +123,12 @@ void loop() {
|
|||||||
} else {
|
} else {
|
||||||
Serial.println(F("OK!"));
|
Serial.println(F("OK!"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ping the server to keep the mqtt connection alive
|
||||||
|
if(! mqtt.ping()) {
|
||||||
|
Serial.println(F("MQTT Ping failed."));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Function to connect and reconnect as necessary to the MQTT server.
|
// Function to connect and reconnect as necessary to the MQTT server.
|
||||||
|
@ -90,14 +90,6 @@ void loop() {
|
|||||||
// function definition further below.
|
// function definition further below.
|
||||||
MQTT_connect();
|
MQTT_connect();
|
||||||
|
|
||||||
// Try to ping the MQTT server
|
|
||||||
/*
|
|
||||||
if (! mqtt.ping(3) ) {
|
|
||||||
// MQTT pings failed, lets reconnect
|
|
||||||
Serial.println("Ping fail!");
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
// this is our 'wait for incoming subscription packets' busy subloop
|
// this is our 'wait for incoming subscription packets' busy subloop
|
||||||
Adafruit_MQTT_Subscribe *subscription;
|
Adafruit_MQTT_Subscribe *subscription;
|
||||||
while ((subscription = mqtt.readSubscription(1000))) {
|
while ((subscription = mqtt.readSubscription(1000))) {
|
||||||
@ -117,7 +109,13 @@ void loop() {
|
|||||||
Serial.println(F("OK!"));
|
Serial.println(F("OK!"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ping the server to keep the mqtt connection alive
|
||||||
|
if(! mqtt.ping()) {
|
||||||
|
mqtt.disconnect();
|
||||||
|
}
|
||||||
|
|
||||||
delay(1000);
|
delay(1000);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Function to connect and reconnect as necessary to the MQTT server.
|
// Function to connect and reconnect as necessary to the MQTT server.
|
||||||
|
@ -91,13 +91,6 @@ void loop() {
|
|||||||
// connection and automatically reconnect when disconnected). See the MQTT_connect
|
// connection and automatically reconnect when disconnected). See the MQTT_connect
|
||||||
// function definition further below.
|
// function definition further below.
|
||||||
MQTT_connect();
|
MQTT_connect();
|
||||||
|
|
||||||
// Try to ping the MQTT server
|
|
||||||
if (! mqtt.ping(3) ) {
|
|
||||||
// MQTT pings failed, let's reconnect by forcing a watchdog reset.
|
|
||||||
Serial.println("Ping fail! Resetting...");
|
|
||||||
delay(10000);
|
|
||||||
}
|
|
||||||
|
|
||||||
// this is our 'wait for incoming subscription packets' busy subloop
|
// this is our 'wait for incoming subscription packets' busy subloop
|
||||||
Adafruit_MQTT_Subscribe *subscription;
|
Adafruit_MQTT_Subscribe *subscription;
|
||||||
@ -117,6 +110,12 @@ void loop() {
|
|||||||
} else {
|
} else {
|
||||||
Serial.println(F("OK!"));
|
Serial.println(F("OK!"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ping the server to keep the mqtt connection alive
|
||||||
|
if(! mqtt.ping()) {
|
||||||
|
mqtt.disconnect();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Function to connect and reconnect as necessary to the MQTT server.
|
// Function to connect and reconnect as necessary to the MQTT server.
|
||||||
|
@ -113,30 +113,10 @@ void loop() {
|
|||||||
// Make sure to reset watchdog every loop iteration!
|
// Make sure to reset watchdog every loop iteration!
|
||||||
Watchdog.reset();
|
Watchdog.reset();
|
||||||
|
|
||||||
// check if we're still connected
|
// Ensure the connection to the MQTT server is alive (this will make the first
|
||||||
if (!fona.TCPconnected() || (txfailures >= MAXTXFAILURES)) {
|
// connection and automatically reconnect when disconnected). See the MQTT_connect
|
||||||
Serial.println(F("Connecting to MQTT..."));
|
// function definition further below.
|
||||||
int8_t ret, retries = 5;
|
MQTT_connect();
|
||||||
while (retries && (ret = mqtt.connect()) != 0) {
|
|
||||||
Serial.println(mqtt.connectErrorString(ret));
|
|
||||||
Serial.println(F("Retrying MQTT connection"));
|
|
||||||
retries--;
|
|
||||||
if (retries == 0) halt("Resetting system");
|
|
||||||
delay(5000);
|
|
||||||
}
|
|
||||||
Serial.println(F("MQTT Connected!"));
|
|
||||||
txfailures = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Try to ping the MQTT server
|
|
||||||
/*
|
|
||||||
if (! mqtt.ping(3) ) {
|
|
||||||
// MQTT pings failed, lets reconnect
|
|
||||||
Serial.println("Ping fail!");
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
// this is our 'wait for incoming subscription packets' busy subloop
|
// this is our 'wait for incoming subscription packets' busy subloop
|
||||||
Adafruit_MQTT_Subscribe *subscription;
|
Adafruit_MQTT_Subscribe *subscription;
|
||||||
@ -158,4 +138,31 @@ void loop() {
|
|||||||
Serial.println(F("OK!"));
|
Serial.println(F("OK!"));
|
||||||
txfailures = 0;
|
txfailures = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ping the server to keep the mqtt connection alive
|
||||||
|
if(! mqtt.ping()) {
|
||||||
|
Serial.println(F("MQTT Ping failed."));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Function to connect and reconnect as necessary to the MQTT server.
|
||||||
|
// Should be called in the loop function and it will take care if connecting.
|
||||||
|
void MQTT_connect() {
|
||||||
|
int8_t ret;
|
||||||
|
|
||||||
|
// Stop if already connected.
|
||||||
|
if (mqtt.connected()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Serial.print("Connecting to MQTT... ");
|
||||||
|
|
||||||
|
while ((ret = mqtt.connect()) != 0) { // connect will return 0 for connected
|
||||||
|
Serial.println(mqtt.connectErrorString(ret));
|
||||||
|
Serial.println("Retrying MQTT connection in 5 seconds...");
|
||||||
|
mqtt.disconnect();
|
||||||
|
delay(5000); // wait 5 seconds
|
||||||
|
}
|
||||||
|
Serial.println("MQTT Connected!");
|
||||||
}
|
}
|
||||||
|
@ -74,14 +74,6 @@ void loop() {
|
|||||||
// function definition further below.
|
// function definition further below.
|
||||||
MQTT_connect();
|
MQTT_connect();
|
||||||
|
|
||||||
// Try to ping the MQTT server
|
|
||||||
/*
|
|
||||||
if (! mqtt.ping(3) ) {
|
|
||||||
// MQTT pings failed, lets reconnect
|
|
||||||
Console.println("Ping fail!");
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
// this is our 'wait for incoming subscription packets' busy subloop
|
// this is our 'wait for incoming subscription packets' busy subloop
|
||||||
Adafruit_MQTT_Subscribe *subscription;
|
Adafruit_MQTT_Subscribe *subscription;
|
||||||
while ((subscription = mqtt.readSubscription(1000))) {
|
while ((subscription = mqtt.readSubscription(1000))) {
|
||||||
@ -101,7 +93,13 @@ void loop() {
|
|||||||
Console.println(F("OK!"));
|
Console.println(F("OK!"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ping the server to keep the mqtt connection alive
|
||||||
|
if(! mqtt.ping()) {
|
||||||
|
Serial.println(F("MQTT Ping failed."));
|
||||||
|
}
|
||||||
|
|
||||||
delay(1000);
|
delay(1000);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Function to connect and reconnect as necessary to the MQTT server.
|
// Function to connect and reconnect as necessary to the MQTT server.
|
||||||
|
Loading…
Reference in New Issue
Block a user