L’utilisation de deux cartes Arduino via deux PC en réseau wifi est une solution intéressante pour les projets qui nécessitent une communication entre plusieurs appareils. Cette méthode permet de créer des systèmes complexes et interactifs, et offre une grande flexibilité et une variété de possibilités. Dans cet article, nous allons examiner en détail les avantages et les inconvénients de cette méthode et expliquer comment elle peut être mise en œuvre.
… (utilise 2 cartes Arduino via 2 PC en réseau wifi)

Intro
Etapes préalables à la mise en place du réseau wifi entre les 2 cartes Arduino.
La mise en place du réseau wifi entre les 2 PC nécessite :
- 2 PC (ou eeePC) avec la distribution Gnu/Linux Ubuntu installée. Pour plus d’info, voir ici : http://doc.ubuntu-fr.org/installation et/ou http://doc.ubuntu-fr.org/asus_eee_pc Même si je ne l’ai pas testée, il n’y a pas de raison pour que la procédure ne fonctionne pas sous les autres OS.
- la mise en place d’une connexion des 2 PC sur un routeur wifi configuré en DHCP (attribution automatique des adresses ip). Le routeur peut être une Livebox ou tout autre routeur wifi, avec ou sans accès internet (pas utilisé ici).
- de tester le réseau entre les 2 PC et de récupérer les adresses ip du PC serveur et du PC client. On s’est assuré notamment que le réseau fonctionne bien en réalisant un ping entre les 2 PC utilisés.
- d’ouvrir sur chaque PC le port utilisé pour communiquer entre les PC ainsi que sur le routeur.
Ici, nous utilisons le port 5905.
Une connaissance minimale en structure de réseau est nécessaire ici :
- savoir ce qu’est une adresse ip, un sous-masque réseau, un réseau
- savoir ce qu’est un port
- savoir ce qu’est un routeur, ce qu’est l’attribution des adresses ip en DHCP.
Rien d’inaccessible cependant !
Le schéma fonctionnel de la chaîne de connexion à réaliser
- Voici le schéma fonctionnel de la chaine globale de programmes utilisée :
Ce que nous allons faire ici…
- On rappelle qu’il faut :
- que le réseau wifi soit opérationnel entre les 2 PC (voir ci-dessus – étapes préalables ou ici : Etapes préalables à la mise en place du réseau wifi entre les 2 cartes Arduino.)
- connaître l’adresse ip du serveur (via ifconfig dans une console sur le PC serveur).
- ouvrir sur chaque PC et sur le routeur wifi le port utilisé pour communiquer entre les PC. Ici, nous utilisons le port 5905.
- si on le souhaite, on pourra avoir également mis en place un accès au bureau distant entre le PC client et le PC serveur… mais bon, pour la première fois, ç’est pas la peine de rajouter de la complication… Pour les détails, voir ici : Configurer un accès bureau distant entre 2 PC sous Ubuntu Pour mémoire, VNC utilise le port 5900
- Prêt ? Allez, c’est parti !
Etape 1 : le programme Arduino « serveur » (sur la carte Arduino distante)
Ce que fait ce programme
- Cette étape est la plus simple : un programme Arduino classique reçoit une chaine de caractères sur le port série et envoi une réponse sur le port série.

Principe du code

Exemple de code
- Programmer ce code dans votre carte Arduino « serveur » (carte Arduino distante) :
Tester ce programme
Préparation du Terminal côté PC dans le logiciel Arduino
- Côté PC, il faut ouvrir la fenêtre terminal de l’IDE Arduino : pour ce faire, un simple clic sur le bouton « Sérial Monitor ».

- La fenêtre « Terminal » s’ouvre alors :

- Il faut alors régler le débit de communication sur la même valeur que celle utilisée par le programme avec lequel nous allons programmer la carte Arduino :

Point important, il faut également activer l’option « newline » qui active l’envoi du caractère ‘\n’ (ascii 10) lorsque l’on saisi quelque chose dans le champ du Terminal suivi d’un <send>

- …
Etape 2 : le programme Processing « serveur » (sur le PC distant)
Ce que fait ce programme
- Ce code fournit la communication entre le réseau et la carte Arduino côté « serveur ».

Principe du code

Exemple de code
Test du programme
- Lancer ce programme Processing dans l’interface Processing côté serveur. On obtient la fenêtre suivante :

- On a donc une communication série opérationnelle entre le serveur Processing et le serveur Arduino, et la preuve que le serveur Arduino renvoie bien la chaine reçue. Jusque-là, rien de bien sorcier… Maintenant, l’étape de vérité : la communication entre le serveur Processing et le client Processing par le réseau wifi !
Etape 3 : le programme Arduino « client » (sur la carte Arduino locale)
Ce que fait ce programme
- Le programme suivant …

Principe du code

Exemple de code
- Ce programme est à programmer dans la carte Arduino « client » :
Test du programme
- Ce programme est très facile à tester : il suffit d’ouvrir une fenêtre Terminal Arduino sur le PC client et on doit voir :

Etape 4 : le programme Processing « client » (sur le PC local)
- Cette étape est « l’étape de vérité » qui va permettre de vérifier que la communication wifi fonctionne bien entre l’interface Processing serveur et l’interface Processing client.
Ce que fait ce programme
- Ce programme Processing fournit la communication entre le réseau wifi et la carte Arduino Client.
- Deux champs texte permettent d’envoyer une chaine de caractère de test vers le client Arduino via le port série ou vers le serveur Processing via le réseau.

Principe du code

Exemple de code
- Ce code est à copier/coller dans une interface Processing sur le PC client. Il ne reste plus alors qu’à lancer le programme.
Test du programme
- Une fois que le programme est lancé (sur le poste client), on doit voir :

- De son côté, le serveur indique qu’il a détecté une connexion d’un client et précise si l’adresse ip du client est la bonne :

- Si vous obtenez bien ces messages, c’est que votre connexion wifi fonctionne bien entre les 2 PC !! Le simple fait que les 2 interfaces fonctionnent sans message d’erreur au lancement confirme que la connexion wifi est opérationnelle.
- Si vous avez lancé l’accès au bureau distant du PC serveur sur le PC client, vous devez avoir les 2 fenêtres des interfaces Serveur (jaune) et Client(vert) visibles en même temps sur le PC client :
- Moi, je ne m’en lasse pas de cet accès distant au bureau du PC serveur depuis le PC client : trop top ! La procédure à suivre est ici : Configurer un accès bureau distant entre 2 PC sous Ubuntu
Articles Liés
- Comment créer un réseau wifi entre 2 PC + 1 routeur wifi sous Ubuntu
Créer un réseau wifi entre 2 PC et un routeur wifi sous Ubuntu peut sembler…
- Ouvrir le port utilisé sur les PC du réseau wifi et sur le routeur
L'ouverture du port sur un réseau wifi et un routeur est une tâche importante pour…
- "Symbiose numérique" Arduino / PC
L'utilisation d'Arduino et de PC est devenue une pratique courante pour les développeurs et les…