IoT sensor/controller using STM32, W5500 ethernet, MQTT

Dependencies:   mbed WIZnet_Library Watchdog DHT MQTT DS1820

Revision:
7:3c2222251deb
Parent:
6:4d30bc5a8076
Child:
8:6d7be3bed961
--- a/main.cpp	Wed Feb 26 00:07:17 2020 +0000
+++ b/main.cpp	Wed Feb 26 17:22:18 2020 +0000
@@ -1,4 +1,5 @@
 #include "mbed.h"
+#include "Watchdog.h"
 //#include "rtos.h"
 //#include "pins.h"
 #include "WIZnetInterface.h"
@@ -55,6 +56,7 @@
 DigitalIn button(BUTTON);
 DigitalOut led(LED_GREEN);
 
+Watchdog wd;
 Ticker tick_60sec;
 Ticker tick_5sec;
 Ticker tick_1sec;
@@ -69,7 +71,8 @@
 enum IO_STATE{IO_ON, IO_OFF};
 
 uint8_t mac_addr[6]={0x00, 0x00, 0x00, 0xBE, 0xEF, 0x03}; // TODO make last byte dynamic
-const char* mqtt_broker = "192.168.1.99";
+const char* mqtt_broker = "192.168.10.4";
+//const char* mqtt_broker = "192.168.1.99";
 const int mqtt_port = 1883;
 unsigned long uptime_sec = 0;
 int connected = -1;
@@ -270,6 +273,7 @@
     MQTTSocket sock;
     MClient client(sock);
     
+    wd.Configure(20.0);
     tick_500ms.attach(&every_500ms, 0.5);
     tick_1sec.attach(&every_second, 1.0);
     tick_5sec.attach(&every_5sec, 5.0);
@@ -286,6 +290,7 @@
     connected = networking_init(sock, client, wiz);
     
     while(1) {
+        wd.Service();       // kick the dog before the timeout
         read_inputs(client);
         
         if(connected != 0) {
@@ -300,7 +305,7 @@
                 flag_publish = 0;
             }
         }
-        // pause a while, yawn......
-        client.yield(500);
+        
+        client.yield(500);  // pause a while, yawn......
     }
 }