Arduino Uno et shield Ethernet

Portrait de Zebra

Bonjour

J’utilise un Arduino UNO mni d’un shield Ethernet et je voudrai pouvoir commander un module CIE-H10 à l’adresse 192.168.1.115  sur le port 6115 avec la requête index.html?o2=1.

Si j’utilise un navigateur classique avec :
192.168.1.115 :6115/index.html?o2=1 la requête est parfaitement reconnue par CIE-H10

Par contre avec le code qui suit la fin de cette requête « ?o2=1 » n’est pas transmise au module CIE-H10.

Auriez-vous la solution à mon problème ?

#include <SPI.h>
#include <Ethernet.h>

// L'adresse MAC du shield
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0E, 0xA5, 0x7E };

// L'adresse IP que prendra le shield
IPAddress ip(192,168,1,143);

// L'objet qui nous servira à la communication
EthernetClient client;

// Le serveur à interroger
char serveur[] = "192.168.1.115";

void setup() {

  // On démarre la voie série pour déboguer
  Serial.begin(115200);

    // On démarre le shield Ethernet
   Ethernet.begin(mac, ip);

  Serial.println("Init...");

  // Donne une seconde au shield pour s'initialiser
  delay(1000);
  Serial.println("Pret !");

  // On connecte notre Arduino sur le port 6115
  erreur = client.connect(serveur, 6115);
  if(erreur == 1) {
      // Pas d'erreur ? on continue !
      Serial.println("Connexion OK, envoi en cours...");

      // On construit l'en-tête de la requête
      client.println("GET / HTTP/1.1");
      client.print("Host: index.html?o2=1");
      delay(100);
      client.println("Connection: close");
      client.println();

  } else {

    // La connexion a échoué :(
   Serial.println("Echec de la connexion");

    switch(erreur) {
      case(-1):
        Serial.println("Time out");
        break;

      case(-2):

        Serial.println("Serveur invalide");
       break;
      case(-3):
        Serial.println("Tronque");
        break;
      case(-4):
        Serial.println("Reponse invalide");
        break;
    }
    while(1); // On bloque la suite
  }
}

void loop()
{
  char carlu = 0;
  // on lit les caractères s'il y en a de disponibles
  if(client.available()) {
    carlu = client.read();
    Serial.print(carlu);
  }

  // Si on est bien déconnecté.
  if (!client.connected()) {
    Serial.println();
    Serial.println("Deconnexion !");
    // On ferme le client
    client.stop();
    while(1); // On ne fait plus rien
  }
}

Si vous avez la solution par avance un grand Merci !

Portrait de Walter

Bonjour,

je n'ai pas pris le temps de tester mais un truc comme ça devrait fonctionner

client.println("GET /index.html?o2=1 HTTP/1.1");
client.print("Host: 192.168.1.115:6115");

Portrait de Zebra

Cà marche impec. Merci et bravo !