Contrôler le GPIO en Java – Installation de Pi4J sur Raspberry
Nous allons construire un robot qui sera composé de 2 moteurs et d’un support amovible qui contiendra la caméra thermique. Notre robot sera piloté à travers les ports GPIO par une application JAVA que nous allons concevoir et que nous exécuterons sur le Raspberry. Pour cela, nous allons devoir faire l’installation des librairies Pi4J sur notre Raspberry. Nous utilisons ici un Raspberry Pi 3 car il est plus compact que le Pi 400. Il est donc plus adapté à notre projet.
Dans un premier temps, nous allons répéter les opérations que nous avions effectué sur le Raspberry Pi 400 :
Vous pouvez cliquer sur les étapes pour avoir le détail des manipulations.
Installation des librairies Pi4J
Ensuite, nous allons maintenant installé des librairies JAVA pour pouvoir contrôler les ports GPIO du Raspberry et ainsi piloter les moteurs de notre robot. Pour ce faire, nous avons trouvé le site « https://pi4j.com/1.2/install.html » qui va nous permettre d’installer les librairies nécessaires au contrôle des ports GPIO avec un programme JAVA.
La préparation commence par les prérequis.
L’environnement JAVA runtime est déjà préinstallé car nous utilisons un système d’exploitation très récent. Pour vérifier cela, il faut écrire « java » dans le terminal, si c’est déjà installé alors il y aura une liste des commandes possibles.
En ce qui concerne la librairie WiringPi, elle est déjà installée aussi. Cela se vérifie par la commande « gpio -v » comme ci-dessous :
Une autre manière de vérifier que les librairies WiringPi sont bien compatibles est d’exécuter la commande « gpio readall » afin d’afficher le nom de tous les ports GPIO ainsi que leur correspondance WiringPi. La version 2.50 est la dernière version officielle développée par le créateur de ces librairies Gordon Henderson. Cependant, cette version n’est pas compatible avec les Raspberry Pi 4 ou Pi 400 par exemple.
En effet, si l’on souhaite adapter cela à un Raspberry plus récent, il faudra passer par un GitHub qui est lui mis à jour par la communauté. Les commandes à effectuer seraient les suivantes :
Terminal
1 2 3 |
sudo git clone https://github.com/WiringPi/WiringPi # téléchargement du dossier GitHub cd WiringPi # on se place dans le répertoire sudo ./build # on exécute le script pour compiler et installer la version 2.60 de Wiring Pi |
Terminal
1 |
curl -sSL https://pi4j.com/install | sudo bash # téléchargement et exécution du script d'installation |
Installation de Pi4J
1 file 0.670 KB 28/01/2021
Les librairies JAVA dont nous aurons besoin pour contrôler les ports GPIO à partir de notre programme sont maintenant installées sur le Raspberry. Elles se situent au chemin « /opt/pi4j/lib ». Nous pouvons maintenant compiler les 68 exemples disponibles dans le dossier que nous avons téléchargé.
Terminal
1 |
sudo /opt/pi4j/examples/build # compilation des codes exemples |
Cela nous permet de comprendre comment utiliser les librairies et manipuler le GPIO en Java.
Nous précisons que pour exécuter un fichier, il faut d’abord avoir compilé le fichier en se plaçant dans le répertoire qui contient ce fichier :
Terminal
1 2 3 |
cd /home/pi/.... # on se place dans le bon répertoire sudo javac -classpath .:classes:/opt/pi4j/lib/'*' NomCode.java # commande pour compiler le fichier .java sudo java -classpath .:classes:/opt/pi4j/lib/'*' NomCode # commande pour exécuter un fichier .class |
Nous allons maintenant pouvoir tester l’installation des librairies Pi4J sur le Raspberry en mettant en place notre développement Java (voir page suivante) et en réalisant un premier test (voir test LED) avant de commencer le développement de notre projet final qui est de développer une interface pour piloter le robot.