Processing, proche du langage de l’Arduino ( C et C++ ) mais interprété,est utilisable sur toute une gamme de machines : PC sous Windows/Linux, RaspberryPi/Linux, Apple/IOs et même Android dans un version limitée
Conçu pour la création d’images complexes on s’intéressera ici uniquement aux liens qu’il permet d’établir entre ces différents mondes.
Un Arduino est souvent la solution idéale pour collecter les données de capteurs mais il n’a pas la puissance nécessaire pour
effectuer des calculs complexes
afficher les résultats sous forme de courbes, tableaux, images ou même vidéos.
C’est là où un PC sous Processing peut prendre le relais : l’Arduino émet ses données sous formes de caractère sur le port série, le PC les récupère, les traite avec sa puissance de calcul, de stockage et d’affichage sous Processing.
Si nécessaire renvoie des données à l’Arduino, toujours sur le même port série.
PC en mode reception de données
Cet exemple contient
— le code pour le PC qui reçoit
— le code pour l’Arduino qui émet, en commentaires
L’Arduino émet des chaines de caractères, le PC les affiches sur l’écran Processing.
Noter la detection du numéro de port Com par Processing : ici c’est [0] correspondant au Com 3(Arduino).
PC en mode emission de données
Cet exemple contient
— le code pour le PC qui émet
— le code pour l’Arduino qui reçoit et pilote sa led en consequence , en commentaires
L’ensemble (IP + port) constitue une socket address , dans le jargon des réseaux.
Cet exemple contient
le code pour le PC server
le code pour le PC client, en commentaires
L’ESP 32 en tant que serveur gère la connexion WiFi ainsi que le traitement local (compatibilité Arduino).
Le PC sous Processing est le client.Le navigateur n’est pas utilisé.
Remerciements a Alain Bertoux, co-auteur de cet article.