5.5 Programmer Arduino comme client avec la carte Ethernet

Si on travaille plutôt avec un Arduino pour faire des objets connectés, il faudra utiliser une carte d’extension pour Ethernet ou pour le Wi-Fi. On montrera ici un exemple avec une carte Ethernet. Cette carte se connecte sur le dessus de l’Arduino et permet de connecter notre objet à un réseau, comme l’illustre la Figure 98 — Ethernet Shield.

Figure 98 — Ethernet Shield

Figure 98 — Ethernet Shield

Vidéo 60 : Connexion de la carte d’extension Ethernet Shield sur Arduino

Pour programmer les interactions avec le réseau, nous allons utiliser la bibliothèque Ethernet qui nous permet de programmer notre objet comme un client ou comme un serveur. La première étape est d’initialiser la bibliothèque à l’aide de la commande Ethernet.begin(mac, [ip, dns, gateway, subnet]). Pour un client, nous devons créer un objet EthernetClient, duquel on utilise la méthode connect() pour se connecter à un serveur, la méthode println() pour y envoyer nos requêtes, la méthode available() pour savoir si une réponse est disponible et la méthode read() pour obtenir le contenu de la réponse. Un exemple de code complet est présenté à la Figure 99 — Client Arduino. Dans cet exemple, le client récupère un fichier JSON sur un serveur temporaire créé pour faire cette démonstration. On voit aussi l’affichage complet de la réponse reçue du serveur, dans le moniteur série. On pourrait ensuite traiter les données JSON reçues pour contrôler des actuateurs de notre objet connecté.

Figure 99 — Client Arduino

Figure 99 — Client Arduino

Vidéo 61 : Programmer l’Arduino comme client avec Ethernet Shield