[Résolu] Ethernet, supprimer les requêtes en boucle

Bonjour à tous, je réalise une interface html pour regrouper toutes les informations venant de mon arduino mega (où le shield ethernet est branché) et pour regrouper aussi les signaux issus de deux autres arduinos,(en IR et RF).
Le soucis est que le client envoi des requêtes en permanence même quand il n'y as pas d'informations à envoyer (ici pour allumer des leds) le fait d'envoyer des requêtes en permanence empêche l'envoi de certaines données issue de la communication IR.
J'utilise du AJAX pour l'échange de donnée et j'ai utiliser ce tutoriel pour bien comprendre Starting electronics tutorial
L'idée derrière ça est que j'aimerais que les requêtes soient envoyée quand il y a vraiment besoin ainsi qu'une mise à jour toutes les 30secondes (pour des capteurs de température issus des autres arduino)

Je vous mets les codes html et arduino pour que vous compreniez mieux.

Si vous avez des questions pour mieux comprendre ce que je vous ais dit n'hésitez pas
Merci

Arduino_1.ino (18.5 KB)

Je reviens vers vous pour essayer de trouver des réponses :slight_smile:

Je suis dans le meme cas que toi !
Je cherche désespérément...
Peut-Être en plaçant:

if (c == '\n' && currentLineIsBlank) {
                  Serial<<"test"<<endl;
                    // send a standard http response header
                    client.println("HTTP/1.1 200 OK");
                    // remainder of header follows below, depending on if
                    // web page or XML page is requested
                    // Ajax request - send XML file
                    if (StrContains(HTTP_req, "ajax_inputs")) {
                        // send rest of HTTP header
                        client.println("Content-Type: text/xml");
                        client.println("Connection: keep-alive");
                        client.println();
                        SetLEDs();
                        // send XML file containing input states
                        XML_response(client);
                    }

Avec un autre If pour ajouter une condition de changement d'état... mais je bloque également...

Bonjour,

Utilisez les WebSockets. :slight_smile: :slight_smile: :slight_smile:

L'idée des websockets semble très intéressante,
Merci :slight_smile:

J'ai réussi à répondre à mon problème, pas de manière parfaite je pense mais pour ce que je veux faire c'est très bien.
Dans le fichier html (sur la carte SD)
setTimeout('GetArduinoIO()', 5000); me permet de fixer le temps de réponse en changeant la valeur.
C'est un peu barbare par contre