Serveur Web pour afficheur déporté

Plus d'informations
11 Mar 2023 18:58 #16 par Bellule
Réponse de Bellule sur le sujet Serveur Web pour afficheur déporté
Oupss

Tu as quoi comme version du soft? test avec la version 1.1.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
11 Mar 2023 19:04 #17 par felvic
Réponse de felvic sur le sujet Serveur Web pour afficheur déporté

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.

Plus d'informations
11 Mar 2023 19:13 - 11 Mar 2023 19:14 #18 par felvic
Réponse de felvic sur le sujet Serveur Web pour afficheur déporté
C'est ça la version?
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...
Dernière édition: 11 Mar 2023 19:14 par felvic.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
11 Mar 2023 19:19 #19 par Bellule
Réponse de Bellule sur le sujet Serveur Web pour afficheur déporté
Test avec cette version,

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

Fichier attaché :

Nom du fichier : Companion_...1-07.zip
Taille du ficher :104 ko

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
11 Mar 2023 19:24 #20 par felvic
Réponse de felvic sur le sujet Serveur Web pour afficheur déporté
J'ai fait un code perso: ard-tek.com/index.php/forum/vos-installa...cheur-deporte-custom

Tu crois que le courant résiduel a quelque chose à voir? :unsure:

Avec Linux vous avez un noyau, avec Windows vous avez des pépins...

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
13 Mar 2023 07:30 #21 par castawan
Réponse de castawan sur le sujet Serveur Web pour afficheur déporté
Bonjour,

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.

Plus d'informations
13 Mar 2023 08:36 #22 par Defaliz
Réponse de Defaliz sur le sujet Serveur Web pour afficheur déporté
Ça m'arrive parfois.. Ça revient tout seul.. Je pense à un bloquage côté openweathermap..

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
13 Mar 2023 18:47 #23 par Chris04
Réponse de Chris04 sur le sujet Serveur Web pour afficheur déporté

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...
Les utilisateur(s) suivant ont remercié: patmtp35, Bellule

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
13 Mar 2023 19:56 #24 par Bellule
Réponse de Bellule sur le sujet Serveur Web pour afficheur déporté
Bonjour,


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.
Les utilisateur(s) suivant ont remercié: Chris04

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
13 Mar 2023 20:08 #25 par Chris04
Réponse de Chris04 sur le sujet Serveur Web pour afficheur déporté
Bellule,
Ok pour traiter en mp.
Merci !!

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
13 Mar 2023 20:09 #26 par etienneroussel
Réponse de etienneroussel sur le sujet Serveur Web pour afficheur déporté
He non les gars pas en MP ;)
Les utilisateur(s) suivant ont remercié: patmtp35

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
14 Mar 2023 08:42 - 14 Mar 2023 20:14 #27 par Bellule
Réponse de Bellule sur le sujet Serveur Web pour afficheur déporté
Bonjour,

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.
Dernière édition: 14 Mar 2023 20:14 par Bellule.
Les utilisateur(s) suivant ont remercié: Baroudeur, Chris04, patmtp35

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
14 Mar 2023 10:09 #28 par Baroudeur
Réponse de Baroudeur sur le sujet Serveur Web pour afficheur déporté
Salut Bellule
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
Les utilisateur(s) suivant ont remercié: patmtp35, Bellule

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
14 Mar 2023 12:30 #29 par castawan
Réponse de castawan sur le sujet Serveur Web pour afficheur déporté
Bonjour et merci pour votre assistance :)

@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
Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
14 Mar 2023 19:20 - 14 Mar 2023 19:21 #30 par Baroudeur
Réponse de Baroudeur sur le sujet Serveur Web pour afficheur déporté
@castawan
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 ?
Dernière édition: 14 Mar 2023 19:21 par Baroudeur.

Connexion ou Créer un compte pour participer à la conversation.

Propulsé par Kunena