Arduino - Bouclier Ethernet 2
Utiliser Arduino Ethernet Shield 2 est l'un des moyens les plus simples de connecter Arduino à Internet. Vous pouvez voir d'autres options pour connecter Arduino à Internet via Ethernet dans Arduino - Tutoriel Ethernet
Dans ce tutoriel, nous allons apprendre :
- Connaissances de base en réseautage pour débutants
- Comment utiliser l'Arduino Ethernet Shield 2
- Code Arduino de base pour l'Arduino Ethernet Shield 2 lors de l'utilisation de l'adresse IP dynamique (via DHCP)
- Code Arduino de base pour l'Arduino Ethernet Shield 2 lors de l'utilisation de l'adresse IP statique
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
Connaissances de base en réseau pour les débutants
Cette partie fournit des connaissances de base pour les débutants, qui ne savent rien sur le réseau.
Lorsqu'un appareil se connecte à Internet (via Ethernet ou WiFi), il DOIT se connecter à un routeur ou à un point d'accès. Le routeur et le point d'accès sont des dispositifs qui jouent le rôle de passerelle vers Internet. Toutes les données entre un appareil et Internet transitent par le routeur ou le point d'accès.
Lorsqu'un appareil se connecte à Internet, il DOIT :
- Avoir une adresse MAC
- Avoir une adresse IP
- Connaître le masque de sous-réseau du réseau
- Connaître l'adresse IP de la passerelle (adresse IP du routeur ou du point d'accès)
- Connaître l'adresse IP du serveur DNS (dans le cas d'une connexion à un nom de domaine)
L'appareil ne fonctionne pas si :
- Il y a un ou plusieurs autres appareils sur le même réseau qui utilisent la même adresse MAC que l'appareil (adresse MAC en conflit)
- Il y a un ou plusieurs autres appareils sur le même réseau qui utilisent la même adresse IP que l'appareil (adresse IP en conflit)
Ce tutoriel ne vous surcharge pas de connaissances en réseau. Par conséquent, le tutoriel n'explique pas ces concepts. Cela dépasse le cadre de ce tutoriel. Au lieu de cela, le tutoriel montre comment les utiliser.
L'adresse MAC est généralement intégrée dans les appareils. Nous n'avons pas besoin de nous en préoccuper. Cependant, l'Arduino Ethernet Shield 2 n'a pas d'adresse MAC intégrée. L'adresse MAC est imprimée sur une étiquette collée sur le shield. Nous devons la récupérer et définir l'adresse MAC pour le Shield Arduino dans le code Arduino.
Il existe deux méthodes pour attribuer l'adresse IP, le masque de sous-réseau, l'adresse IP de la passerelle et l'adresse IP du serveur DNS à un appareil (y compris Arduino) :
- I. Utilisez l'adresse IP statique :
- Nécessité de gérer l'adresse IP, le masque de sous-réseau, l'adresse IP de la passerelle et l'adresse IP du serveur DNS
- Besoin de définir manuellement l'adresse IP, le masque de sous-réseau, l'adresse IP de la passerelle et l'adresse IP du serveur DNS (pour Arduino Ethernet Shield 2, définissez ces informations en utilisant le code Arduino)
- Cela ne fonctionnera PAS si :
- Vous définissez une adresse IP déjà utilisée par d'autres appareils sur le même réseau LAN → conflit IP
- Vous définissez un mauvais masque de sous-réseau, l'adresse IP de la passerelle, et l'adresse IP du serveur DNS
- I. Obtenez une adresse IP automatiquement (DHCP), également appelée adresse IP dynamique
- L'appareil obtient automatiquement l'adresse IP, le masque de sous-réseau, l'adresse IP de la passerelle et l'adresse IP du serveur DNS du routeur ou point d'accès utilisant DHCP. Nous n'avons pas besoin de gérer l'adresse IP, le masque de sous-réseau, l'adresse IP de la passerelle et l'adresse IP du serveur DNS. Le routeur/point d'accès fait ce travail pour nous.
Lorsque vous connectez votre smartphone à votre réseau Wi-Fi domestique, la deuxième méthode est utilisée.
Lors de l'utilisation d'Arduino, la première méthode est difficile pour les débutants. La deuxième méthode est facile et recommandée pour les débutants qui ne connaissent rien au réseau.
Comment utiliser Arduino Ethernet Shield 2
Arduino communique avec Ethernet Shield 2 via l'interface SPI. Ce qui suit montre comment utiliser Arduino Ethernet Shield 2.
- Empilez Ethernet Shield 2 sur Arduino Uno ou Mega
- Connectez le PC à Arduino Uno/Mega via un câble USB
- Connectez Ethernet Shield 2 au routeur/point d'accès via un câble Ethernet
- Ouvrez l'IDE Arduino et écrivez le code
- Téléchargez le code sur Arduino Uno/Mega
C'est tout à fait simple.
// Code Arduino de base pour Arduino Ethernet Shield 2 lors de l'utilisation de l'adresse IP dynamique
Prérequis
- Nous devons connaître l'adresse MAC du Shield Ethernet (à obtenir à partir d'une étiquette fournie par le fabricant).
Comment programmer étape par étape
- Inclure la bibliothèque
- Déclarer l'adresse MAC
- Déclarez d'autres objets en fonction de votre application.
- Démarrez l'Ethernet Shield 2
- (Facultatif) Imprimer l'adresse IP de l'Arduino, le masque de sous-réseau, l'adresse IP de la passerelle et l'adresse IP du serveur DNS.
Notez qu'Arduino ne peut pas obtenir une adresse IP dans les cas suivants :
- Le routeur ou le point d'accès ne prend pas en charge le DHCP
- Le câble Ethernet n'est pas branché correctement ou est cassé
Pour détecter ces problèmes, nous pouvons modifier Ethernet.begin(mac); en :
※ NOTE THAT:
Si vous ne changez PAS l'adresse MAC, cela pourrait tout de même fonctionner. Cependant, cela pourrait NE PAS fonctionner s'il y a un conflit avec l'adresse MAC d'un autre appareil sur le même réseau LAN. En cas de perte de l'autocollant de l'adresse MAC, utilisez simplement l'adresse MAC ci-dessus pour les tests.
Le code squelette complet lors de l'utilisation de l'adresse IP dynamique
Téléchargez le code ci-dessus sur Arduino. Si cela réussit, le moniteur série affichera quelque chose comme ci-dessous :
Si le moniteur série ne s'affiche pas comme ci-dessus, vérifiez votre câble Ethernet. Si cela ne fonctionne toujours pas, passez à la partie suivante pour essayer d'utiliser l'adresse IP statique.
Code source Arduino pour Arduino Ethernet Shield 2 lors de l'utilisation d'une adresse IP statique
Prérequis
- Vous devez obtenir l'adresse MAC (à partir de l'autocollant)
- Vous devez obtenir une adresse IP inutilisée (voir comment obtenir une adresse IP inutilisée)
- Vous devez obtenir le masque de sous-réseau de votre réseau (voir comment obtenir le masque de sous-réseau)
- Vous devez obtenir l'adresse IP de la passerelle (voir comment obtenir l'adresse IP de la passerelle)
- Vous devez obtenir l'adresse IP du serveur DNS (voir comment obtenir l'adresse IP du serveur DNS)
Comment programmer étape par étape
- Inclure la bibliothèque
- Déclarer l'adresse MAC
- Déclarez une adresse IP non utilisée, un masque de sous-réseau, l'adresse IP de la passerelle et l'adresse IP du serveur DNS.
- Déclarez d'autres objets en fonction de votre application.
- Démarrez l'Ethernet Shield 2
- Facultatif, vérifier l'état de la liaison réseau
※ NOTE THAT:
Si vous ne changez pas l'adresse MAC, cela peut toujours fonctionner. Cependant, cela peut ne pas fonctionner s'il y a un conflit avec l'adresse MAC d'un autre appareil sur le même réseau LAN. En cas de perte de l'autocollant de l'adresse MAC, utilisez simplement l'adresse MAC ci-dessus pour les tests.
Le code squelette complet lors de l'utilisation de l'adresse IP statique
Téléchargez le code ci-dessus sur Arduino. Si cela réussit, le moniteur série affichera quelque chose comme ci-dessous :
Si le moniteur série ne s'affiche pas comme ci-dessus :
- Vérifiez votre câble Ethernet
- Assurez-vous que l'adresse IP appartient à votre réseau
- Assurez-vous que l'adresse IP ne entre pas en conflit avec d'autres dispositifs sur le même réseau
- Assurez-vous que le masque de sous-réseau, l'adresse IP de la passerelle et l'adresse IP du serveur DNS sont correctement configurés
Connaissances supplémentaires en réseau pour les débutants
Dans le cas de l'utilisation d'une IP statique, vous devez obtenir une adresse IP inutilisée, un masque de sous-réseau, l'adresse IP de la passerelle et l'adresse IP du serveur DNS. Voici comment les obtenir.
Si Arduino et votre PC sont connectés au même réseau
- Ouvrez l'invite de commande sur votre PC
- Tapez la commande suivante dans l'invite de commande :
- Depuis le dessus, vous pouvez obtenir le masque de sous-réseau et l'adresse IP de la passerelle
- Vous pouvez voir l'adresse IP de votre PC à partir de la sortie ci-dessus. Nous essaierons de trouver une adresse IP inutilisée basée sur l'adresse IP du PC
- Augmentez ou diminuez un par un, en partant de l'adresse IP du PC.
- Envoyez la commande ping à cette adresse IP sur l'invite de commande. Répétez ces deux étapes jusqu'à ce que l'IP soit injoignable. Si l'adresse est injoignable, c'est une adresse IP inutilisée et nous pouvons l'utiliser pour Arduino. Par exemple :
- Pour l'adresse IP du serveur DNS, nous pouvons simplement utiliser 8.8.8.8.
※ NOTE THAT:
Dans certains cas, même si l'adresse IP est inaccessible, elle peut être utilisée par un autre appareil. Cependant, ce cas ne se produit généralement pas dans votre réseau domestique.
Vous pouvez maintenant utiliser ces boucliers pour connecter Arduino à Internet. Voir un autre exemple dans la partie Voir Aussi.
WARNING
Veuillez noter que ce tutoriel est incomplet. Nous publierons sur notre Page Facebook lorsque le tutoriel sera complet. Aimez-la pour rester informé.