L’environnement de développement d’applet Java appelé Processing (également P5 pour aller plus vite) nous a été souvent de grand secours pour des tests rapides avec Arduino ou pour des applications complètes comme l’interface de contrôle du robot Pobbypède ou le lecteur/enregistreur de chorégraphies de marionnettes.
Maintenant que nos robots sont équipés de cartes sous Linux, comme la Raspberry Pi, ce serait bien de pouvoir bénéficier de la simplicité des codes pour P5 sur cette cible, pour éviter de passer par des codes complexes en Shell ou en Python.
Il y a deux pistes :
– développer sur PC et exporter une applet Java dans un jar
– faire tourner l’environnement de développement intégré (IDE) sur la carte
La première est très simple : on a déjà réussi à installer Java (OpenJDK) sur la RPi et on compile et on exécute des programmes. Il y a une énorme astuce pour ne pas lancer l’environnement graphique demandé par les applets Processing, elle est décrite dans cet article.
La seconde est l’objet de cet article. Certains disent que ce n’est pas possible parce que Processing est téléchargeable pour Linux x86 alors que la Raspberry Pi est sur ARM. Comme d’habitude, il ne faut pas croire tout ce qu’on lit sur Internet.
Installation
Télécharger Processing depuis la Raspberry Pi n’est pas compliqué :
pi@raspberrypi:~$ wget http://processing.googlecode.com/files/processing-1.5.1-linux.tgz
--2012-07-06 21:38:56-- http://processing.googlecode.com/files/processing-1.5.1-linux.tgz
Resolving processing.googlecode.com... 173.194.67.82, 2a00:1450:400b:c00::52
Connecting to processing.googlecode.com|173.194.67.82|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 91230153 (87M) [application/x-gzip]
Saving to: `processing-1.5.1-linux.tgz'
Effectivement, on peut voir lors de la décompression que tout java vient en mode 386 :
pi@raspberrypi:~$ tar -xvzf processing*.tgz
...
processing-1.5.1/java/lib/i386/libdt_socket.so
processing-1.5.1/java/lib/i386/libmlib_image.so
processing-1.5.1/java/lib/i386/libunpack.so
processing-1.5.1/java/lib/i386/server/
processing-1.5.1/java/lib/i386/server/libjvm.so
processing-1.5.1/java/lib/i386/server/Xusage.txt
processing-1.5.1/java/lib/i386/server/libjsig.so
processing-1.5.1/java/lib/i386/libzip.so
processing-1.5.1/java/lib/i386/headless/
processing-1.5.1/java/lib/i386/headless/libmawt.so
processing-1.5.1/java/lib/i386/libjsoundalsa.so
processing-1.5.1/java/lib/i386/libj2pcsc.so
processing-1.5.1/java/lib/i386/libnpjp2.so
processing-1.5.1/java/lib/i386/libverify.so
processing-1.5.1/java/lib/i386/libjaas_unix.so
processing-1.5.1/java/lib/i386/libjavaplugin_nscp_gcc29.so
processing-1.5.1/java/lib/i386/libjdwp.so
processing-1.5.1/java/lib/i386/libinstrument.so
processing-1.5.1/java/lib/i386/libioser12.so
processing-1.5.1/java/lib/i386/libcmm.so
processing-1.5.1/java/lib/i386/client/
processing-1.5.1/java/lib/i386/client/libjvm.so
processing-1.5.1/java/lib/i386/client/classes.jsa
Mais comme on a déjà installé java, ce répertoire ne pas servir à grand chose, non ?
On le remplace donc par un lien symbolique vers le répertoire d’OpenJDK :
pi@raspberrypi:~$ cd processing-1.5.1
pi@raspberrypi:~/processing-1.5.1 $ rm -rf java
pi@raspberrypi:~/processing-1.5.1 $ ln -s /chemin/vers/openjdk java
Exécuter Processing comme IDE
Il faut lancer l’environnement graphique (startx) pour tester l’IDE Processing. Ce sera testé en atelier, car il ne s’agit pas de notre usage principal.
Exécuter un programme Java exporté depuis P5
Si vous développez sur un PC plus conventionnel que la RPi, vous pouvez exporter pour Linux votre application. Il y a quelques adaptations à faire selon ce que vous souhaitez utiliser comme ressources :
– pour utiliser la liaison série, il faut remplacer la bilbiothèque rxtx avec une version pour ARM
– pour lancer le programme sans écran, il faut utiliser un framebuffer virtuel
Bonne continuation sur Raspberry Pi et faites nous part de vos succès ou de vos échecs.
Vos commentaires
# Le 9 février 2015 à 02:18, par jo En réponse à : Processing sur Raspberry Pi
Bonsoire , avant tout merci pour ce tuto , je voudrais si l utilisation de la lib video est utilisable sur rasp merci 😄
Répondre à ce message
# Le 12 décembre 2012 à 14:20, par jcr En réponse à : Processing sur Raspberry Pi
bonjour
je désire installer processing sur mon raspberry.
Pourriez vous m’indiquer comment faire le lien symbolique necessaire pour pointer correctement sur la bonne bibliotheque java.
Merci d’avance et compliment pour votre site
jc
# Le 12 décembre 2012 à 14:50, par Julien H. En réponse à : Processing sur Raspberry Pi
Bonjour. J’ai mis à jour l’article. En attendant que la modification soit visible (cache long), la commande est : "ln -s /chemin/vers/openjdk java" et dès que je récupère ma Raspberry Pi je préciserai le chemin d’OpenJDK.
# Le 6 janvier 2013 à 03:04, par StéphaneAG En réponse à : Processing sur Raspberry Pi
Essaye ceci :
ln -s /usr/lib/jvm/java-6-openjdk-armhf/ —verbose
Ca devrait passer (..)
Note : au moment où j’écris ces lignes, le openjdk 7 est dispo et á l’air plus véloce (..)
Nb : à l’ouverture de Pr, il est explicitement déconseillé d’utiliser openjdk >> pourquoi ? "nightbuilds-like" ?
Btw,bravo pour le site,troisème fois que je tombe dessus : bon tutos,bon sujets ,... que dire ? > chapeau bas ! ;p
+
Répondre à ce message