diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..d8cb326 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,5 @@ +{ + "files.associations": { + "string": "cpp" + } +} \ No newline at end of file diff --git a/lib/ServerHandler/ServerHandler.cpp b/lib/ServerHandler/ServerHandler.cpp new file mode 100644 index 0000000..43e19da --- /dev/null +++ b/lib/ServerHandler/ServerHandler.cpp @@ -0,0 +1,37 @@ +#include "ServerHandler.hpp" + +ServerHandler::ServerHandler() : server(80) { +} + +void ServerHandler::setup(const char* ssid, const char* password) { // On utilise les scope resolution operator pour définir les méthodes la classe ServerHandle qui elle est dans hpp + Serial.begin(9600); + WiFi.begin(ssid, password); + + while (WiFi.status() != WL_CONNECTED) { + delay(500); + Serial.print("."); + } + + Serial.println(""); + Serial.println("Connected to Wi-Fi. IP address: "); + Serial.println(WiFi.localIP()); + + server.begin(); + server.on("/", [this]() { this->sendDataToServer("Hello World!"); }); // fonction lamda pour gérer les requettes get +} + +void ServerHandler::loop() { + server.handleClient(); +} + +int ServerHandler::readSensorData() { + return 123; +} + +void ServerHandler::sendDataToServer(char * data) { + server.send(200, "text/plain", data); +} + +void ServerHandler::handleRoot() { + server.send(200, "text/plain", "Sensor Data: " + String(readSensorData())); +} diff --git a/lib/ServerHandler/ServerHandler.hpp b/lib/ServerHandler/ServerHandler.hpp new file mode 100644 index 0000000..8851633 --- /dev/null +++ b/lib/ServerHandler/ServerHandler.hpp @@ -0,0 +1,20 @@ +#ifndef SERVERHANDLER_HPP +#define SERVERHANDLER_HPP + +#include +#include + +class ServerHandler { +public: + ServerHandler(); + void setup(const char* ssid, const char* password); + void loop(); + +private: + ESP8266WebServer server; + int readSensorData(); + void sendDataToServer(char * data); + void handleRoot(); +}; + +#endif diff --git a/platformio.ini b/platformio.ini index 6bb127a..cdf99da 100644 --- a/platformio.ini +++ b/platformio.ini @@ -12,3 +12,5 @@ platform = espressif8266 board = nodemcuv2 framework = arduino +lib_deps = tzapu/WiFiManager@^0.16.0 + bbx10/DNSServer@^1.1.0 diff --git a/src/main.cpp b/src/main.cpp index cd80d0d..b17cfbc 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,10 +1,15 @@ #include +#include +#include + +#include "ServerHandler.hpp" + +ServerHandler serverHandler; void setup() { - Serial.begin(9600); + serverHandler.setup("Redmi Note 10", "bbooksdd"); } void loop() { - delay(1000); - Serial.println("Hello World!"); -} \ No newline at end of file + serverHandler.loop(); +}