Questions sur le html

numero_744:
Maintenant, des "Pourquoi ?" :

  • new XMLHttpRequest().open("GET", "URL", true); et send(); sont à la fin ?

Pas sur de bien comprendre ta question mais toute la fonction a pour but d'envoyer une requête GET à l'Arduino (bon d'accord là je simule avec un script PHP ;))
Dans l'ordre on fait :

  • Création de l'objet XMlHttpRequest : dépend du navigateur, merci Bill :stuck_out_tongue_closed_eyes:
  • Préparation de l'objet en définissant notamment la fonction de traitement du retour de requête (la fonction qui sera exécutée quand la requête sera terminée). C'est une syntaxe assez particulière du JavaScript qui permet de non pas indiquer quelle fonction définie ailleurs il faut appeller mais de donner directement le code de la fonction ici.
  • Une fois la requête préparée, on l'envoie (open puis send)
    Je n'ai pas regardé exactement ce que font open et send, j'ai juste repompé le code :roll_eyes:
  • onLoad="initialize" -> update et non onLoad="update()" ?

[/list]

"PARCE QUE !!! ]:)" (comme avec les gosses qui posent trop de questions XD)

Question d'organisation/structuration du code.
La fonction Initialize() est là pour faire tout qu'il y a à faire au chargement de la page, y compris appeller la 1ere fois la fonction update().
Mais dans un code plus complexe, il y aurait probablement d'autre inits a faire.
Bonne habitude à prendre.

  • en non
    ?

P.S. : Comment envoyer depuis une Arduino ces valeurs ?

Avec un serveur Web.
La requete GEt devient :

xmlhttp.open("GET","http://192.168.x.y/getTemp",true);

Et avec Webduino par exemple, tu attaches une fonction getTemp() à l'URL "/getTemp" qui renvoie le texte JSON
Genre :

char reponse[80];
sprintf( reponse, "{ 'temp_salon':%d, 'temp_chambre':%d }\n", temp_salon, temp_chambre );
server.httpSuccess();
server.print(reponse);

A valider, code non testé

Note qu'avec JQuery, c'est plus simple de faire des requêtes GET ou POST car ca se fait presque en une seule ligne.