From dc530fa477431780f006e55fc2be7d77c91f5759 Mon Sep 17 00:00:00 2001 From: Willem Oldemans Date: Wed, 13 Jan 2021 21:46:39 +0100 Subject: [PATCH] prepare for mqtt and add wifi disconnect --- platformio.ini | 4 +--- src/mqtt.cpp | 9 +++++++++ src/mqtt.h | 7 +++++++ src/net.cpp | 44 ++++++++++++++++++++++++++++++++++++++------ 4 files changed, 55 insertions(+), 9 deletions(-) create mode 100644 src/mqtt.cpp create mode 100644 src/mqtt.h diff --git a/platformio.ini b/platformio.ini index 7f6a34a..d097c53 100644 --- a/platformio.ini +++ b/platformio.ini @@ -13,11 +13,9 @@ default_envs = ttgo-t18 [env] lib_deps = - #heltecautomation/Heltec ESP32 Dev-Boards@^1.1.0 ericksimoes/Ultrasonic@^3.0.0 - 256dpi/MQTT@^2.4.8 http://192.168.2.3/Bonobo.Git.Server/OLEDDisplay.git - bluerobotics/ping-arduino@^0.0.2 + knolleary/PubSubClient @ ^2.8 [env:heltec_wifi_lora_32_V2] diff --git a/src/mqtt.cpp b/src/mqtt.cpp new file mode 100644 index 0000000..36dbe67 --- /dev/null +++ b/src/mqtt.cpp @@ -0,0 +1,9 @@ +#include "Arduino.h" +#include "mqtt.h" +#include "display.h" + + +void mqttInit(void) +{ + displayWriteLine("MQTT init done"); +} \ No newline at end of file diff --git a/src/mqtt.h b/src/mqtt.h new file mode 100644 index 0000000..b22977b --- /dev/null +++ b/src/mqtt.h @@ -0,0 +1,7 @@ +#ifndef MQTTH +#define MQTTH + +void mqttInit(void); + + +#endif //MQTTH \ No newline at end of file diff --git a/src/net.cpp b/src/net.cpp index eb2e74e..0f5f21b 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1,6 +1,7 @@ #include "Arduino.h" #include "net.h" #include +#include #include "display.h" @@ -8,21 +9,28 @@ const char *ssid = "poes"; const char *password = "Rijnstraat214"; - void netInit(void) { - Serial.print("Inet init "); + Serial.print("Net: init "); WiFi.begin(ssid, password); delay(10); int counter = 30; - while (WiFi.status() != WL_CONNECTED && counter) + while (WiFi.status() != WL_CONNECTED && counter--) { Serial.print("."); delay(500); } - Serial.println("done"); - displayWriteLine("Network Init Done"); - + if(WiFi.status() != WL_CONNECTED) + { + WiFi.mode(WIFI_OFF); + Serial.println("done"); + displayWriteLine("Network: Init Done"); + } + else + { + Serial.println("FAILED"); + displayWriteLine("Network: Init FAILED"); + } } bool netIsConnected( void ) @@ -34,3 +42,27 @@ const char* netGetSSID( void ) { return ssid; } + +bool netConnect(void) +{ + return WiFi.mode(WIFI_STA); + WiFi.begin(ssid,password); + if(WiFi.status() != WL_CONNECTED) + { + WiFi.mode(WIFI_OFF); + Serial.println("Net: reconnected"); + } + else + { + Serial.println("FAILED"); + displayWriteLine("Net: reconncet FAILED"); + } +} + +bool netDisconnect(void) +{ + return WiFi.mode(WIFI_OFF); +} + + +