IoT sensor/controller using STM32, W5500 ethernet, MQTT
Dependencies: mbed WIZnet_Library Watchdog DHT MQTT DS1820
Diff: main.cpp
- 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...... } }