Envoi de données entre deux serveurs embarqués

a marqué ce sujet comme résolu.

Bonjour,

C’est la première fois que je demande de l’aide sur un forum, je m’excuse donc à l’avance si je présente mal les choses.

Donc concernant mon problème, j’ai actuellement deux devices que je dois faire communiquer, le premier est un DUET3D et le second un controleur/regulateur de température de la marque Omega, chacun possèdent un serveur embarqué mais je ne peux modifier que celui du DUET étant donné qu’il stocké sur une microUSD. Mon but est de modifier la page du serveur web du DUET de sorte que les données du regulateur soit affichées sur cette même page sans avoir à passer sur une autre. Pour commencer j’ai donc relier mon ordinateur au regulateur par ethernet, régler l’adresse ip en conséquence et j’arrive à pinger ainsi qu’à accéder au serveur web du regulateur. J’ai donc essayer après cela de recupérer les données qui sont au format txt d’une des pages du serveur via une page html(+javascript) et en faisant une requete XMLHttpRequest en mettant l’adresse ip du serveur.(J’ai pris exemple sur le modèle proposé sur w3schools) Cependant rien ne se passe, j’ai essayé de situer le problème à l’aide d’alert() et on dirait que la condition readyState==4 et status==200 ne soit pas rempli . Sauriez-vous m’éclaircir sur les erreurs que j’ai pu commettre? (je débute dans ce domaine)

Merci beaucoup.

Samuel

Salut \o

Nous fournir ton code nous aiderais à saisir l’origine du problème. :) Pour afficher ton code, tu peux suivre les indications donnée dans ce tutoriel (partie Code seulement).

+0 -0

Voici le code que j’ai, pour le moment je cherche juste à récupérer les données du coup il s’agit juste d’une page d’essai sans rien d’autre.

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>READINGS</title>
    </head>
    <body>
        <table>
            <tr><td>RH</td><td id="line1"></td></tr>
            <tr><td>Temp</td><td id="line2"></td></tr>
            <tr><td>Dewpoint</td><td id="line3"></td></tr>
            <tr><a href="http://192.168.1.200/postReadHtml?a=">Controller</a></tr>
        </table>
        <script>

            var xhttp = new XMLHttpRequest();
            var rep;
            xhttp.open("GET","http://192.168.1.200/postReadHtml?a=",true);
            xhttp.send();
            xhttp.onreadystatechange = function(){
                if(xhttp.readyState == 4 && xhttp.status == 200) {
                    //rep = xhttp.responseText;
                    //alert(rep);
                    alert();
                };
            };


        </script>
    </body>
</html>

Ok ! :)

Donc xhttp doit être appeler à la fin normalement.

Donc :

        var xhttp = new XMLHttpRequest();
        xhttp.open("GET","http://192.168.1.200/postReadHtml?a=",true);
        xhttp.onreadystatechange = function(){
            if(xhttp.readyState == 4 && xhttp.status == 200) {
                //rep = xhttp.responseText;
                //alert(rep);
                alert();
            };
        };
        xhttp.send();
Ton code corrigé

Devrait résoudre ton problème ^^
Si ce n’est pas le cas dit le nous et on te proposera un examen plus poussé :)

+0 -0

Bonjour,

Désolé pour le retard de cette réponse mais je n’avais pas eu le temps de tester ca hier. Je viens donc d’essayé mais aucun changement.Le alert() a l’intérieur du if ne fonctionne pas mais j’en ai rajouté un avant donc dans la fonction du onreadystate et celui là se déclenche.

EDIT : je viens de faire une inspection de la page et apparement il y a une erreur de la CORS policy car il n’y a pas le header « Access-Control-Allow-Origin ».

Merci.

SamuelP

+0 -0

EDIT : je viens de faire une inspection de la page et apparement il y a une erreur de la CORS policy car il n’y a pas le header « Access-Control-Allow-Origin ».

Merci.

SamuelP

SamuelP

Ça vient du serveur Omega qui est mal configuré donc. Voit ça avec la personne qui est en charge de ce serveur.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte