Bonjour à tous,
Encore une fois, je viens vous demander votre aide pour poursuivre le développement de mon système de domotique basé sur une carte arduino MEGA 2560 et un pcduino pour la partie web + graphisme...
Je rencontre un problème concernant des requêtes AJAX entre le Pc duino et mon client...
J'utilise des requêtes du type suivant pour activer des prises radio commandées et des lumieres des pieces de la maison:
reponseAjax=( # debut page reponse AJAX
"<P>"+str(Var_Reponse_Ajax_Pc_Octus)+"</P>"+"<P>"+str(Var_Reponse_Ajax_Pc_Sapin)+"</P>"+"<P>"+str(Var_Reponse_Ajax_Pc_Neon)+"</P>"+"<P>"+str(Var_Reponse_Ajax_Pc_Arbre)+"</P>"+
"<P>"+str(Var_Reponse_Ajax_Pc_Divers1)+"</P>"+"<P>"+str(Var_Reponse_Ajax_Pc_Divers2)+"</P>"+"<P>"+str(Var_Reponse_Ajax_Pc_Divers3)+"</P>"+"<P>"+str(Var_Reponse_Ajax_Pc_Divers4)+"</P>"+
"<P>"+str(Var_Reponse_Ajax_Pc_Divers5)+"</P>"+"<P>"+str(Var_Reponse_Ajax_Pc_Divers6)+"</P>"+"<L>"+str(Var_Reponse_Ajax_Lum_Entree)+"</L>"+"<L>"+str(Var_Reponse_Ajax_Lum_Couloir)+"</L>"+
"<L>"+str(Var_Reponse_Ajax_Lum_Sejour)+"</L>"+"<L>"+str(Var_Reponse_Ajax_Lum_Cuisine)+"</L>"+"<L>"+str(Var_Reponse_Ajax_Lum_Salon)+"</L>"+"<L>"+str(Var_Reponse_Ajax_Lum_CH1)+"</L>"+
"<L>"+str(Var_Reponse_Ajax_Lum_CH2)+"</L>"+"<L>"+str(Var_Reponse_Ajax_Lum_Bureau)+"</L>"+"<L>"+str(Var_Reponse_Ajax_Lum_SdB)+"</L>"+"<L>"+str(Var_Reponse_Ajax_Lum_Cave)+"</L>"+
"<L>"+str(Var_Reponse_Ajax_Lum_Garage)+"</L>"+"<L>"+str(Var_Reponse_Ajax_Lum_Atelier1)+"</L>"+"<L>"+str(Var_Reponse_Ajax_Lum_Atelier2)+"</L>"+"<L>"+str(Var_Reponse_Ajax_Lum_Dispo1)+"</L>"+
"<L>"+str(Var_Reponse_Ajax_Lum_Dispo2)+"</L>"+"<L>"+str(Var_Reponse_Ajax_Lum_Tout_Allumer)+"</L>"+"<L>"+str(Var_Reponse_Ajax_Lum_Tout_Eteindre)+"</L>" +
"<V>"+str(Var_Reponse_Ajax_Hydro_Local_Technique)+"</V>"+"<V>"+str(Var_Reponse_Ajax_Temp_Local_Technique)+"</V>"+"<V>"+str(Var_Reponse_Ajax_Lum_Local_Technique)+"</V>"
) # fin page reponse AJAX
Je parviens bien à récupérer les informations tout ou rien de type ON / OFF en utilisant ce code suivant
function GetArduinoIO()
{
Lumieres(); // Affiches les lumieres allumees dans la maison
nocache = "&nocache=" + Math.random() * 1000000;
//-- Definition d'un objet XHR
var request = new XMLHttpRequest();
//-- Fonction de callback pour gerer la reponse du serveur
request.onreadystatechange = function()
{
if (this.readyState == 4) {
if (this.status == 200) {
if (this.responseXML != null) {
// XML file received - contains analog values, switch values and LED states
// Modifications sur le retour d'information sur l'etat des Prises Commandees
// Prise Commandee Octus
if (this.responseXML.getElementsByTagName('P')[0].childNodes[0].nodeValue === "on") {
document.getElementById("Pc_Octus").innerHTML = "Pc Octus ON";
Pc_Octus_Etat = 1;
}
else {
document.getElementById("Pc_Octus").innerHTML = "Pc Octus OFF";
Pc_Octus_Etat = 0;
}
// Lumiere Entree
if (this.responseXML.getElementsByTagName('L')[0].childNodes[0].nodeValue === "on") {
// document.getElementById("Lum_Bureau").innerHTML = "Lum Bureau ON";
//document.getElementById("Bouton_Allumer").innerHTML = "Eteindre";
//document.getElementById("Bouton_Eteindre").innerHTML = "Allumer";
Lum_Entree_Etat = 1;
//delay(100);
}
else {
// document.getElementById("Lum_Bureau").innerHTML = "Lum Bureau OFF";
//document.getElementById("Bouton_Allumer").innerHTML = "Allumer";
//document.getElementById("Bouton_Eteindre").innerHTML = "Eteindre";
Lum_Entree_Etat = 0;
//delay(100);
}
mais je ne parviens pas a récupérer des valeurs en provenance de capteurs d'environnement.
j'utilise ce code la mais sans succès:
Valeurs_Local_Technique_Temp = (this.responseXML.getElementsByTagName('V')[0].childNodes[0].nodeValue);
Valeurs_Local_Technique_Hydro = (this.responseXML.getElementsByTagName('V')[1].childNodes[0].nodeValue);
Valeurs_Local_Technique_Lum = (this.responseXML.getElementsByTagName('V')[2].childNodes[0].nodeValue);
pouvez vous me conseiller, m'aider ou m'indiquer ou je fais une erreur, se serait top de votre part.
Merci d'avance