Menu Fermer

Errata

Erreurs, corrections et adaptations

Date de la dernière modification: 20 mars 2020

Introduction

Vu la popularité continuellement grandissante du Raspberry Pi, des dernières retouches du livre faites en décembre 2018, de l’apparition du Pi 4 et de Raspbian Buster en fin juin 2019, il est difficile de maintenir un contenu qui pourrait presque évolué chaque semaine.

Je fais donc mon possible pour satisfaire le lecteur.
*** Les corrections des pages 187 et 41 sont importantes. ***

J’ai constaté que certains lecteurs n’aiment pas trop suivre à la lettre les instructions du livre. C’est leur droit et leurs risques évidemment d’installer d’autres versions. 

L’article Qu’est-ce qui change avec le Raspberry Pi 4 devrait être consulté et Réinstaller un Raspberry Pi 3 avec Raspbian Buster donne quelques idées et instructions.

Corrections et adaptations

Chapitre 1

Ce n’est qu’un juin 2019 que j’ai remarqué cette faute en vérifiant une installation de la dernière version d’Eclipse et d’une version plus récente du JDK pour le Raspian Buster. Je rappelle qu’il reste préférable pour le livre de rester avec les Eclipse et Raspbian conseillés.

Si un lecteur n’arrive pas à démarrer Eclipse et qu’un message indiquant qu’il n’y a pas de machine virtuelle Java installée, c’est sans doute le cas qu’il n’a jamais utilisé Java sur son PC, et que ce dernier peut être aussi tout neuf!

Les commandes de la figure 1-12 (page 12) nous indiqueraient aussi le problème. Il faudrait donc modifier le PATH comme indiqué en bas de page 11, et ceci avant un premier démarrage d’Eclipse (page 6). Ce dernier est une application principalement écrite en Java.

Pour une prochaine édition, il faudrait:

  • Déplacer Compilation et exécution sans Eclipse de la page 11 et 12, avant la page 6.
  • Il faudrait indiquer comment Eclipse et ses projets Java accèdent au répertoire du JDK choisi (PATH de Windows ou configuration) et comment faire les adaptations.
  • Dans la figure 1-9 de la page 7, sous Use an execution environment JRE, nous voyons un Java-SE1.8. Ceci est en fait déterminer par le PATH de Windows qui doit être défini (donc bas de page 11).
  • Il faudrait aussi indiquer comment installer un JDK spécifique à nos projets, voire en utiliser plusieurs. L’auteur avait choisi la simplicité, c’est normal et plus accessible aux débutants.

Page 3 (merci à Bertrand Roussel)

La phrase:
Nous avons téléchargé la version Windows 64bits jdk-8u161-windows-x64.exe après avoir accepté l’accord de licence.
Serait mieux ainsi:
Pour la préparation du livre, l’auteur a téléchargé la version Windows 64bits jdk-8u161-windows-x64.exe et ceci après avoir accepté l’accord de licence en cochant la case Accept License Agreement. La version 161 était déjà passé de 161 à 212 en avril 2019.

!!! Après la sortie du livre, en avril 2016, Oracle a modifié sa politique de licence, et il faut à présent créer un compte. Je devrais décrire cette partie en détails. Il faut absolument rester avec Java 8 d’Oracle qui est supporté sur le Raspberry Pi !!!

Je dois encore mettre à jour ce qui suit, mais j’indiquerai déjà que j’ai pu recevoir l’exe mentionné (j’ai pris le jdk-8u211-windows-x64.exe) et continuer comme indiqué dans le livre: Je pense qu’il n’y a aucun souci de s’inscrire avec son adresse email et de spécifier un mot de passe suffisamment simple et solide avec des lettres minuscules et majuscules, quelques chiffres et un caractère spécifique comme un point par exemple. Oracle ne va pas demander de détails confidentiels et personnels.

Page 41 (merci à Emmanuel NIATI)

En juin 2019, les Raspberry Pi 4 sont arrivés et avec un nouvelle version de Raspbian, Buster. Ce système d’exploitation est nécessaire pour les Pi 4, mais sont aussi utilisables pour les Raspberry Pi 3.  Les deux documents mentionnés ci-dessus dans l’introduction peuvent être consultés.

Pour rester le plus proche du livre, il est VRAIMENT conseillé, dans un premier temps de rester avec la version Stretch.

En fin de page 41, nous avons deux références:
https://raspbian-france.fr/telechargements/
et
https://www.raspberrypi.org/downloads/raspbian/.

La seconde donne à présent, depuis juin 2019, une référence à Buster et non à Stretch. La première référence raspbian-france risque de changer.

Le lien URL a utiliser à présent pour ce livre est
http://downloads.raspberrypi.org/raspbian/images/
et le répertoire
http://downloads.raspberrypi.org/raspbian/images/raspbian-2018-03-14/.

Le répertoire raspbian-2019-04-09/ est sans doute aussi utilisable, mais avec  raspbian-2019-06-24/ nous passons à Buster.

Nous noterons aussi ici qu’il ne faut pas installer une version Lite réduite qui ne contient pas Java.

Page 43

A propos de SSH.txt: Sur Internet nous trouvons aussi des références à ce fichier, mais en minuscule. L’auteur a toujours utilisé le fichier final SSH en majuscule.

Page 44
Pour la commande arp -a, il faudra parfois patienter après le démarrage du PC. La liste complète des Raspberry Pi attachés au routeur peut prendre un certain temps avant d’être synchronisée et complète. En cas de doute, utiliser l’outil Advanced IP scanner qui donnera la liste correcte immédiatement.

Page 88
Il y a une coquille dans la commande java où BlinkGpioExample apparaît 2 fois. Mais même avec 2 BlinkGpioExample la commande fonctionnera de la même manière.

Il devrait être mentionné qu’il faut d’abord se rendre dans le répertoire /opt/pi4j/examples avant d’exécuter la commande java.

Page 88 (merci encore à Bertrand Roussel)
Le team Pi4J a enfin livré une nouvelle version du Pi4J, c’est à dire la 1.2 Nous aurons donc:

pi@raspberrypi:/opt/pi4j $ pi4j -version

--------------------------------------------
THE Pi4J PROJECT
--------------------------------------------
VERSION : 1.2
TIMESTAMP : 2019-02-28 05:08:02
--------------------------------------------

La commande curl de la page 86 ne permet pas de choisir une ancienne version de Pi4J où était présent le problème nécessitant le paramètre -Dpi4j.linking=dynamic. Ce dernier n’est donc plus d’actualité. L’utilisation de ce paramètre est mentionné à plusieurs  occasions dans le livre, mais celui-ci n’a aucun impact sur les exemples même s’il est utilisé.

Les textes suivant pourraient être adaptés:

Les bibliothèques de Raspbian et de Pi4J n’ont pas été compilées avec les mêmes options. >>>

Dans la version 1.1 du Pi4J, les bibliothèques de Raspbian et de Pi4J n’avaient pas été compilées avec les mêmes options.

Cette version est assez ancienne, mais c’est du solide ! >>>

La version 1.2 a été longtemps attendue: le team Pi4J est toujours présent et fait bien son travail. La version 2.0 est prévue pour septembre 2019 et avec des changements significatifs que je me ferai le plaisir de vérifier.


Page 94, 194 (2 fois), 209, 228, 247, 250, 277 (4 fois), 279 (2 fois) et 319

Le paramètre  -Dpi4j.linking=dynamic n’est plus nécessaire à présent avec la version 1.2 du Pi4J. Cependant, même s’il est utilisé, il n’affectera pas les résultats.

Page 159 (au milieu de page)
Après « Un script Python salut.py,  » rajouter « préparé avec Notepad++, « 

Page 160 (tout en haut)
Après « Un fichier salut.bat,  » rajouter « préparé avec Notepad++, « 

Page 187 (Montage d’un câble)
Manipuler du 220V est évidemment un danger mortel. Un tel montage devrait être vérifié par un professionnel et doit être monté à l’intérieur d’un boîtier approprié. Il faudra s’assurer que la bonne phase est coupée.

De toute manière la partie 220V ne sera connectée qu’après que tout la partie Raspberry Pi soit terminée. Il est possible de tester sans la partie lampe, car le relais fera des clics lors de l’enclenchement côté GPIO, même si la partie 220V n’est pas connectée.

L’auteur l’a utilisé uniquement pour une lampe de chevet à basse consommation (ampoule LED), et cette dernière sans prise de terre, donc 2 broches seulement comme pour les alimentations des Raspberry Pi d’ailleurs.

Page 224 et 225 (au milieu de ces pages)
Ce n’est pas la broche 12 dans le code des fichiers .py mais 32 (la broche physique).

Pour le Raspberry Pi 4, les scripts buzzer.py et buzzer2.py ne fonctionne pas en GPIO.BOARD. Il faut utiliser GPIO.BCM:

GPIO.setmode(GPIO.BCM)
GPIO.setup(12, GPIO.OUT)

p = GPIO.PWM(12, 500) # broche=32 fréquence=500Hz

C’est sans doute un problème dans la version Buster avec les adresses BOARD et BCM. Noter le 500Hz et non 50 Hz.

Page 226 – Classe Java AlarmBuzzer

Elle ne fonctionne pas sur le Raspberry Pi 4. C’est sans doute le même souci qu’au pages 224 et 225. La version 2.0 du Pi4J est encore en développement. Mais il est toujours possible d’activer un script Python depuis Java comme expliquer au chapitre 13.

Dernière modification: 2 septembre 2019