Bonjour,
Apres une semaine ... j'ai réussi
ou presque !
Je cherche a pouvoir accéder via internet a mes relever de température et autre sur mon aquarium.
Mon arduino mega est relié a un modul esp-01. (en rx/tx02)
J'ai luter pour comprendre comment écrire une page html et je me heurte a un problème dont personne ne parle sur le net !
J'arrive bien a faire apparaître mes mesure mais uniquement sur la ligne suivante. impossible de le mettre au bout de la phrase "température aquarium :". Il en est de meme pour le sigle °.
Et également pour mettre le H pour separer les heure des minutes.
Tout les forum que je lise parle de html/css ou alors de l'arduino mais je n'est rien trouvé pour solutionner mon problème.
Les forum arduino utilise tous un biblioteque et des code "client.print"
Si dessous un rendu de ma page html et mon code, simplifier pour les tests.
Si des connaisseur arduino/html passe dans le coin ... Merci d'avance.
int test = 1234;
void setup() {
Serial.begin(115200);
Serial2.begin(115200);
String SSIDstring = ("ssid");
String PASSstring = ("pass");
Serial.println("\r\n----- [ RESET DE MODULE (RST) ] -----");
sendData("AT+RST\r\n", 1000, true); // Reset de ESP module.
Serial.println("\r\n----- [ ZET ESP IN STATION MODE (CWMODE) ] -----");
sendData("AT+CWMODE=1\r\n", 500, true); // Configureer de ESP in "station mode" (1=Station, 2=AP, 3=Station+AP).
Serial.println("\r\n----- [ INLOGGEN OP WIFI (CWJAP) ] -----");
sendData("AT+CWJAP=" + SSIDstring + "," + PASSstring, 6000, true); // Inloggen op de WiFi met wachtwoord.
Serial.println("\r\n----- [ DUMMY REGEL OM DE ERROR OP TE VANGEN ] -----");
sendData("AT+CIPSTATUS\r\n", 500, true); // Alles wat na de bovenste regel komt geeft "ERROR", vandaar deze dummy regel!
Serial.println("\r\n----- [ MULTIPLEX MODE OP MULTIPLE CONNECTIES ZETTEN (CIPMUX) ] -----");
// Zet multiplex in "multiple mode, zo kan de server meerdere verbindingen accepteren, dit is nodig om de server te starten.
sendData("AT+CIPMUX=1\r\n", 500, true);
Serial.println("\r\n----- [ SERVER STARTEN (CIPSERVER) ] -----");
sendData("AT+CIPSERVER=1,80\r\n", 500, true); // Zet de server actief op poort 80.
Serial.println("\r\n----- [IP ADRES] -----");
sendData("AT+CIFSR\r\n", 500, true); // Geef het verkregen IP adres weer.
}
void loop() {
if(Serial2.available()) {
if(Serial2.find("+IPD,")) {
int connectionId = Serial2.read() - 48;
// ----- WEBPAGINA -----
String pageweb ="<!DOCTYPE html><html><head><style>body{background-color: lightblue;color: red;font-family: Comic Sans MS;font-size: 25px;}h1{color: blue;text-align: center;font-family: Comic Sans MS;font-size: 50px;}h3 {color: red;text-align: left;font-family: Comic Sans MS;font-size: 25px;}p {color: blue;font-family: Comic Sans MS;font-size: 20px;}</style></head><body><h1>AQUABOUN'S</h1>
<p>heure :</p>";
pageweb += test;
pageweb +="
<p>Temperature aquarium :</p>";
pageweb += test;
pageweb +="<h3>°</h3>";
pageweb +="
<p>Temperature rampe :</p>";
pageweb +="<h3>°</h3>
";
pageweb +="<p>PH:</p>";
pageweb +="<h3>ph</h3>";
// ----- WEBPAGINA -----
sendData("AT+CIPSEND=" + String(connectionId) + "," + pageweb.length() + "\r\n", 500, true);
sendData(pageweb, 1000, true); // Stuur de webpagina door.
sendData("AT+CIPCLOSE=" + String(connectionId) + "\r\n", 1000, true); // Sluit de connectie.
}
}
}
String sendData(String command, const int timeout, boolean debug) {
String response = "";
Serial2.print(command); // Stuur een "lees" karakter naar de ESP.
long int time = millis();
while( (time+timeout) > millis()) {
while(Serial2.available()) { // De ESP heeft data om weer te geven, laat het zien in de serial monitor.
char c = Serial2.read(); // Lees het volgende karakter.
response+=c;
}
}
if(debug) { Serial.print(response); }
return response;
}