Controler son arduino via Wifi

Bonjour tout le monde !

J'arrive pour le moment à controler mon ESP32 via une page via la fonction
handleRoot(). Chaque lignes du code html et précédé de page += ""

Je souhaite utiliser du php et utiliser des bases de donné mais je pense que je ne peux pas faire de cette manière. J'ai eu beaucoup de mal à trouver des vidéos explicatives et maintenant je ne trouve plus mon bonheur.

==> Est-il possible de mettre du php avec la fonction handleRoot() ?

Merci

Mon code: `

#include <WiFi.h>
#include <WebServer.h>

const char *ssid = "xxxxxxxxxxx";
const char *password = "xxxxxx";
WebServer server(80);

const int led = 14;
bool etatLed = 0;
char texteEtatLed[2][10] = {"ÉTEINTE!","ALLUMÉE!"};

void handleRoot()
{

String page = "<!DOCTYPE html>";

page += "<html lang='fr'>";

page += "<head>";
page += "    <title>Serveur ESP32</title>";
page += "    <meta http-equiv='refresh' content='60' name='viewport' content='width=device-width, initial-scale=1' charset='UTF-8' />";
page += "    <link rel='stylesheet' href='https://www.w3schools.com/w3css/4/w3.css'>";
page += "</head>";
page += "<body>";
page += "    <div class='w3-card w3-blue w3-padding-small w3-jumbo w3-center'>";
page += "        <p>ÉTAT LED: "; 
page += texteEtatLed[etatLed]; + "</p>";
page += "    </div>";

page += "    <div class='w3-bar'>";
page += "        <a href='/on' class='w3-bar-item w3-button w3-border w3-jumbo' style='width:50%; height:50%;'>ON</a>";
page += "        <a href='/off' class='w3-bar-item w3-button w3-border w3-jumbo' style='width:50%; height:50%;'>OFF</a>";
page += "    </div>";

page += "    <div class='w3-center w3-padding-16'>";
page += "        <p>Ce serveur est hébergé sur un ESP32</p>";
page += "        <i>Créé par Tommy Desrochers</i>";
page += "    </div>";
page += "</body>";

page += "</html>";

server.setContentLength(page.length());
server.send(200, "text/html", page);
}

void handleOn()
{
etatLed = 1;
digitalWrite(led, HIGH);
server.sendHeader("Location","/");
server.send(303);
}

void handleOff()
{
etatLed = 0;
digitalWrite(led, LOW);
server.sendHeader("Location","/");
server.send(303);
}

void handleNotFound()
{
server.send(404, "text/plain", "404: Not found");
}

void setup()
{
Serial.begin(115200);
delay(1000);
Serial.println("\n");

pinMode(led, OUTPUT);
digitalWrite(led, LOW);

WiFi.persistent(false);
WiFi.begin(ssid, password);
Serial.print("Tentative de connexion...");

while (WiFi.status() != WL_CONNECTED)
{
    Serial.print(".");
    delay(100);
}

Serial.println("\n");
Serial.println("Connexion etablie!");
Serial.print("Adresse IP: ");
Serial.println(WiFi.localIP());

server.on("/", handleRoot);
server.on("/on", handleOn);
server.on("/off", handleOff);
server.onNotFound(handleNotFound);
server.begin();

Serial.println("Serveur web actif!");
}

void loop()
{
server.handleClient();
}

Salut.
Ceci n'est pas un tutoriel. Sujet déplacé dans le forum principal.
Mettre le code entre balises SVP.

Si cela n'a pas été fait, il est probable que cela serait assez compliqué de faire rentrer un interpréteur et un SGBD de plusieurs Mo (au moins 10) dans un ESP32.
Il faut au moins une RASPBERRY PI.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.