Pages: [1]   Go Down
Author Topic: Communication entre Arduino et javascript  (Read 830 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour à tous!

Je suis en train de tester un communication avec mon arduino et une page web. Pour cela j'utilise du javascript et la fonction XMLHttpRequest.
Je suis maintenant capable d'envoyer à mon Arduino des valeurs et de par exemple changer la tension d'une sortie.

Ou je bloque, c'est pour recevoir des données depuis mon Arduino. Je me débrouille pas mal en C et je viens "d'apprendre" le javascript. J'ai donc essayé d'écrire un petit quelque chose, mais malheureusement sans succès!
Voici ma fonction javascript:
Code:
function recevoir(){

var xhr;
var response;

xhr = new XMLHttpRequest();

xhr.onreadystatechange=function(){
  if (xhr.readyState==4 && xhr.status==200){
response = xhr.responseText;
document.getElementById("text2").innerHTML=response;
}
}
xhr.open('GET', "http://192.168.0.30/",true);
xhr.send(null);
}

Et ma partie de code Arduino qui envoie au client:
Code:
  if (client) {
    boolean currentLineIsBlank = false;
   
    while (client.connected()) {
      if (client.available()) {
       
        char c = client.read();
        Serial.write(c);
   
        if (c == '\n' && currentLineIsBlank) {
          Serial.println("Blank line detected");
         
           client.println("HTTP/1.1 200 OK");
           client.println("Content-Type: text/html");
           client.println("Connnection: close");
           client.println();
           client.println("Hello");
       }

        if (c == '\n'){
          // Commence nouvelle ligne
          currentLineIsBlank = true;
        }
       
        else if (c != '\r'){
          // Caractere sur la ligne
          currentLineIsBlank = false;
        }   
      }
    }
  }

Mon but serait d'afficher "Hello" sur ma page pour commencer.
Je n'y connais encore pas grand chose donc c'est possible que je sois un peu brouillon, j'ai essayé différentes choses avec ce que j'ai pu trouvé sur le net.

Merci d'avance pour votre aide!
« Last Edit: February 01, 2013, 10:52:32 am by MithicBeu » Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Un conseil, si tu veut faire des requêtes AJAX regarde du côté de JQuery ou des librairies similaires comme Zepto :
http://zeptojs.com/#ajax

Ça te facilitera la vie et ça tournera sur n'importe quel navigateur smiley-wink
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Full Member
***
Karma: 0
Posts: 108
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Je suis en train de coder un système domotique pour mon futur chez moi, et mes premières versions de mon application développée en php + ajax utilisait XmlHttpRequest, et ça fonctionne encore très bien jusqu'à présent. Je suis en train de tester une migration en jquery, car le XmlHttpRequest dans sa première version est compatible avec tous les navigateurs, mais a des limites. La seconde version est déjà moins compatible avec tous les navigateurs. le jquery, quant à lui est très puissant et permet meme de "binder" de l'ajax dans d'autres pages appelées par la page parente. C'est cette partie qui m'intéresse.

La seule différence par rapport à toi, c'est que je communique avec une arduino en serial, et non en http. Alors tout ce que je peux te dire est que le code JS est correct. Coté arduino, je ne sais pas, je n'ai jamais fait. C'est mon arduino qui reçoit les ordres en seria et qui renvoi (ou plutot renverra) les actions vers les modules dispersés dans la maison en utilisant des transceivers.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour

Je souhaites aussi envoyé une requette a mon arduino avec XMLHttpRequest.

je me heurte moi aussi, au même problème.
ce que je souhaites faire : c'est récupérer la valeur de la sonde de température LM35 puis l'afficher sur la page web avec les api que propose google :http://code.google.com/intl/fr-FR/apis/chart/


MithicBeu : as tu résolus ton problème?

skywodd: aurait tu une explication ou connait tu un tuto ou forum qui porte sur le sujet arduino avec XMLHttpRequest en javascript

Merci



Logged

Pages: [1]   Go Up
Jump to: