Arduino, Tutoriels

Comment utiliser Shield Ethernet W5100 avec Arduino

Shield Ethernet W5100 Arduino

Description :

Shield Ethernet W5100 est un module de communication Ethernet qui permet de connecter une carte Arduino à un réseau Ethernet. Il est basé sur le contrôleur Ethernet W5100 de Wiznet, qui prend en charge les protocoles TCP/IP, UDP, ICMP, ARP, IGMP et PPPoE.

Ce shield est très facile à utiliser avec Arduino grâce à la bibliothèque Ethernet intégrée qui fournit des fonctions de bas niveau pour l’accès aux fonctionnalités du contrôleur W5100. Il permet de créer des applications de réseau telles que des serveurs web, des clients FTP, des clients de messagerie, des clients de réseau et des applications de contrôle à distance.

Le shield Ethernet W5100 dispose également d’un connecteur RJ45 pour brancher un câble Ethernet, ainsi que d’une LED pour indiquer l’état de la connexion réseau. Il prend en charge les adresses IP dynamiques et statiques, ainsi que la résolution DNS.

En utilisant le shield Ethernet W5100 avec Arduino, il est possible de créer des applications de réseau puissantes et flexibles pour une variété d’applications, notamment la domotique, la surveillance, la gestion de la production et le contrôle à distance. Ce shield est également un excellent choix pour les projets d’Internet des objets (IoT) en raison de sa facilité d’utilisation et de sa compatibilité avec les protocoles de réseau couramment utilisés.

Shield Ethernet Pour Arduino W5100 Maroc

Les composants du Shield Ethernet W5100 :

Le Shield Ethernet W5100 est composé de plusieurs composants qui permettent de connecter une carte Arduino à un réseau Ethernet. Voici les principaux composants de ce shield :

  1. Contrôleur Ethernet W5100 : Ce contrôleur est le cœur du shield Ethernet W5100. Il gère les protocoles de communication Ethernet et permet à Arduino de se connecter à un réseau Ethernet.
  2. Connecteur RJ45 : Ce connecteur permet de brancher un câble Ethernet au shield pour établir une connexion réseau.
  3. LED de statut : Cette LED indique l’état de la connexion réseau. Elle s’allume lorsque le shield est connecté à un réseau et clignote lorsque des données sont transmises ou reçues.
  4. Condensateurs : Ces composants permettent de filtrer les perturbations électriques et de stabiliser le fonctionnement du contrôleur Ethernet.
  5. Résistances : Ces derniers permettent de limiter le courant et de protéger les composants électroniques contre les surtensions.
  6. Circuit imprimé : Le circuit imprimé est la base physique sur laquelle les composants électroniques sont montés. Il permet de connecter les différents composants électroniques et de transmettre les signaux électriques.

Matériel :

Shield Ethernet W5100 Arduino

Code :

Un exemple de code qui connectera votre Arduino à un réseau en utilisant le shield W5100:

#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 1, 177 };
byte gateway[] = { 192, 168, 1, 1 };
byte subnet[] = { 255, 255, 255, 0 };

EthernetClient client;

void setup() {
  Ethernet.begin(mac, ip, gateway, subnet);
  Serial.begin(9600);
}

void loop() {
  if (client.connect("www.google.com", 80)) {
    client.println("GET /search?q=arduino HTTP/1.0");
    client.println();
  }
  while (client.connected()) {
    if (client.available()) {
      char c = client.read();
      Serial.print(c);
    }
  }
  delay(1000);
}

Explication du code :

Ce code utilise la bibliothèque Ethernet pour connecter votre carte Arduino à internet via le shield Ethernet W5100. Il définit d’abord une adresse MAC pour votre carte Arduino en utilisant un tableau de bytes. Il définit également une adresse IP, une passerelle et un masque de sous-réseau pour votre carte Arduino.

Dans la fonction setup(), le code utilise la fonction Ethernet.begin() pour initialiser la connexion Ethernet avec les paramètres précédemment définis. Il ouvre également une connexion série pour la déboguation.

Dans la fonction loop(), le code utilise la méthode connect() pour se connecter au serveur Google sur le port 80. Il envoie ensuite une requête GET pour la recherche “arduino” au serveur. Enfin, il lit les données reçues du serveur et les affiche sur le moniteur série, et attend 1 seconde avant de répéter la boucle.

Utilisation du Shield Ethernet W5100 avec Arduino comme un serveur Web :

Pour utiliser ce shield en tant que serveur web, vous devez d’abord connecter le shield à votre carte Arduino, puis téléverser le code sur la carte.

Un exemple de code qui vous permettra de configurer un serveur web simple sur votre Arduino avec le shield W5100:

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

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 1, 177);
EthernetServer server(80);

void setup() {
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.begin(9600);
}

void loop() {
  EthernetClient client = server.available();
  if (client) {
    while (client.connected()) {
      if (client.available()) {
        String req = client.readStringUntil('\r');
        Serial.println(req);
        client.flush();
        client.println("HTTP/1.1 200 OK");
        client.println("Content-Type: text/html");
        client.println();
        client.println("<h1>Hello World!</h1>");
        client.stop();
      }
    }
  }
}

Ce code utilise les bibliothèques Ethernet et SPI pour configurer un serveur web sur Arduino avec le shield Ethernet W5100. Il définit d’abord une adresse MAC pour votre carte en utilisant un tableau de bytes. Il définit également une adresse IP pour votre carte Arduino.

Dans la fonction setup(), le code utilise la fonction Ethernet.begin() pour initialiser la connexion Ethernet avec les paramètres précédemment définis. Il utilise également la fonction server.begin() pour démarrer un serveur sur le port 80. Il ouvre aussi une connexion série pour la déboguation.

Dans la fonction loop(), le code vérifie si un client est connecté au serveur en utilisant la fonction server.available(). Si un client est connecté, le code lit les données reçues du client en utilisant la fonction readStringUntil(), puis les affiche sur le moniteur série. Il vide ensuite les données du tampon de lecture du client, envoie une réponse HTTP standard avec le message “Hello World!” pour toute requête reçue, et termine la connexion avec le client.

Video descriptive

Des Liens outilles :

Pour l’achat des produits nécessaires :