modifications de consigne de temperature depuis la page web embarque

bonjour a tous

Sur un projet domotique avec page web serveur embarquer sur sd
je voudrais creer deux boutons + et -
ils servirons a incrementer ou decrementer une valeur de consigne de temperature
je sais comment on creer les boutons mais pas comment les faire agir sur la consigne dans le prog de l arduino mega, il va me valoir une horlge rtc et je pense utiliser sa memoire pour stocker les consignes en cas de reboot mais n 'est pas encore trouver quel type d'horloge et comme gerer les donnes memoire
merci .

Comment souhaites-tu modifier ta valeur de consigne ? (boutons + et -, ou bien via un formulaire)

Via les boutons il te faudra gerer du javascript (action de la page "plus" pour le bouton + et action sur la page "moins" pour le bouton -).
Via le formulaire alors avec une simple requete GET et récupération de l'argument (en fonction de la lib utilisée du genre server.arg("consigne")).

premiere methode bouton + et moins

Dans ce cas tu dois remonter la valeur actuelle de consigne dans ta page web, puis à chaque "appuis" sur l'un des 2 boutons faire appel à la page correspondante (onclick) tout en incrémentant ou décrémentant ta valeur de consigne.

Une autre solution (Ajax) (plus complexe, mais plus réelle) est de contrôler en permanence la valeur de consigne de l'arduino au cas ou la valeur de consigne soit modifiée par ailleurs (autre client ou boutons sur l'arduino)

Bonjour Clemzo
aurais tu des exemples de code html ou ajax
par ce que la je seche.
Merci

Bonjour,

excuse moi de répondre par une question, mais quelle lib. utilises-tu pour monter ton serveur ?
On va tenter de voir par étapes.

La première à la quelle on va commencer c'est la remontée de ta valeur de consigne courante dans la page Web.

après on verra l'appui sur les boutons +et -.

Et on finira par le rafraîchissement de la valeur de consigne.

j utilse <Ethernet.h>
je par d'une page web qui tourne deja avec ajax mais ce n est pas moi qui l ai creer
et je supprimer les donnees de droites soit les gauges pour place les consgne de 3 a quatre pieces
post une piece joint du html
merci
remplace extention txt par htm pour explote la pj

index essai.txt (4.58 KB)

Ok je regarde ça, et je te tiens au courant.

De prime à bord, le travail semble déjà bien entamé, je pense qu'il n'y aura pas grand chose à modifier.

Par contre, les boutons plus et moins fonctionnent-ils, car à première vue ils ne font qu'actionner une boite de dialogue ?

D'autre part sur la page, il y a le suivit de 7 pièces or le script ne semble remonter que 6 pièces. Je me trompe ?

Bonjour
les boutons +/- ne sont pas fonctionels c est pour cela aussi que je poste je ne sais pas comment les faire inc/dec la valeur de consigne pour chaque piece a definir le Onclic . le nonmbre de pieces n 'a pas pour le moment d'importance la fonction sera la meme exprime nfois en fonction du nombres final

Vous pouvez vous inspirer du code d'un petit tuto que j'ai posté récemment éventuellement

J-M-L:
Vous pouvez vous inspirer du code d'un petit tuto que j'ai posté récemment éventuellement

Bonjour et merci cela me semble une bonne approche
es ce que le code marche en fonction dynamique sans etre obligé de faire de raffraichissement de la page web?

Pas d'ajax ou quoi que ce soit dans mon code, je voulais juste montrer comment récupérer une requête HTTP GET, analyser la commande, modifier en conséquence des variables côtes arduino et renvoyer une réponse la requête HTTP.

Donc dans mon code Quand vous cliquez sur un bouton, la page web se recharge entièrement
Si vous voulez un rafraîchissement toutes les x secondes, vous,pouvez insérer un ordre d'auto-refresh dans le code html généré
Si vous voulez faire de l'ajax, c'est en dehors du scope de ce tuto mais Le principe reste suffisamment identique - la réponse à générer devant être différente (plus problème de cross domain possible avec Ajax donc ça compliquait trop pour mon exemple)

bonjour j ai besoin de faire varier des temperatures de consigne
j ai deja une partie du html ajax mais ne sais pas comment incrementer ou decrementer ces valeurs

           <font face="Buxton Sketch" size="6"> Consigne de temperature <div  style="text-align: left;">
                
                 <i><b> 
<div  style="text-align: left;"><font face="Buxton Sketch" size="4">Chambre 1 <span  id="input20"> ...</span>&nbsp;°C&nbsp;&nbsp;<center><input type="button" value="  +  " onclick=[color=red]augmenter consigne1[/color];" />
<input type="button" value="  -  " onclick=[color=red]diminuer consigne1[/color];" /><style="text-align: right;"><span id="input21">&nbsp;&nbsp;...&nbsp;°C</span>
<div  style="text-align: left;">Chambre 2 <span  id="input20"> ...</span>&nbsp;°C&nbsp;<center><input type="button" value="  +  " onclick="alert('augmenter');" />
<input type="button" value="  -  " onclick="alert('diminuer');" /><style="text-align: right;"><span id="input21">&nbsp;&nbsp;...&nbsp;°C</span>
<div  style="text-align: left;">Chambre 3 <span  id="input20"> ...</span>&nbsp;°C<center><input type="button" value="  +  " onclick="alert('augmenter');" />
<input type="button" value="  -  " onclick="alert('diminuer');" /><style="text-align: right;"><span id="input21">&nbsp;&nbsp;...&nbsp;°C</span>
<div  style="text-align: left;">Chambre 4 <span  id="input20"> ...</span>&nbsp;°C<center><input type="button" value="  +  " onclick="alert('augmenter');" />
<input type="button" value="  -  " onclick="alert('diminuer');" /><style="text-align: right;"><span id="input21">&nbsp;&nbsp;...&nbsp;°C</span>
<div  style="text-align: left;">Salon  <span  id="input20"> ...</span>&nbsp;°C<center><input type="button" value="  +  " onclick="alert('augmenter');" />
<input type="button" value="  -  " onclick="alert('diminuer');" /><style="text-align: right;"><span id="input21">&nbsp;&nbsp;...&nbsp;°C</span>
<div  style="text-align: left;">Cuisine <span  id="input20"> ...</span>&nbsp;°C<center><input type="button" value="  +  " onclick="alert('augmenter');" />
<input type="button" value="  -  " onclick="alert('diminuer');" /><style="text-align: right;"><span id="input21">&nbsp;&nbsp;...&nbsp;°C</span>
<div  style="text-align: left;">Salle de bain<span  id="input20"> ...</span>&nbsp;°C<center><input type="button" value="  +  " onclick="alert'augmenter');" />
<input type="button" value="  -  " onclick="alert('diminuer');" /><style="text-align: right;"><span id="input21">&nbsp;&nbsp;...&nbsp;°C</span>

</div>
             </b></i>
             </fieldset> </b></i>
           
                 </font></td>

(EDIT pour la susceptibilité de certains...)
Afin d'améliorer vos compétences et comprendre les détails dune architecture susceptible de rendre le service que vous souhaitez implémenter, il me semblerait judicieux que vous envisagiez d'allouer un peu de temps hors de votre projet et que vous...
bossiez un peu la théorie - il y a un très bon tuto ici (sauf qu'ils utilisent la classe String) qui vous prend par la main et vous permet de comprendre la partie HTTP, HTML, CSS, JavaScript, et AJAX avec en plus l'usage d'une carte SD

ce n n'est pas la peine de ce montrer agressif tous le monde n a pas vos connaissance et de plus ce n'est pas forcement facile de trouver les bonnes ressource sur le web !!!

il n'y avait aucune agression ! "bosser" ce n'est pas un gros mot... c'était simplement une recommendation avec justement un bon tuto à lire...

j'ai rajouté un peu de blabla pour enrober la recommandation... :slight_smile:

j ai retourner et fait de multiple modifs et je ne n arrive qu a quelque chose de non concluant
je n arrive pas a incrementer la valeur de consigne.

<!DOCTYPE html><html><head><title>Domo Bonckzac </title><style type="text/css"> body #titre{background: #adc; width:100%; top: 0; left: 0; text-align:center; position: fixed; } #liens{background: #adc; width:100%; bottom: 0; left: 0; text-align:center; position: fixed; }</style>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
    
<script> function GetArduinoInputs();
{
nocache = "&nocache=" + Math.random() * 1000000;
var request = new XMLHttpRequest();
 request.onreadystatechange = function(){
if (this.readyState == 4) {
if (this.status== 200) 
{
if (this.responseXML != null) {


document.getElementById('decrease').innerHTML = counter;
}}}}
request.open("GET", "ajax_inputs" + nocache, true);
request.send(null);
setTimeout('GetArduinoInputs()', 3000,10000);};</script>
</script>
var btn_count = 0; 
function btn_count(id)
 { 
btn_count++; 
document.getElementById("btn_clicks").innerHTML = btn_count;
}
  </script> 
</head>
  <body  style="       background-color: rgb(0, 204, 255);"  onload="GetArduinoInputs()">&nbsp;

    <center>
      <div  id="titre">
        <h3> <font size="6">&nbsp;Home Bonckzac </font> </h3>
      </div>
      <table  style="width: 584px; height: 530px; border-collapse:collapse"  border="3"  cellpadding="7"

         cellspacing="7" bordercolor="#111111">
        <tbody>
          <tr>
            <td  style="width: 392.367px; ">



              
              </b>
              
             <font face="Buxton Sketch" size="6"><center>Consigne de temperature <div  style="text-align: left;">
                 
                  <i><b><font face="Buxton Sketch" size="4"> 
<div  style="text-align: left;">
Chambre 1 <span  id="input20"> ...</span>&nbsp;°C&nbsp;&nbsp;<center><Button type = "button" onclick = "ButtonCount ()"> + </button>&nbsp;<span id="btn_clicks"></span>&nbsp;&nbsp;&nbsp;°C&nbsp;&nbsp;

</div>
              </b></i>
              </fieldset> </b></i>
            
                  </font></td>
          </tr>
        </tbody>
      </table>
    </center>
  </body>

et ce a meme avec l exellent tuto ........

bonjour
aucune avance ni de retour sur le forum a mon pb

C'est un problème html/Ajax pas Arduino non? Vous devriez peut être posté aussi sur un forum web