View  Edit  Attributes  History  Attach  Print  Search

... d'une carte Arduino vers une autre carte Arduino via deux interfaces Processing Client/Serveur sur 2 PC connectés en réseau wifi.

Présentation

  • Cet ensemble de 4 programmes permet de faire communiquer entre-elles 2 cartes Arduino via deux interfaces Processing Client/Serveur réseau sur 2 PC en réseau wifi.
  • Cette procédure permet d'utiliser assez simplement une communication entre 2 cartes Arduino dont une peut être embarquée.

Le montage utilisé :

  • 2 cartes Arduino sont connectées sur le même PC :
    • une des cartes est celle d'où partira la chaine de caractère et est appelée client. Elle utilisera son propre port série.
    • l'autre cartes est celle qui recevra la chaine de caractère et est appelée serveur. Elle utilisera son propre port série.

Truc : pour fixer le numéro des ports USB sous Ubuntu, il suffit de brancher les cartes Arduino dans l'ordre successif voulu : la première carte branchée sera sur le port série USB0, la deuxième sur le port USB 1.

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 :

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 !

Procédure à suivre

  • Programmmer la carte Arduino "client" sur le port USB0
  • Programmer la carte Arduino "serveur" sur le port USB1
  • Lancer le programme Processing SERVEUR en premier, c'est important.
  • Lancer le programme Processing CLient en deuxième.
  • L'intérêt évident ici est de pouvoir développer tous les programmes de la "chaine" sur le même poste : il sera toujours temps de déployer les programmes ensuite sur un vrai réseau.
  • On verra les messages suivants dans la console de Processing, témoignant du parcours de la chaine de caractères.

Le programme Arduino "Client"

Explication

  • Ce programme envoie tout simplement une chaîne de caractères sur le port série à intervalle régulier.
  • La carte Arduino "client" utilise le port série USB0 dans mon cas. J'ai donc ouvert une première instance du logiciel Arduino et j'ai sélectionné ce port dans le logiciel Arduino.
  • A noter que ce programme peut être testé simplement dans le Terminal Série sur le même port.

Le programme Arduino

Le programme Processing Client réseau

Explication

  • Ce programme sert de "relais" pour l'envoi de la chaine reçue sur le port Série vers le réseau wifi.
  • Ce programme d'une part reçoit la chaine sur le port Série de la carte Arduino "client" (USB0 pour moi)
  • Ce programme d'autre part crée un Client réseau avec l'adresse ip du PC client et envoie la chaine reçue sur le port série vers le réseau vers le serveur à l'adresse ip du PC serveur sur le port 5905.
  • Attention : vous devrez installer la police voulue (dans Processing : Tools > Create Font..) ou mettre en commentaire les lignes utilisant la police texte.

Programme

Le programme Processing Serveur réseau

Explications

  • Ce programme sert de "relais" pour l'envoi de la chaine reçue depuis le Client du réseau local de la machine vers la carte Arduino Serveur via le port Série où est connecté cette carte Arduino.
  • Ce programme d'une part crée un Serveur réseau (adresse ip du PC Serveur) et reçoit la chaine reçue via le réseau sur le port 5905.
  • Ce programme d'autre part envoie la chaine sur le port Série de la carte Arduino "serveur" (USB0 pour moi)
  • Attention : vous devrez installer la police voulue (dans Processing : Tools > Create Font..) ou mettre en commentaire les lignes utilisant la police texte.

Programme

Le programme Arduino "Serveur"

Explication

  • Le programme sur la carte Arduino "serveur" va recevoir la chaine envoyée par Processing sur son port série et va ...

On pourra tester ce programme simplement à l'aide du Terminal Série : saisir une chaine dans le champ et clic sur <send>. Le message accusant réception s'affichera dans la console Série.

Le programme Arduino