Serveur Web pour afficheur déporté
- Bellule
- Auteur du sujet
- Hors Ligne
- Membre premium
- Messages : 98
- Remerciements reçus 7
Tu as quoi comme version du soft? test avec la version 1.1.
Connexion ou Créer un compte pour participer à la conversation.
- felvic
- Hors Ligne
- Administrateur
- Messages : 1782
- Remerciements reçus 132
Oupss
Tu as quoi comme version du soft? test avec la version 1.1.
La version 1.1 de quoi?
Avec Linux vous avez un noyau, avec Windows vous avez des pépins...
Connexion ou Créer un compte pour participer à la conversation.
- felvic
- Hors Ligne
- Administrateur
- Messages : 1782
- Remerciements reçus 132
esptool.py v4.5.1
Serial port /dev/ttyACM0
Connecting...
Chip is ESP32-S3 (revision] v0.1)
Features: WiFi, BLE
Crystal is 40MHz
MAC: 34:85:18:8b:67:30
Avec Linux vous avez un noyau, avec Windows vous avez des pépins...
Connexion ou Créer un compte pour participer à la conversation.
- Bellule
- Auteur du sujet
- Hors Ligne
- Membre premium
- Messages : 98
- Remerciements reçus 7
En fait, il y a 4 occurrences
Nouveau programme, plus expliqué et en haut dans vos valeurs à rentrer, mettez aussi le courant résiduel
Si tu veux tester tu peux mettre 0, ou même des valeurs négatives
Connexion ou Créer un compte pour participer à la conversation.
- felvic
- Hors Ligne
- Administrateur
- Messages : 1782
- Remerciements reçus 132
Tu crois que le courant résiduel a quelque chose à voir?
Avec Linux vous avez un noyau, avec Windows vous avez des pépins...
Connexion ou Créer un compte pour participer à la conversation.
- castawan
- Hors Ligne
- Nouveau membre
- Messages : 9
- Remerciements reçus 0
J'ai un problème avec openweather, pas de date ni infos météo, j'ai tout essayé.
Nettoyage et téléchargement de la bibliothèque, test de plusieurs clés avec abonnement gratuit et call by call.
Modification du perso.h de la librairie openweather.
Rien n'y fait.
Des idées ?
Merci beaucoup.David.
Connexion ou Créer un compte pour participer à la conversation.
- Defaliz
- Hors Ligne
- Membre platinium
- Messages : 348
- Remerciements reçus 21
Connexion ou Créer un compte pour participer à la conversation.
- Chris04
- Hors Ligne
- Membre junior
- Messages : 34
- Remerciements reçus 4
Bonjour,
J'ai ajouté un serveur web pour afficher les valeurs sur une page sans risques.
Baroudeur si tu veux je te mail le code pour une intégration dans le code de base.
Salut Bellule.
Je suis très intéressé par ton serveur WEB. Je t'ai fait un mp mais je pense que ca pourrait intereser du monde si c'est pas trop usine à gaz...
Connexion ou Créer un compte pour participer à la conversation.
- Bellule
- Auteur du sujet
- Hors Ligne
- Membre premium
- Messages : 98
- Remerciements reçus 7
Non c'est très simple, mais je voulais faire le point avec baroudeur avant de poser mon code car il faut modifier le nom d'une variable dans perso.h et dans le fichier info.
Mais si tu veux je pourrais te mp le code avec les explications.
Connexion ou Créer un compte pour participer à la conversation.
- Chris04
- Hors Ligne
- Membre junior
- Messages : 34
- Remerciements reçus 4
Ok pour traiter en mp.
Merci !!
Connexion ou Créer un compte pour participer à la conversation.
- etienneroussel
- Hors Ligne
- Membre elite
- Messages : 243
- Remerciements reçus 30
Connexion ou Créer un compte pour participer à la conversation.
- Bellule
- Auteur du sujet
- Hors Ligne
- Membre premium
- Messages : 98
- Remerciements reçus 7
pour le serveur Web.
Ajout dans la definition des variable:
// Set web server port number to 80
WiFiServer server(80);
// Variable to store the HTTP request
String header;
// Current time
unsigned long currentTime = millis();
// Previous time
unsigned long previousTime = 0;
// Define timeout time in milliseconds (example: 2000ms = 2s)
const long timeoutTime = 2000;
Ajouter a la fin du setup:
server.begin();
Ajouter dans loop:
WiFiClient clientweb = server.available(); // Listen for incoming clients
if (clientweb) { // If a new client connects,
Serial.println("New Client."); // print a message out in the serial port
String currentLine = ""; // make a String to hold incoming data from the client
currentTime = millis();
previousTime = currentTime;
while (clientweb.connected() && currentTime - previousTime <= timeoutTime) { // loop while the client's connected
currentTime = millis();
if (clientweb.available()) { // if there's bytes to read from the client,
char c = clientweb.read(); // read a byte, then
Serial.write(c); // print it out the serial monitor
header += c;
if (c == '\n') { // if the byte is a newline character
// if the current line is blank, you got two newline characters in a row.
// that's the end of the client HTTP request, so send a response:
if (currentLine.length() == 0) {
// HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK)
// and a content-type so the client knows what's coming, then a blank line:
clientweb.println("HTTP/1.1 200 OK");
clientweb.println("Content-type:text/html");
clientweb.println("Connection: close");
clientweb.println();
clientweb.println("<meta http-equiv=\"refresh\" content=\"5\" />");
clientweb.println("<meta charset=\"UTF-8\" />");
// Display the HTML web page
clientweb.println("<!DOCTYPE html><html>");
clientweb.println("<link rel=\"stylesheet\" href=\"https://www.w3schools.com/w3css/4/w3.css\">");
clientweb.println("<link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css?family=Allerta+Stencil\">");
// Web Page Heading
//client.println("<div class=\"w3-container w3-center w3-xxxlarge\">");
clientweb.println("<div class= \"w3-container w3-black w3-center w3-allerta\">");
clientweb.println("<body><h1>MSunPV Companion</h1>");
clientweb.println("</div>");
clientweb.println("<div class=\"w3-card-4 w3-green w3-padding-16 w3-xxxlarge w3-center w3-xxxlarge \">");
clientweb.println("<p>Production Solaire"
"</p>");
clientweb.println(PV);
clientweb.println("</div>");
clientweb.println("<div class=\"w3-card-4 w3-light-blue w3-padding-16 w3-xxxlarge w3-center\">");
clientweb.println("<p>Routage vers le ballon"
"</p>");
clientweb.println(CU);
clientweb.println("</div>");
clientweb.println("<div class=\"w3-card-4 w3-pale-yellow w3-padding-16 w3-xxxlarge w3-center\">");
clientweb.println("<p>Consommation EDF"
"</p>");
clientweb.println(CO);
clientweb.println("</div>");
clientweb.println("</div>");
clientweb.println("</body></html>");
// The HTTP response ends with another blank line
clientweb.println();
// Break out of the while loop
break;
} else { // if you got a newline, then clear currentLine
currentLine = "";
}
} else if (c != '\r') { // if you got anything else but a carriage return character,
currentLine += c; // add it to the end of the currentLine
}
}
}
// Clear the header variable
header = "";
// Close the connection
clientweb.stop();
Serial.println("Client disconnected.");
Serial.println("");
}
modifier le nom de la variable server de la ligne 21 du fichier perso.h
char [b]server[/b][] = "192.168.1.**";
en:
char [b]serveur[/b][] = "192.168.1.**";
et pour finir modifier le fichier Companion.ini a la ligne 668
if (client.connect(server, 80)) {
en
if (client.connect(serveur, 80)) {
et ligne 673:
client.print("Host: "); client.println(server);
en
client.print("Host: "); client.println(serveur);
et voila
ps: je travail sur une version plus jolie niveau du code qui intègre un compteur type vitesse.
Connexion ou Créer un compte pour participer à la conversation.
- Baroudeur
- Hors Ligne
- Membre elite
Oui ce code est intéressant, et l'intégration me parait une bonne chose. J'étais absent pendant quelques jours et je regarde si tout est ok
Connexion ou Créer un compte pour participer à la conversation.
- castawan
- Hors Ligne
- Nouveau membre
- Messages : 9
- Remerciements reçus 0
@Defaliz merci pour ta réponse.
J'ai attendu attendu, changer les clés api...
J'ai regardé différents posts, j'ai la dernière version de companion, les bibliothèques ont été supprimées et réinstallées, arduino est en 2.04, installé et réinstallé, pas de biliothèque time ou autre déjà présente.
Malheureusement toujours le même problème, date au 1 janvier et pas de maj openweather, les coordonnées renseignées dans perso.h ne sont pas prises en compte: ci joint le retour debug.
Merci et bonne journée.
David
Connexion ou Créer un compte pour participer à la conversation.
- Baroudeur
- Hors Ligne
- Membre elite
As-tu également re-téléchargé la biblio openweather github.com/Bodmer/OpenWeather en effet elle a été modifiée, si tu as gardé l'ancienne, tu auras une erreur du type que tu décris
@bellule
Très bonne intégration, même si j'ai un message d'erreur Compilation error: 'WiFiclientweb' was not declared in this scope je n'ai pas eu le temps de regarder en détail. Quand tout sera ok, je vais mettre ta proposition dans le github. Beaucoup plus simple avec ta solution de retrouver les valeurs à l'aide d'un simple téléphone.
Peux-tu dire si cette nouvelle fonction n'altère pas le fonctionnement du companion, as-tu des pertes de wifi ?
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
- Accueil
- forum
- MSun-PV
- Vos installations
- Serveur Web pour afficheur déporté