Le Raspberry Pi Zero WH est un petit Raspberry Pi à environ 25 Euros.
Nous en trouverons une très brève introduction ici.
Question: Peut-on l’utiliser dans le cadre de ce livre?
Et la réponse: oui!
Description de l’installation avec les références aux chapitres du livre.
J’ai tout d’abord acheter une micro carte SD, cette fois-ci un autre modèle, une Samsung Evo+ microSD UHS-I (32Go, Classe 10). Comme j’avais déjà plusieurs alimentations pour mes Raspberry Pi, je n’ai pas fait ce nouvel achat. Cette alimentation se connecte sur le port mini USB marqué PWD IN.
Sur le site Raspbian France, en voyant la version Raspbian Stretch Lite, j’ai pensé qu’elle serait plus profitable. Mais j’ai dû déchanter et recommencer avec la version décrite dans le livre. Dans la version Lit, j’avais du installer séparément Java et les librairies du Pi4J. Cette dernière refusait de fonctionner avec l’exemple Java présentés ci-dessous. La partie Python fonctionnait.
J’ai donc installé le Raspberry Pi Zero WH de la même manière que décrit au chapitre 3 pour la version sans écran. L’image que j’ai utilisée, 2018-10-09-raspbian-stretch.img, avec les procédures décrites des fichiers SSH et wpa_supplicant.conf m’ont permis rapidement de me connecter avec PuTTY (chapitre 4) et de fixer l’adresse IP dans le routeur. Toutes ces choses sont décrites dans ce même chapitre 3 (une vérification supplémentaire pour moi après la dernière relecture par mon éditeur).
Il m’a fallu évidemment installé le logiciel Pi4J (chapitre 7) et j’ai omis volontairement la partie de la compilation des exemples du Pi4J.
Pour vérifier Python et Java, j’ai utilisé le script relay.py et la classe Relay du chapitre 15.
Avec PuTTY, j’ai créé deux répertoires python et java, et avec WinScp (chapitre 4) copié les 2 fichiers. Le fichier Relay.class venait du workspace d’Eclipse (chapitre 1 et 2) où la classe Relay.java a été développée et testée en mode simulation (chapitre 15). Le PC n’a pas d’interface GPIO.
pi@raspberrypi:~ $ cd python
pi@raspberrypi:~/python $ python relay.py
Les clics du relais indiquent que le script fonctionne bien.
Le fichier Relay.sh a été préparé sous PuTTY avec l’éditeur vi de Linux (chapitre 4 ou nano est aussi possible) avec :
pi@raspberrypi:~/java $ cat Relay.sh
java -Dpi4j.linking=dynamic -classpath .:/opt/pi4j/lib/’*’ Relay
Enfin le résultat en Java, avec des clics du relais et des infos à l’écran comme décrit dans le chapitre 15:
pi@raspberrypi:~/python $ cd ../java
pi@raspberrypi:~/java $ ls
Relay.class
pi@raspberrypi:~/java $ vi Relay.sh
pi@raspberrypi:~/java $ chmod +x Relay.sh
pi@raspberrypi:~/java $ ./Relay.sh
****** Relay activated: true
****** Relay activated: false
Test of periodicity
Start of ON period
****** Relay activated: true
Already in ON period: 3
Already in ON period: 1
Start of OFF period ******************
Les exemples Python et Java du relais utilisent la broche physique 16 de l’interface GPIO et la broche GPIO_04 du Pi4J (en Annexe dans le livre).
Si nous voulions modifier la broche du relais (voir la figure Fritzing du chapitre 15 pour la connection du 5V et du Gnd), il faudrait modifier
RelayPin = 16 # broche 16 (GPIO 4)
dans le code de relay.py
et
Relay ourRelay1 = new Relay(isTarget, RaspiPin.GPIO_04, true);
dans la classe Relay.java dans Eclipse et le projet RelaisEclairage (chapitre 15).