Accueil Nos publications Blog Devoxx 2012 – Raspberry PI et Java

Devoxx 2012 – Raspberry PI et Java

Lors de Devoxx 2012, j’ai vu beaucoup de Raspberry PI ! Simon Ritter (@speakjava), évangéliste technologique chez Oracle nous a présenté ce produit, pourquoi a-t-il été créé, quelles sont ses capacités et quelques exemples concrets d’utilisation avec Java.

Qu’est-ce que Rasperry PI ?

Le Raspberry PI est un ordinateur de 45 grammes à processeur ARM conçu par le créateur de jeux vidéo David Braben pour sa fondation caritative Raspberry PI. Comme vous pouvez le voir dans la photo ci-dessous, cet ordinateur a le format d’une carte de crédit.


A l’origine, le raspberry a été conçu pour encourager l’apprentissage de la programmation informatique. Au départ, la production était très faible mais vu son bas coût et les possibilités offertes par ce produit, les utilisateurs se sont rués dessus pour atteindre une production de 4000 unités par jour. De plus, initialement produit en Chine, la production a totalement été relocalisée en Angleterre (par Sony).

Les caractéristiques

Le raspberry pi existe en 2 versions, la A et la B. Nous nous focaliserons sur la B dont les caractéristiques sont les suivantes :

  • Processeur ARMv6 de 700MHz
  • 521 Mio de RAM
  • 2 sorties vidéo : composite et HDMI
  • 1 sortie audio jack 3.5 mm
  • 1 unité de lecture / écriture de carte mémoire : SDHC / MMC / SDIO
  • 2 ports USB 2.0
  • 1 prise pour alimentation micro-USB (400mA).
  • 1 port réseau Fast Ethernet (10/100 MBits/s)
  • 1 port GPIO

Les utilisations possibles

Lors de Devoxx, nous avons pu voir en pratiques plusieurs utilisateurs du Raspberry PI. Par exemple, à la fin de chaque conférence, chaque participant avait la possibilité de donner son avis en apposant son bracelet d’entrée possédant une puce NFC sur un support spécifique (voir photo ci-dessous) :

Ou alors pour afficher le programme des différentes salles à Devoxx :

Raspberry PI et Java

Pour faire fonctionner Java sur Raspberry PI, il faut dans un premier temps télécharger Oracle Java SE Embedded 7 JRE for ARMv6/7 Linux. (à l’adresse suivante : https://www.oracle.com/technetwork/java/embedded/downloads/javase/index.html).

Bien entendu, avant de vouloir installer la JRE sur le raspberry, il faut installer le système d’exploitation sur la carte.

pi@raspberrypi:~$ gunzip ejre-7u4-fcs-b20-linux-arm-vfp-client_headless-12_apr_2012.tar.gz
pi@raspberrypi:~$ tar xvf ejre-7u4-fcs-b20-linux-arm-vfp-client_headless-12_apr_2012.tar
pi@raspberrypi:~$ cd ejre1.7.0_04/bin pi@raspberrypi:~/ejre1.7.0_04/bin$ ./java -version java version “1.7.0_04-ea” Java(TM) SE Runtime Environment for Embedded (build 1.7.0_04-ea-b20, headless) Java HotSpot(TM) Embedded Client VM (build 23.0-b21, mixed mode)

Que pouvons-nous piloter en Java sur le Raspberry PI ?

En Java, nous pouvons avoir accès aux fonctions suivantes :

  • Sound
  • Vison
  • Serial (TTL UART)
  • USB
  • GPIO

Utilisation du Son

Les drivers Audio sont inclus dans les nouvelles distributions.

Pour “Java Sound API”, il faut ajouter l’audio au groupe utilisateur. Quelques bits fonctionnent, d’autres pas trop…

Jouer des fichiers WAV fonctionne bien, ainsi que le FreeTTS (Text To Speach).

Java and Serial Port/USB Serial Device

Utilisation de l’API JavaComm.

L’installation du package RXTX s’effectue de la façon suivante : apt-get install librxtx-java et permet de gérer le port série et l’USB. Il faudra cependant utiliser JNI dans certains cas pour gérer certains périphériques.

Conclusion

Le raspberry PI est un formidable matériel pour des besoins simples et ne devant pas effectuer trop de calculs. L’intégration de Java se fait aisément.
Maintenant, laissez libre cours à votre imagination et codez bien !