Mise en place du développement Java avec Eclipse et Pi4J pour Raspberry
Nous allons développer notre application à partir d’un PC Windows. Pour coder en Java, nous utilisons Eclipse sous sa version IDE for Java Developers via l’installer 2020-12 R. Pour utiliser une application Java qui contrôle le GPIO du Raspberry, nous allons intégrer les librairies Pi4J à Eclipse.
Installation d’Eclipse
Nous installons l’environnement d’exécution JRE grâce au lien suivant « https://www.eclipse.org/downloads/packages/ ».
Eclipse JRE
1 file 104.814 MB 13/01/2021
Nous avons choisi ce langage de programmation dans le but de manipuler un nouveau langage de programmation après ceux que nous connaissons déjà (C, C++, Python…). Il est aussi utile pour nous pour créer des interfaces par exemple avec la bibliothèque Java Swing. De plus, ce langage est portable. En effet, chaque système qui dispose d’une machine Java peut exécuter un programme qui a été développé sur un autre système. Cependant, il est important d’avoir une version de Java compatible sur le système pour pouvoir exécuter un certain fichier.
Nous allons bien évidemment utiliser les grands principes de la programmation objet en séparant notre projet en différentes classes. Nous avons décidé de développer selon la méthode MVC (Model, View, Controller). C’est une architecture qui sépare les données (ou le modèle avec le robot par exemple), l’Interface Homme Machine (la vue) et la logique de contrôle (le contrôleur). Nous aurons donc 4 fichiers car il faut prévoir un fichier qui contient le main et qui associe ces 3 couches.
De plus, nous développerons une petite interface avec la bibliothèque Java Swing. Pour cela, nous nous sommes aidés d’une extension WindowBuilder sur Eclipse qui nous permet d’appréhender plus facilement le développement d’une interface avec les bibliothèques Swing notamment. Cette extension s’installe à partir du lien suivant « ».
Correspondance de la version de Java avec le Raspberry
La version Java qui est installé avec notre système d’exploitation est la version Java « 11.0.9.1 du 2020-11-04 », sur le terminal, c’est la commande « java -version » qui permet d’obtenir ces informations. Bien que la dernière version de Java sur notre Eclipse est la version Java 15, il est donc important de sélectionner la version Java 11 ou une version antérieure pour la compatibilité avec le Raspberry. Pour cela, la manipulation à faire sur le projet dans Eclipse est la suivante :
- Dans le Package Explorer, clic droit sur le projet qui doit être ouvert -> Properties -> Java Compiler -> Compiler Compliance Level en décochant la case « Use compliance from execution environment »
Projet Pi4J
6 files 6.358 MB 27/01/2021
En décompressant ce dossier, nous voyons dans le répertoire « lib » 13 librairies que nous allons devoir importer sur Eclipse.
Pour cela, il faut ajouter ces librairies au projet concerné. La manipulation est la suivante :
- Dans le Package Explorer, clic droit sur le projet qui doit être ouvert -> Properties -> Java Build Path -> Onglet Libraries -> Clic gauche sur Classpath -> Add External JARs -> Sélection des librairies
Compilation et exécution des codes Java
Enfin, nous allons donc coder et compiler nos fichiers sur notre PC et nous allons ensuite envoyer les fichiers « .class » sur le Raspberry en utilisant le logiciel WinSCP et la connexion SSH. Par exemple, sur le PC nous irons chercher notre projet créé, nous ouvrirons ensuite le dossier bin qui contient les fichiers compilés, nous récupérerons ensuite le package voulu. C’est ce package que nous allons envoyé au Raspberry. Il n’y aura plus qu’à exécuter cela sur le Raspberry grâce aux commandes suivantes :
Terminal
1 2 |
cd /home/pi/ # on se place dans le répertoire qui contient le package bin sudo java -classpath .:classes:/opt/pi4j/lib/'*' nomPackage.nomMain # commande pour exécuter le package via le main et en utilisant les librairies Pi4J |
Nous avons fait un exemple pour illustrer ces commandes (voir page suivante pour le Test LED) :