From 4fb17239f013f29f9694b4c5cf99d139f1243513 Mon Sep 17 00:00:00 2001 From: Vegar Westerlund Date: Sun, 9 Jun 2019 23:21:32 +0200 Subject: [PATCH] Made HAN Configuration access point into a library --- .../AmsToMqttBridge/AmsToMqttBridge.ino | 10 ++--- .../HanConfigAp/library.properties | 9 +++++ .../HanConfigAp/src/HanConfigAp.cpp} | 38 ++++++++++--------- .../HanConfigAp/src/HanConfigAp.h} | 18 +++++++-- .../HanConfigAp/src}/configuration.cpp | 0 .../HanConfigAp/src}/configuration.h | 0 .../HanToJson/library.properties | 6 +-- 7 files changed, 53 insertions(+), 28 deletions(-) create mode 100644 Arduino Code/Arduino Libraries/HanConfigAp/library.properties rename Arduino Code/{AmsToMqttBridge/accesspoint.cpp => Arduino Libraries/HanConfigAp/src/HanConfigAp.cpp} (93%) rename Arduino Code/{AmsToMqttBridge/accesspoint.h => Arduino Libraries/HanConfigAp/src/HanConfigAp.h} (70%) rename Arduino Code/{AmsToMqttBridge => Arduino Libraries/HanConfigAp/src}/configuration.cpp (100%) rename Arduino Code/{AmsToMqttBridge => Arduino Libraries/HanConfigAp/src}/configuration.h (100%) diff --git a/Arduino Code/AmsToMqttBridge/AmsToMqttBridge.ino b/Arduino Code/AmsToMqttBridge/AmsToMqttBridge.ino index 1bb88c4c..2bd37dd7 100644 --- a/Arduino Code/AmsToMqttBridge/AmsToMqttBridge.ino +++ b/Arduino Code/AmsToMqttBridge/AmsToMqttBridge.ino @@ -5,14 +5,14 @@ */ -#include -#include #include +#include #include +#include +#include +#include "HanConfigAp.h" #include "HanReader.h" #include "HanToJson.h" -#include "configuration.h" -#include "accesspoint.h" #define WIFI_CONNECTION_TIMEOUT 30000; #define TEMP_SENSOR_PIN 5 // Temperature sensor connected to GPIO5 @@ -23,7 +23,7 @@ DallasTemperature tempSensor(&oneWire); long lastTempDebug = 0; // Object used to boot as Access Point -accesspoint ap; +HanConfigAp ap; // WiFi client and MQTT client WiFiClient *client; diff --git a/Arduino Code/Arduino Libraries/HanConfigAp/library.properties b/Arduino Code/Arduino Libraries/HanConfigAp/library.properties new file mode 100644 index 00000000..6fa3db03 --- /dev/null +++ b/Arduino Code/Arduino Libraries/HanConfigAp/library.properties @@ -0,0 +1,9 @@ +name=HanConfigAp +version=1.0.0 +author=roarfred +maintainer=roarfred +sentence=HAN Configuraiton accesspoint +paragraph=HAN Configuraiton accesspoint +category=Sensors +url=https://github.com/roarfred/AmsToMqttBridge +architectures=* diff --git a/Arduino Code/AmsToMqttBridge/accesspoint.cpp b/Arduino Code/Arduino Libraries/HanConfigAp/src/HanConfigAp.cpp similarity index 93% rename from Arduino Code/AmsToMqttBridge/accesspoint.cpp rename to Arduino Code/Arduino Libraries/HanConfigAp/src/HanConfigAp.cpp index 3a579d5c..2286950a 100644 --- a/Arduino Code/AmsToMqttBridge/accesspoint.cpp +++ b/Arduino Code/Arduino Libraries/HanConfigAp/src/HanConfigAp.cpp @@ -1,17 +1,17 @@ -// -// -// +#include "HanConfigAp.h" -#include "accesspoint.h" +#if defined(ESP8266) +ESP8266WebServer HanConfigAp::server(80); +#elif defined(ESP32) // ARDUINO_ARCH_ESP32 +WebServer HanConfigAp::server(80); +#endif +Stream* HanConfigAp::debugger; -ESP8266WebServer accesspoint::server(80); -Stream* accesspoint::debugger; - -bool accesspoint::hasConfig() { +bool HanConfigAp::hasConfig() { return config.hasConfig(); } -void accesspoint::setup(int accessPointButtonPin, Stream* debugger) +void HanConfigAp::setup(int accessPointButtonPin, Stream* debugger) { this->debugger = debugger; @@ -71,7 +71,7 @@ void accesspoint::setup(int accessPointButtonPin, Stream* debugger) } } -bool accesspoint::loop() { +bool HanConfigAp::loop() { if (isActivated) { //DNS @@ -87,7 +87,7 @@ bool accesspoint::loop() { } /** Handle root or redirect to captive portal */ -void accesspoint::handleRoot() { +void HanConfigAp::handleRoot() { println("Serving / over http..."); server.sendHeader("Cache-Control", "no-cache, no-store, must-revalidate"); @@ -102,7 +102,7 @@ void accesspoint::handleRoot() { } -void accesspoint::handleSave() { +void HanConfigAp::handleSave() { configuration *config = new configuration(); String temp; @@ -145,13 +145,17 @@ void accesspoint::handleSave() { println("Saving configuration now..."); - if (accesspoint::debugger) config->print(accesspoint::debugger); + if (HanConfigAp::debugger) config->print(HanConfigAp::debugger); if (config->save()) { println("Successfully saved. Will roboot now."); String html = "

Successfully Saved!

Device is restarting now...

"; server.send(200, "text/html", html); +#if defined(ESP8266) ESP.reset(); +#elif defined(ESP32) + ESP.restart(); +#endif } else { @@ -161,19 +165,19 @@ void accesspoint::handleSave() { } } -size_t accesspoint::print(const char* text) +size_t HanConfigAp::print(const char* text) { if (debugger) debugger->print(text); } -size_t accesspoint::println(const char* text) +size_t HanConfigAp::println(const char* text) { if (debugger) debugger->println(text); } -size_t accesspoint::print(const Printable& data) +size_t HanConfigAp::print(const Printable& data) { if (debugger) debugger->print(data); } -size_t accesspoint::println(const Printable& data) +size_t HanConfigAp::println(const Printable& data) { if (debugger) debugger->println(data); } diff --git a/Arduino Code/AmsToMqttBridge/accesspoint.h b/Arduino Code/Arduino Libraries/HanConfigAp/src/HanConfigAp.h similarity index 70% rename from Arduino Code/AmsToMqttBridge/accesspoint.h rename to Arduino Code/Arduino Libraries/HanConfigAp/src/HanConfigAp.h index eea815b8..9b46250a 100644 --- a/Arduino Code/AmsToMqttBridge/accesspoint.h +++ b/Arduino Code/Arduino Libraries/HanConfigAp/src/HanConfigAp.h @@ -9,12 +9,20 @@ #include "WProgram.h" #endif -#include -#include +#if defined(ESP8266) + #include + #include +#elif defined(ESP32) // ARDUINO_ARCH_ESP32 + #include + #include +#else + #warning "Unsupported board type" +#endif + #include #include "configuration.h" -class accesspoint { +class HanConfigAp { public: void setup(int accessPointButtonPin, Stream* debugger); bool loop(); @@ -37,7 +45,11 @@ private: // Web server static void handleRoot(); static void handleSave(); +#if defined(ESP8266) static ESP8266WebServer server; +#elif defined(ESP32) // ARDUINO_ARCH_ESP32 + static WebServer server; +#endif static Stream* debugger; }; diff --git a/Arduino Code/AmsToMqttBridge/configuration.cpp b/Arduino Code/Arduino Libraries/HanConfigAp/src/configuration.cpp similarity index 100% rename from Arduino Code/AmsToMqttBridge/configuration.cpp rename to Arduino Code/Arduino Libraries/HanConfigAp/src/configuration.cpp diff --git a/Arduino Code/AmsToMqttBridge/configuration.h b/Arduino Code/Arduino Libraries/HanConfigAp/src/configuration.h similarity index 100% rename from Arduino Code/AmsToMqttBridge/configuration.h rename to Arduino Code/Arduino Libraries/HanConfigAp/src/configuration.h diff --git a/Arduino Code/Arduino Libraries/HanToJson/library.properties b/Arduino Code/Arduino Libraries/HanToJson/library.properties index 946c0272..204ea958 100644 --- a/Arduino Code/Arduino Libraries/HanToJson/library.properties +++ b/Arduino Code/Arduino Libraries/HanToJson/library.properties @@ -1,9 +1,9 @@ -name=HANtoJson +name=HanToJson version=1.0.0 author=roarfred maintainer=roarfred -sentence=HAN support -paragraph=HAN support +sentence=HAN reader data to Json +paragraph=HAN reader data to Json category=Sensors url=https://github.com/roarfred/AmsToMqttBridge architectures=*