Nous utilisons Processing pour réaliser de petits logiciels de communication avec nos robots et nos applications électroniques. Il s’agit d’un environnement de développement open source basé sur un langage simplifié qui permet en quelques minutes de réaliser des interfaces :
– en "mode console" (pas d’affichage autre que du texte défilant en bas du logiciel)
– ou graphiques, allant du tracé de courbe à la 3D OpenGL !
Dans cet article, on présentera surtout les bibliothèques de code permettant de communiquer avec des interfaces matérielles (hardware) électroniques : XBee ou Arduino, et qui permettent ainsi de ne pas écrire de code embarqué.
Quelques exemples de nos réalisations avec Processing :
– Visualisation radar d’une détection de distance
– Accéléromètre Analog ADXL311
– Pilotage du Pobot Easy
Installation
La dernière version qu’on utilise dans nos ateliers est la 1.0.3. Je conseille toujours de télécharger la version complète, intégrant Java, même si vous avez déjà une JRE ou un JDK sur votre PC (pour ceux qui n’ont pas compris la dernière phrase, le choix est encore plus simple, c’est la première version tout simplement). Il existe bien sûr des versions pour Mac OSX et Linux.
Une fois l’archive zip téléchargée, décompressez-là dans un répertoire de votre choix, il n’y a pas d’autre installation nécessaire. A la racine du répertoire, vous trouverez l’icône du programme, cliquez et c’est parti !
Vous trouverez plein d’exemples pour vous familiariser avec l’environnement de développement et le langage. En quelques minutes, vous serez un guru de Proce55ing (P5 pour les intimes).
Librairie XBee
Les modules de communication sans-fil XBee peuvent être connectés via une carte d’échange XBee/USB à un ordinateur (PC, Mac, Linux). Ils apparaissent alors comme une connexion série (COM ou /dev/tty) classique, donc il n’y a pas besoin ici d’interfaces particulières, mais une bibliothèque de code pour Processing existe pour faciliter le décodage des informations transmises ("trame API") et isoler le code spécifique au XBee du code qui gère l’IHM (la console série et le graphisme).
C’est Dan Shiffman et Rob Faludi qui proposent une librairie spécique sur leur site. On y retrouve également Tom Igoe, une figure célèbre pour les Arduino et Processing (cf. son livre "Making Things Talk" disponible au club). Téléchargez le zip (version 1.4 à l’heure où j’écris ces lignes) et regardez son contenu :
– répertoire "source" : vous n’en avez pas besoin pour faire fonctionner la lib, mais c’est utile à lire.
– répertoire "library" : copiez le sous "[processing-1.0.3]\libraries\xbee" où [processing-1.0.3] est votre répertoire d’installation, et pas le répertoire contenant vos projets, notez bien !
– répertoire "examples" : copiez le sous "[processing-1.0.3\examples\Libraries\XBee" (il faut créer les répertoires "XBee", bien entendu ils n’existent pas).
Il faut redémarrer Processing pour qu’il détecte les changements et vous donne accès aux exemples et à l’import de la librairie XBee (c’est un bon moyen de vérifier que la lib est bien vue par le compilateur, car finalement cet import ne fait qu’écrire une ligne en haut de votre fichier source, qu’on peut écrire soi-même).
Librairie Arduino
Librairies personnelles
Vous pouvez écrire vos propres bibliothèques de code permettant de s’interfacer entre une carte électronique et Processing, grâce à l’utilisation du langage Java et des nombreuses extensions disponibles, pas forcément dédiées à P5. Voici ce que nous avons développé pour se connecter à une carte électronique USB Velleman : Utiliser une DLL dans un programme Java