Partage
  • Partager sur Facebook
  • Partager sur Twitter

Arduino Yun Ethernet begin(mac) problème

Sujet résolu
    30 mars 2015 à 21:55:31

    Bonjour,

    Je veux envoyer / recevoir des données en http (_GET) mais la connexion de fonctionne pas au niveau de "begin(mac)".

    Aucune erreur pendant le téléversement par contre l'arduino n’exécute pas le code après begin() .

    #include <SPI.h>
    #include <Ethernet.h>
    
    int LED = 13;
    
    byte mac[] = { 0x90, 0xA2, 0xDA, 0xF6, 0x01, 0x8B }; // MAC adresse de mon arduino ethernet
    IPAddress server(192,168,240,1);
    EthernetClient client;
    
    void setup() {
      pinMode(LED, OUTPUT);
      Serial.begin(9600);
      Serial.println("Envoi demande de configuration DHCP\n");
      if (Ethernet.begin(mac) == 0) {
        delay(5000);
        Serial.println("Echec demande configuration DHCP\n");
      }
      Serial.println(Ethernet.localIP());
      delay(1000);
      if (client.connect(server, 443)) {
        Serial.println("Connection à Torii...");
        client.println("GET /testyun?id=0&u=c HTTP/1.0");
        client.println("HOST:torii.science\n\n");
        client.println();
        Serial.println("Connection OK...");
      }
      else{
        Serial.println("echec\n"); 
        delay(5000);
        Serial.println("echec\n"); 
      }
    }
    
    void loop() {
      digitalWrite(LED, HIGH);
      delay(100);
      digitalWrite(LED, LOW);
      delay(100);
      Serial.println("test\n"); 
    }



    • Partager sur Facebook
    • Partager sur Twitter
      30 mars 2015 à 22:07:11

      La lib Ethernet est une lib prévue pour exploiter un shield Ethernet que l'on plug sur l'arduino avec une communication SPI.

      Cela n'a donc strictement rien à voir avec la carte arduino Yun et sa connexion internet intégrée.

      Pour exploiter les fonctions réseaux de la Yun, il te faut utiliser la lib Bridge : http://arduino.cc/en/Reference/YunBridgeLibrary

      Tu y découvriras notament la classe HttpClient qui permet de faire directement des requêtes HTTP : http://arduino.cc/en/Tutorial/HttpClient

      Avec un code de ce genre :

      void setup() {
        pinMode(13, OUTPUT);
        digitalWrite(13, LOW);
        Bridge.begin();
        Serial.begin(9600);
        while(!Serial);
      }
      
      void loop() {
        HttpClient client;
        client.get("http://arduino.cc/asciilogo.txt");
      
        while (client.available()) {
          char c = client.read();
          Serial.print(c);
        }
        Serial.flush();
      
        delay(5000);
      }
      

      A noter aussi que le port 443 est réservé à des pages WEB sécurisée en HTTPS par SSL.

      L'arduino + shield ethernet n'est clairement pas capable de gérer ce genre de connexions.

      Quand à la Yun (tu as peut-être une chance), j'ai un doute mais tu seras vite fixé ;)

      -
      Edité par lorrio 30 mars 2015 à 22:10:01

      • Partager sur Facebook
      • Partager sur Twitter
        30 mars 2015 à 22:14:51

        Merci beaucoup ^^ je vais creuser sur ses nouvelles pistes et je reviendrais dire si cela marche.

        PS: le port 443 c'est juste un test désespéré, normalement je suis en 80 ^^. 

        • Partager sur Facebook
        • Partager sur Twitter
          30 mars 2015 à 23:05:39

          Encore merci tout fonctionne a merveille ^^.
          • Partager sur Facebook
          • Partager sur Twitter

          Arduino Yun Ethernet begin(mac) problème

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown