Boilerplate server handling

This commit is contained in:
Lemonochrome 2023-11-23 22:14:13 +01:00
parent df84f6ba00
commit 0b15719ce5
5 changed files with 73 additions and 4 deletions

5
.vscode/settings.json vendored Normal file
View file

@ -0,0 +1,5 @@
{
"files.associations": {
"string": "cpp"
}
}

View file

@ -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()));
}

View file

@ -0,0 +1,20 @@
#ifndef SERVERHANDLER_HPP
#define SERVERHANDLER_HPP
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
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

View file

@ -12,3 +12,5 @@
platform = espressif8266
board = nodemcuv2
framework = arduino
lib_deps = tzapu/WiFiManager@^0.16.0
bbx10/DNSServer@^1.1.0

View file

@ -1,10 +1,15 @@
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include "ServerHandler.hpp"
ServerHandler serverHandler;
void setup() {
Serial.begin(9600);
serverHandler.setup("Redmi Note 10", "bbooksdd");
}
void loop() {
delay(1000);
Serial.println("Hello World!");
}
serverHandler.loop();
}