Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur le langage C !

Modérateur : Jérémy

Module ESP12 WIFI à 74880 bds !
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#41 Message par paulfjujo » mer. 20 avr. 2022 16:12

bonjour Satinas et à tous,

Merci ! pour ton retour .

En affichant ce fichier directement sur le PC, les boutons ne répondent pas non plus.

normal, car le retour d'etat est fait par la lecture etat led dans le NodeMCU


Ton fichier html de test n'est pas exactement le même.


oui, c'est juste pour montrer, dans ce cas là, que le javascript reactualise la consigne avec les boutons +vite ou -Vite
le javascript étant hébergé par le PC et non plus dans le serverweb du MCU
coté WEB Javascript .. j'ai pas trop vu d'exemple avec javascript inclus dans le L'ESP ...
:sifflotte: mais comme j'ai besoin de lunettes maintenant !

je vais essayer avec un ESP32 ...
Aide toi, le ciel ou FantasPic t'aidera

Module ESP12 WIFI à 74880 bds !
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#42 Message par satinas » mer. 20 avr. 2022 16:23

On se comprend pas :)
Le fichier PC html que j'ai publié correspond à la page envoyée par le NodeMcu. Tu mets hors tension le NodeMcu, et tu affiches ce fichier dans le navigateur en cliquant dessus. Chez moi le champ consigne n'est pas incrémenté, alors qu'il l'est avec ton fichier de test html. C'est le javascript qui incrémente, pas le NodeMcu.
Après pour les échanges par GET ou POST, là je sais plus faire, ça s'oublie vite.

Code : Tout sélectionner

  page += "<button class=\"buttonGreen\" type=\"button\" onclick=\"PlusVite()\"> +Vite</button>&nbsp;&nbsp;";

  Javas += " function PlusVite() {";
  Javas += " Consigne = Consigne + 1";
  Javas += " document.getElementById('ConsigneID').innerHTML = Consigne";
  Javas += " }";
Modifié en dernier par satinas le mer. 20 avr. 2022 16:35, modifié 1 fois.

Module ESP12 WIFI à 74880 bds !
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#43 Message par paulfjujo » mer. 20 avr. 2022 16:35

satinas a écrit :On se comprend pas :)
Le fichier PC html que j'ai publié correspond à la page envoyée par le NodeMcu. Tu mets hors tension le NodeMcu, et tu affiches ce fichier dans le navigateur en cliquant dessus. Chez moi le champ consigne n'est pas incrémenté, alors qu'il l'est avec ton fichier de test html. C'est le javascript qui incrémente, pas le NodeMcu.

Code : Tout sélectionner

  page += "<button class=\"buttonGreen\" type=\"button\" onclick=\"PlusVite()\"> +Vite</button>&nbsp;&nbsp;";

  Javas += " function PlusVite() {";
  Javas += " Consigne = Consigne + 1";
  Javas += " document.getElementById('ConsigneID').innerHTML = Consigne";
  Javas += " }";



oui, on est bien d'accord avec ceci !


c'est bien javascript qui increment la consigne
ça marche dans mon fichier de test


mais je voudrais que ça marche AUSSI avec le javascript embarqué dans la page html du NodeMCU
le javascript gere l'evolution de la variable Consigne ..
que je veux utiliser par la suite dans le NodeMCU
Aide toi, le ciel ou FantasPic t'aidera

Module ESP12 WIFI à 74880 bds !
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#44 Message par satinas » mer. 20 avr. 2022 16:38

Alors commence à modifier le html produit par le NodemCU pour qu'il marche en local sur le PC, tu l'as fait pour le fichier de test, l'autre doit suivre. Chaque chose en son temps.
Si tu ne veux pas que ce soit le javascript qui incrémente, pourquoi c'est lui qui le fait dans le fichier ino ?

Tu écris "le javascript est hébergé par le NodeMcu". Non, il le construit et l'envoie noyé dans le html, et il est exécuté par le navigateur dans tous les cas. Que la page arrive par TCP ou vienne d'un fichier, cela ne change rien pour le navigateur.
Modifié en dernier par satinas le mer. 20 avr. 2022 17:00, modifié 1 fois.

Module ESP12 WIFI à 74880 bds !
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#45 Message par paulfjujo » mer. 20 avr. 2022 16:59

satinas a écrit :Alors commence à modifier le html produit par le NodemCU pour qu'il marche en local sur le PC, tu l'as fait pour le fichier de test, l'autre doit suivre. Chaque chose en son temps.
Si tu ne veux pas que ce soit le javascript qui incrémente, pourquoi c'est lui qui le fait dans le fichier ino ?



exact, en fait je n'avais pas compris du tout ta remarque ...!

et je n'ai pas appliqué la regle de base .. diviser pour mieux régner ... comme les 2 ce soir ?



Javascript_Consigne_problem.jpg
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aide toi, le ciel ou FantasPic t'aidera

Module ESP12 WIFI à 74880 bds !
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#46 Message par satinas » mer. 20 avr. 2022 17:35

Quand je travaillais la dessus, j'avais fait cette fonction debug

Code : Tout sélectionner

//-----------------------------------------------------------------------------
void httpRequestDebug()
//-----------------------------------------------------------------------------
// serveur http, dump request http
{
  Serial.print('\n');
  Serial.printf("  local      %s %u\n", server.client().localIP() .toString().c_str(), server.client().localPort());
  Serial.printf("  remote     %s %u\n", server.client().remoteIP().toString().c_str(), server.client().remotePort());
  Serial.printf("  hostHeader %s\n",    server.hostHeader().c_str());
  Serial.printf("  uri        %s\n",    server.uri().c_str());
  Serial.printf("  method     %u\n",    server.method());  // 1:get 2:post
  Serial.printf("  nb headers %u",      server.headers());
  for (int i=0; i<server.headers(); i++) Serial.printf(" %s=%s", server.headerName(i).c_str(), server.header(i).c_str()); Serial.print('\n');
  Serial.printf("  nb args    %u",   server.args());
  for (int i=0; i<server.args(); i++) Serial.printf(" %s=%s", server.argName(i).c_str(), server.arg(i).c_str()); Serial.print('\n');
}

Module ESP12 WIFI à 74880 bds !
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#47 Message par paulfjujo » mer. 20 avr. 2022 20:49

entre temps j'ai testé ceci ... OK
en fait il y a de grosses embrouilles avec les syntaxex ' bla bla ' et "bla bla "
et aussi le fait qu'il faut que je mette \" dans un string pour utiliser le "
..
je testerai aussi ton bout de code .. merçi


Code : Tout sélectionner



<html lang=fr-FR><head><meta http-equiv='refresh' content='4'/>
 <!
DOCTYPE html> <title>ESP8266MOD Lolin Vert rev 2022-0419</title><head>
 <
style
 { 
background-color0xf080f0
 .
buttonGreen background-colorgreencolorwhitefont-size16pxwidth:120pxheight:40px;}
 .
buttonYellow {background-coloryellow;colorblackfont-size16px;  width:120pxheight:40px
 </
style>
 <
script type="text/javascript">
 var 
ConsigneJs =4   
 
var target = new XMLHttpRequest() 
 function 
PlusVite(){
 
ConsigneJs ConsigneJs 1  
 document
.getElementById("ConsigneJsID").innerHTML ConsigneJs  
 target
.open('POST'"/PlusVite"true)  
 }  
 function 
MoinsVite(){
 if (
Consignejs 0Consigne ConsigneJs 
 document
.getElementById("ConsignejsID").innerHTML ConsigneJs 
 target
.open('POST'"/MoinsVite"true
 }  

 
</script>
 </head>
 <body>
  <form action='/' method='POST'>
 <h1>ESP8266 Lolin Vert</h1><h4>
 version 19-04-2022</h4>
 <h3> Display mini OLED SSD1306 4 lignes</h3><h3>
 Capteur DHT11-AM2302</h3><ul><li>Temperature :&nbsp;<b>21.50&#176C</b></li><li>Humidite :&nbsp;<b>46.90%</b></li></ul><h3>I2C BMP085
 </h3><ul><li>Pression atmospherique :&nbsp;<b>980.73 mbar </b></li></ul>
 <h3>Autres donn&#233;es</h3>
 <ul><li>LM35ZD temper :&nbsp;<b>23.73&#176C</b></li></ul>
 <ul><li>Compteur:&nbsp;<b>46</b></li></ul>
 <ul><li> Etat BP1 :&nbsp; <b> OFF</b></li>
 </ul><h3>Sorties GPIO </h3>

 <ul><li>Etat Led Bleue (OFF)<br><br>
 <INPUT type='radio' name='LED_B' Value='1' ><b>ON</b> &nbsp;&nbsp;<br>
 <INPUT type='radio' name='LED_B' Value='0' checked ><b>OFF</b></li></ul>
 <ul><li>Etat Led Verte (OFF)<br><br> 
 <INPUT type='radio' name='LED_V' Value='1'  ><b>ON</b> <br>
 <INPUT type='radio' name='LED_V' Value='0' checked><b>OFF</b></li>
 </ul><br><h3>Consigne Vitesse</h3>
 <p>ConsigneV= <a id="ConsigneJsID">0</a> <br> </p><br><p>
 <button class="buttonGreen" type="button" onclick="PlusVite()"> +Vite</button>&nbsp;&nbsp;&nbsp;&nbsp;
 <button class="buttonYellow" type="button" onclick="MoinsVite()"> -Vite</button></p><br>
 <INPUT type="submit" Value="Actualiser"> <br><p>
 <a href='http://paulfjujo.free.fr'>paulfjujo</a></p><br>
 <img <src="http://paulfjujo.free.fr/PULSE/images/mylogo.jpg">
 </form>
 </body>
 </html>
Aide toi, le ciel ou FantasPic t'aidera

Module ESP12 WIFI à 74880 bds !
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#48 Message par satinas » jeu. 21 avr. 2022 07:57

Bonjour, pour le javascript qui marche pas, il manque les ";" en fin d'instruction si plusieurs instructions sur une même ligne. A noter aussi que le refresh auto de la page défini dans son header remet à zéro consigne.
https://www.youtube.com/watch?v=J7J201z244o

Module ESP12 WIFI à 74880 bds !
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#49 Message par paulfjujo » ven. 22 avr. 2022 21:25

bonsoir à tous,

j'ai pu mettre à jour et reactiver mon VISUAL STUDO CODE avec Arduino pour ESP8266
bien plus confortable ..avec aide intégrée
.... generation de consiigne par slider ..OK BP ..OK
plus que quelques siucis de design ..mais ça avance
à suivre ...
j'ai ouvert une page webVisual Studio Code .. en cours de mise à jour
Aide toi, le ciel ou FantasPic t'aidera

Module ESP12 WIFI à 74880 bds !
satinas
Expert
Expert
Messages : 1225
Enregistré en : novembre 2015

#50 Message par satinas » dim. 24 avr. 2022 08:51

Salut Paul

J'ai un problème avec Firefox sur ton site. Lors de la consultation d'un article, si j'affiche le détail de la page web, il y a une ligne refresh 10s qui apparaît. Ce refresh intempestif empêche de lire la totalité de la page, car on revient en haut de page toutes les 10 secondes. Ce refresh ne se produit pas sur les autres sites, je ne sais pas d'où cela vient. Et cela ne se produit pas avec chrome ou edge. Mystère.
<meta http-equiv="refresh" content="10">

La suite :
Après avoir dévalidé puis revalidé toutes mes extensions Firefox, le problème a disparu.

Bon dimanche


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 39 invités