Documente Academic
Documente Profesional
Documente Cultură
Raspberry Pi
Le guide de l’utilisateur
Traduit de l’anglais
par Dominique Maniez
Pour Liz, qui a permis que cette aventure se réalise.
Eben
Introduction 9
La programmation, c’est amusant ! 10
Un peu d’histoire 11
Que peut-on faire avec le Raspberry Pi ? 17
#1 Mise en route
/>1 À la découverte du Raspberry Pi 21
Tour du propriétaire de la carte 21
Modèle A / B 24
© Dunod – Toute reproduction non autorisée est un délit.
Modèle A+ / B+ 25
Raspberry Pi 2 26
Raspberry Pi 3 27
Raspberry Pi Zéro 28
Un peu d’histoire 29
/>4 Dépannage 77
Diagnostics du clavier et de la souris 77
Diagnostics de l’alimentation 78
Diagnostics de l’affichage 80
Diagnostics de démarrage 81
Diagnostics réseau 82
#3 Programmation du pi
# Annexes
Index 285
« Les gamins de maintenant sont tous des digital natives », me disait quelqu’un
au cours d’une soirée. « Je ne sais pas pourquoi vous fabriquez ces trucs. Mes
enfants en savent plus que moi quand il s’agit d’installer un PC. »
Je lui ai demandé s’ils savaient programmer, ce à quoi il a répondu : « Et pour
quoi faire ? L’ordinateur fait déjà tout ce qu’ils veulent. C’est tout ce qu’on lui
demande, non ? »
En fait, beaucoup parmi nos jeunes ne sont pas des digital natives. On est loin
des rêves fous de certains, où des gamins sauteraient d’une liane (faite de paires
de cuivre torsadé) à l’autre en entonnant des chants guerriers composés dans un
Python impeccable. Nous, à la Fondation Raspberry Pi, dans le cadre de nos acti-
vités éducatives, nous rencontrons beaucoup de jeunes qui ont pour tout bagage
technologique leur expérience avec des systèmes fermés dont l’interface gra-
phique leur permet de regarder des films, d’utiliser le traitement de texte pour
quelques devoirs, et de faire des jeux. Ils savent naviguer sur Internet, poster des
photos et de la vidéo, et ils peuvent même concevoir des pages Web (et bien sou-
vent ils s’en sortent également beaucoup mieux que papa et maman pour para-
métrer le décodeur satellite). Tout cela est très utile, mais incroyablement mince !
Et dans un pays comme l’Angleterre où 20 % des foyers n’ont toujours pas d’or-
© Dunod – Toute reproduction non autorisée est un délit.
Introduction /9
La programmation, c’est amusant !
Programmer, c’est gratifiant, créatif et amusant. On peut créer de magni-
fiques solutions d’une complexité incroyable, mais aussi (et c’est bien plus beau,
à mon avis) contourner les obstacles en empruntant des chemins tout simples
en apparence, astucieux et d’une rapidité foudroyante. On peut faire des choses
qui attisent la jalousie des autres et procurent de la fierté tout un après-midi.
Mon travail consiste à concevoir des puces du genre de celles que nous utilisons
comme processeur dans le Raspberry Pi. Je travaille sur la partie logicielle de
bas niveau qui les fait fonctionner, et en gros, on me paye pour que je joue toute
la journée. Qu’y a-t‑il de mieux que de permettre à des gens de passer leur vie à
s’amuser ?
On ne peut même pas dire que les enfants soient insensibles aux possibilités de
travailler dans la micro-informatique. Il y a quelques années, alors que nous avan-
cions tout doucement sur le projet Raspberry Pi, nos convictions ont été forte-
ment ébranlées. Tout le travail de développement se faisait sur le temps libre des
membres de la fondation et des bénévoles (nous sommes une association à but
non lucratif dont les membres ne sont donc pas payés par la fondation, et nous
avons tous un travail à temps plein pour honorer nos factures). Ça pouvait parfois
entamer notre motivation, surtout le soir quand tout ce à quoi j’aspirais c’était
de siroter un bon verre de vin en regardant un épisode des Nouveaux pauvres.
Un soir, j’ai eu l’occasion de discuter avec le neveu d’un voisin. Nous parlions des
options qu’il avait choisies pour son GCSE (le diplôme britannique de fin d‘études
secondaires qui porte sur divers sujets et que l’on passe à partir de 16 ans), et je
lui ai demandé quel métier il envisageait.
« Je veux écrire des jeux vidéo. »
« Super ! Quel genre d’ordinateur est-ce que tu as à la maison ? J’ai quelques
livres de programmation qui pourraient t’intéresser. »
« Une Wii et une Xbox. »
Au fur et à mesure de notre conversation, il devenait clair que ce garçon, au
demeurant parfaitement intelligent, n’avait jamais programmé, qu’il n’avait pas de
machine sur laquelle s’essayer à la maison, et que ses cours d’informatique, avec
un PC pour deux, et pendant lesquels on lui enseignait comment concevoir des
pages Web, utiliser un tableur et un traitement de texte, ne lui avaient pas donné
les moyens d’utiliser un ordinateur, même au sens le plus restreint. Mais voilà, les
jeux vidéo étaient sa passion (et vouloir travailler dans un domaine qui passionne
n’a rien d’étrange). Les options qu’il avait choisies pour son GCSE étaient donc
censées l’y conduire. Il avait, à n’en pas douter, les talents artistiques attendus
dans le métier, ses notes en maths et en sciences n’étaient pas mauvaises, mais il
n’avait fait qu’effleurer la programmation. Son cursus ne lui offrait aucun module
lui permettant vraiment de faire de la programmation. Il était obligé de se rabat-
tre sur des cours semblables aux précédents, tous orientés vers l’utilisateur final.
Vu ce qu’il avait à la maison, ses chances de développer les qualifications néces-
10/ Introduction
saires pour travailler dans le domaine qui lui plaisait devenaient de plus en plus
minces.
En finir avec un tel gâchis et exploiter le potentiel et l’enthousiasme, voilà ce
qui me motive. Bien sûr, je ne suis pas à ce point obsédé par le Raspberry Pi pour
m’imaginer qu’il va, à lui seul, changer la donne ; mais il peut jouer le rôle de cata-
lyseur. Il y a déjà eu de grands changements dans les écoles du Royaume-Uni. En
2014, le programme scolaire a été remanié dans sa partie informatique, et dans
les quatre années qui ont suivi la sortie du Raspberry Pi, on a assisté à une remar-
quable prise de conscience des besoins criants dans l’offre culturelle et éducative
proposée aux jeunes.
Il y a tellement d’appareils numériques qui sont verrouillés que les enfants
qui s’en servent quotidiennement ne sont pas capables de les utiliser de façon
créative, alors que l’informatique par essence favorise la création. Essayez, pour
voir, de transformer votre iPhone en cerveau pour robot, ou de demander à
votre PS4 d’exécuter un jeu que vous avez écrit. Indéniablement, il est possible
de programmer avec un PC familial, mais pour cela, il y a quelques obstacles à
franchir dont certains sont insurmontables pour de nombreux enfants : télé-
charger des programmes spécifiques, avoir des parents qui n’ont pas peur de
casser quelque chose qu’ils ne savent pas réparer. Et puis, beaucoup ne savent
même pas que le PC de la maison peut servir à ça. Pour eux, c’est un bel objet
sur lequel il n’y a qu’à cliquer pour qu’il fasse ce qu’on veut, sans trop réfléchir.
Son boîtier scellé contient ce qu’il faut pour permettre à papa et maman de
tenir les comptes, mais cela coûterait très cher de le remplacer, si les choses
tournaient mal.
Le Raspberry Pi, lui, n’est pas cher. On peut l’acheter avec l’argent de poche de
quelques semaines et le matériel pour le faire fonctionner est sûrement déjà à la
maison : une télé, la carte SD d’un vieil appareil photo, un chargeur de téléphone,
un clavier et une souris. Pas besoin de le partager, il appartient à l’enfant, et il
est assez petit pour se glisser dans la poche et l’emporter chez un copain ou une
copine. Si l’on a fait une mauvaise manipulation, ce n’est pas grave, on met une
nouvelle carte SD et le Raspberry Pi est comme neuf. Tous les outils, le système
de base, les cours et exercices nécessaires à un apprentissage à son rythme, sont
© Dunod – Toute reproduction non autorisée est un délit.
Un peu d’histoire
J’ai commencé à travailler sur le projet avec un tout petit barebone en 2006,
alors que j’étais directeur d’études au département d’informatique de l’université
de Cambridge. J’avais obtenu un diplôme au laboratoire d’informatique où j’en-
seignais et préparais mon doctorat. À cette époque, j’ai commencé à constater
que les compétences des nouveaux entrants en informatique étaient nettement
à la baisse. Petit à petit, entre les années 1990 et 2005, on était passé de jeunes
de 17 ans avec des bases en plusieurs langages, capables de bricoler du matériel,
Introduction /11
et même de programmer en assembleur, à des gamins qui avaient des notions en
HTML, et avec un peu de chance, en PHP et CSS. Leur intelligence et leur potentiel
étaient bien au rendez-vous, mais leur expérience en informatique n’avait plus
rien à voir avec celle de leurs prédécesseurs.
À Cambridge, le cursus informatique se compose d’environ 60 semaines de
cours et d’ateliers répartis sur une période de trois ans. S’il faut toute la pre-
mière année pour les hisser à un niveau convenable, il devient très difficile de leur
permettre de préparer un doctorat ou d’entrer dans la vie professionnelle dans
les deux ans qui restent. Parmi ceux qui avaient réussi leur licence, les meilleurs
étaient ceux qui ne s’étaient pas contentés de programmer quand ils avaient un
devoir à rendre ou un projet de groupe : ils faisaient également de la program-
mation sur leur temps libre. L’idée de départ, pour le Raspberry Pi, était limitée à
un besoin local et à un seul et modeste objectif : je voulais fabriquer un outil des-
tiné aux candidats à l’inscription à ce cours universitaire, afin qu’ils s’initient. Mes
collègues et moi pensions que nous allions le distribuer aux élèves qui venaient
pendant les journées portes ouvertes. Ceux qui reviendraient pour un entretien
quelques mois plus tard nous diraient ce qu’ils en avaient fait. Ceux qui auraient
les réponses les plus intéressantes seraient ceux que nous souhaiterions intégrer
dans la formation. Nous espérions produire cette machine à quelques centaines
d’exemplaires, ou dans le meilleur des cas, arriver à quelques milliers d’unités en
fin de cycle de production.
Bien sûr, une fois les choses sérieuses entamées, nous nous sommes vite rendu
compte qu’un petit ordinateur au prix si abordable allait répondre à bien d’autres
demandes encore. La machine qui nous a servi de point de départ était bien dif-
férente du Raspberry Pi d’aujourd’hui. J’ai commencé sur la table de la cuisine, où
je suis mis à souder une puce Atmel sur la plus longue breadboard que j’avais pu
acheter chez le fournisseur d’électronique Maplin. Les tout premiers prototypes,
avaient des microcontrôleurs d’entrée de gamme, en définition standard, pour
contrôler un téléviseur en direct. Dotés de 512 Ko de RAM et de quelques MIPS de
puissance de calcul, ils étaient équivalents à des micro-ordinateurs 8 bits. Difficile
d’imaginer à l’époque que ces machines pourraient fasciner des gamins habitués
aux consoles de jeux et autres tablettes.
Au laboratoire d’informatique, nous avions des débats sur la situation générale
de l’enseignement de l’informatique. Quand j’ai quitté le labo pour aller travailler
dans l’industrie, je me suis rendu compte que les problèmes constatés à l’univer-
sité se retrouvaient chez les jeunes qui postulaient à un emploi. J’ai réuni mes col-
lègues, Rob Mullins et Alan Mycroft (deux collègues du labo), Jack Lang (chargé
de cours en entreprenariat à l’université), Pete Lomas (un gourou du matériel) et
David Braben (une référence dans l’industrie du jeu vidéo à Cambridge, et doté
d’un incomparable carnet d’adresses). Puis après quelques bières (du fromage et
du vin pour ce qui concerne Jack), nous avons créé la Fondation Raspberry Pi, une
petite association avec de grandes idées.
12/ Introduction
Pourquoi Raspberry Pi ?
On nous demande souvent d’où le Raspberry Pi a bien pu tirer son nom. Il a été
forgé par plusieurs membres de la fondation. C’est l’une des rares fois où j’ai vu un
travail en groupe déboucher sur un si joli succès, même si, pour être honnête, j’ai
détesté ce nom au départ (depuis, je me suis mis à l’adorer, parce qu’il fonctionne
vraiment bien, mais ça m’a pris du temps parce que quelques années auparavant
j’avais baptisé mon projet « ABC Micro » et je m’étais habitué à ce nom-là). On a
choisi le nom Raspberry parce qu’il y a une vieille tradition qui consiste à donner
des noms de fruits dans l’industrie informatique (mis à part celui auquel on pense
tous, il y a d’anciens ordinateurs comme Tangerine, Apricot, ou Acorn qui est le fruit
du chêne). « Pi » vient de Python, dont nous pensions au départ qu’il serait le seul
langage capable de fonctionner sur une plateforme qui était alors bien moins puis-
sante que ne l’est le Raspberry Pi moderne. D’ailleurs, Python reste le langage que
nous recommandons pour l’apprentissage et le développement, même s’il existe
beaucoup d’autres langages à explorer sur le Raspberry Pi.
Dans mon nouveau rôle d’architecte chez Broadcom, une grosse entreprise dans
les semi-conducteurs, j’avais accès à du matériel peu onéreux mais très performant,
destiné à équiper des téléphones portables très haut de gamme (ceux qui filment en
HD et ont un appareil photo à 14 mégapixels). J’étais stupéfait de la différence entre
les puces à 10 dollars que peut acheter un passionné d’électronique et celles qu’on
pouvait obtenir en tant que fabricant de téléphones pour pratiquement la même
somme : traitement générique, graphisme 3D, vidéo, mémoire, le tout dans un boî-
tier BGA de la taille d’un ongle. Ces microcircuits ne consomment presque rien, mais
ont de grandes capacités. Ils sont particulièrement performants au niveau multi-
média et étaient d’ailleurs déjà exploités par des fabricants de décodeurs pour de la
vidéo HD. Il nous fallait une puce de ce genre pour notre projet de Raspberry Pi. Je
me suis mis à la conception d’une variante bon marché à base de microprocesseur
ARM et dotée de la puissance de traitement dont nous avions besoin.
Nous sentions qu’il fallait que les jeunes se fassent plaisir en utilisant le
Raspberry Pi, même s’ils n’étaient pas très emballés par la programmation.
© Dunod – Toute reproduction non autorisée est un délit.
Dans les années 1980, quand on voulait lancer un jeu sur un ordinateur, il fallait
démarrer une grosse boîte métallique qui faisait « bip » et où vous vous retrou-
viez face à une invite de commande. Il fallait bien saisir quelques instructions
pour commencer, mais la majorité des utilisateurs n’allaient pas au-delà. Pour-
tant, quelques-uns s’étaient laissé entraîner dans le monde de la programmation
en raison du manque d’interaction. Nous avons vite compris que le Raspberry Pi
pourrait faire office de media center tout petit et très bon marché et nous avons
donc mis l’accent sur cette fonctionnalité, dans l’espoir que les novices en profi-
teraient pour goûter à la programmation au passage.
Après cinq ans d’efforts intenses, nous avions créé un joli petit prototype de la
taille d’une clé USB. Il y avait un module caméra intégré sur le dessus pour faire
Introduction /13
la démonstration du genre de périphériques que l’on pouvait facilement connec-
ter (lors du lancement, il n’y avait pas de caméra pour des raisons de coût, mais
depuis nous avons produit un petit module très accessible, pour ceux qui ont des
projets photographiques). Nous sommes allés ensuite à un certain nombre de
réunions pour présenter le prototype au service R&D de la BBC. Ceux qui, comme
nous, ont grandi au Royaume-Uni dans les années 1980, en ont beaucoup appris
sur l’informatique balbutiante grâce au micro-ordinateur produit par la BBC et
tout son écosystème composé de livres, de revues et d’émissions de télévision.
Je pensais que tout naturellement ils voudraient faire avancer le projet. Mais le
monde avait bien changé entretemps ; un certain nombre de réglementations
favorisant la concurrence au Royaume-Uni et dans l’Union européenne empê-
chaient désormais cette bonne vieille institution d’y prendre part au niveau où
nous l’espérions. Nous avons décidé d’abandonner l’idée de travailler avec le ser-
vice R&D et de faire une ultime tentative avec Rory Cellan-Jones, un journaliste
technique de la BBC. Le rendez-vous fut obtenu grâce à David (celui avec le gros
carnet d’adresses) en mai 2011. Pour Rory, il n’y avait pas grand-chose à espérer
d’un partenariat avec la BBC, mais il demanda s’il pouvait enregistrer une vidéo
du petit prototype avec son téléphone pour la poster sur son blog.
Le lendemain matin, elle était devenue virale, et je réalisais au passage que
nous venions de promettre au monde entier que nous allions lui offrir un ordina-
teur pour 25 dollars !
Pendant que Rory s’affairait à écrire un autre article de blog sur les raisons qui
font qu’une vidéo devient virale, de notre côté nous sommes repartis plancher sur
notre conception. Ce prototype au format de clé USB ne répondait pas aux cri-
tères : avec la caméra intégrée, il était bien plus cher que ce que nous avions sug-
géré (le prix de 25 dollars venait d’une déclaration que j’avais faite sur la BBC où
je disais que le Raspberry Pi devrait coûter à peu près le prix d’un manuel scolaire,
ce qui prouve que j’avais complètement perdu la notion du prix des manuels sco-
laires aujourd’hui). D’autre part, ce mini-modèle n’avait pas assez de place pour
intégrer tous les ports nécessaires aux fonctions que nous voulions implémenter.
Nous avons donc passé une année à repenser le circuit pour en baisser les coûts
au maximum, tout en lui conservant les caractéristiques voulues (ce fut un travail
plus difficile qu’on l’imagine) et en garantissant qu’il reste un objet fonctionnel
pour des gens qui ne peuvent pas dépenser des fortunes en périphériques.
Pour éviter aux utilisateurs l’achat d’un moniteur, nous voulions que le Rasp-
berry Pi puisse marcher avec une télévision, comme le ZX Spectrum des années
1980. Mais comme tout le monde n’a pas un téléviseur avec une prise HDMI,
nous avons donc ajouté un port composite pour le rendre compatible avec un
écran cathodique. Les cartes SD, bon marché et faciles à trouver, feraient office
de mémoire de masse : les premiers modèles A et B utilisaient des cartes SD
standards, mais les dernières versions fonctionnent maintenant avec des cartes
micro-SD. Pour l’alimentation, nous sommes passés par plusieurs approches pour
finir avec un câble micro-USB. Les prises micro-USB sont maintenant devenues
14/ Introduction
la norme pour le rechargement des téléphones portables dans toute l’UE et elles
sont en train de le devenir dans le reste du monde. On trouve donc des câbles
micro-USB partout, et bien souvent on en a déjà à la maison.
Fin 2011, avec une date de lancement prévue en février 2012, il devenait
évident que les choses allaient prendre des proportions qui nous dépassaient
et que nous n’allions pas pouvoir honorer les commandes qui ne cessaient d’af-
fluer. Dès le début, il était prévu que les premiers modèles seraient d’abord
pour les programmeurs, reportant à 2012 le lancement en direction du secteur
éducatif. Nous avions un petit nombre de volontaires dévoués, mais nous comp-
tions sur l’ensemble de la communauté Linux pour nous fournir un bouquet de
logiciels et parfaire les petits défauts encore présents dans le circuit avant de
l’offrir au marché de l’enseignement. Nous avions assez de fonds pour acheter
les pièces nécessaires à la construction de 10 000 Raspberry Pi sur une période
d’un mois environ. Nous avions évalué que cela correspondrait à la demande
globale pour ce premier modèle. Mais heureusement, et pour notre malheur
dans un autre sens, nous avions réussi à créer une énorme communauté autour
de l’appareil, et l’intérêt suscité ne se limitait ni au Royaume-Uni, ni au monde
de l’éducation. Le chiffre de 10 000 unités semblait par conséquent de moins
en moins réaliste.
Notre communauté
La communauté Raspberry Pi est l’une des choses dont je suis le plus fier. Nous
avons commencé par un blog basique sur www.raspberrypi.org juste après la vidéo
de Rory en mai 2011. Nous y avons ajouté un forum peu après. On y compte main-
tenant plus de 170 000 membres, avec presque un million de messages postés
et toutes sortes de réflexions autour du Raspberry Pi. Si vous avez une question,
quelle qu’elle soit, peu importe sa difficulté, qu’elle porte sur le Raspberry Pi ou
la programmation en général, quelqu’un vous fournira la réponse (si elle n’est pas
dans ce livre, vous la trouverez sur le forum).
Une partie de mon travail à la Fondation Raspberry Pi consiste à donner des confé-
rences à des groupes de passionnés, des informaticiens, des enseignants, des col-
lectifs de programmeurs, etc. et il se trouve toujours quelqu’un dans l’assistance
© Dunod – Toute reproduction non autorisée est un délit.
qui a eu l’occasion d’échanger avec moi ou Liz ma femme (qui anime la commu-
nauté) sur le site Web Raspberry Pi qui reçoit plus d’une requête par seconde.
Les sites de fans se comptent maintenant par centaines. Pendant des années, il
y a eu un magazine mensuel, produit par des membres de la communauté et qui
s’intitulait The MagPi. On y trouvait plein d’articles, des tutoriels pour mener des
projets à bien, et bien d’autres choses. Il est devenu si populaire que nous l’avons
intégré à la fondation, et il est maintenant disponible en version papier ou en télé-
chargement gratuit sur www.raspberrypi.org/magpi.
Tous les jours, nous publions de nouvelles informations sur le Pi sur www.raspberrypi.org.
Venez prendre part à la conversation…
Introduction /15
Il y avait 100 000 personnes en attente d’un Raspberry Pi dans notre fichier
d’adresses, et toutes ont passé commande dès le premier jour ! Cela n’a bien sûr
pas été sans poser quelques problèmes.
D’abord, il y a eu toutes ces petites coupures qu’on se fait quand il s’agit d’em-
baller 100 000 petits ordinateurs pour les envoyer par la poste, car nous n’avions
absolument pas les moyens d’embaucher des gens pour le faire à notre place.
Nous n’avions pas d’entrepôt, à part le garage de Jack. Rassembler l’argent
nécessaire à l’assemblage de 100 000 unités si rapidement était impossible. Nous
avons bien envisagé de faire des lots de 2 000 tous les quinze jours, mais avec
ce niveau de demande, cela aurait pris tellement de temps que l’appareil serait
devenu obsolète avant même que nous n’ayons fini d’honorer les commandes. À
l’évidence il nous fallait abandonner la fabrication et la distribution à des gens
avec l’infrastructure et le capital nécessaire. Nous avons pris contact avec ele-
ment14 et RS Components, tous deux fournisseurs britanniques en microélectro-
nique et d’envergure internationale. Tandis qu’ils exécutaient leur contrat pour la
production et la distribution, nous pouvions nous concentrer sur le développe-
ment et les objectifs caritatifs de la Fondation Raspberry Pi.
Le premier jour de lancement, la demande était si importante que les sites
des deux compagnies, RS et element14, ont été inaccessibles quasiment toute
la journée, incapables de répondre à la demande (pour element14, la demande
a atteint les sept commandes par seconde). Google a même enregistré pendant
deux heures, dans le monde entier, plus de recherches sur le Raspberry Pi que
sur Lady Gaga. Nous avons produit et vendu plus d’un million de Raspberry Pi
au cours de notre première année, faisant du Raspberry Pi l’ordinateur dont la
croissance a été la plus rapide de tous les temps, à l’échelle mondiale. Et le suc-
cès ne se dément pas : nous produisons plus de 300 000 Raspberry Pi par mois,
et en avons vendu plus de 10 millions en un peu plus de quatre ans, et il n’y a pas
de ralentissement à l’horizon. Si nous en étions restés à nos plans initiaux, nous
aurions construit une centaine de machines pour les journées portes ouvertes de
l’université, et nous en serions restés là.
à noter
16/ Introduction
Je ne connais rien qui fasse monter la pression artérielle comme se retrouver
accidentellement à la tête d’un géant de l’informatique !
l’élan bavard de Noël. Et puis, étant moi-même passionné par la conquête spa-
tiale, entendre dire qu’on va envoyer des Raspberry Pi en orbite proche, avec des
ballons et des fusées, ça me donne des frissons.
Dans la première édition de ce livre, j’écrivais que ce serait une réussite si
chaque année, un millier de nouveaux étudiants s’inscrivaient en informatique
dans les universités du Royaume-Uni. Ce serait non seulement bénéfique pour
le pays, le secteur du logiciel et des composants électroniques, et l’économie,
mais encore plus avantageux pour chacun des étudiants qui, je l’espère, décou-
vriraient tout un monde de possibilités et éprouveraient beaucoup de plaisir. Dans
la deuxième et la troisième édition, j’étais un peu plus ambitieux et je souhai-
tais voir cette expérience trouver un écho dans l’ensemble des pays développés.
Introduction /17
Face à la croissance du Raspberry Pi, je me suis pris d’une ambition plus grande
encore : je veux que chaque enfant, partout, puisse avoir accès à un ordinateur
programmable et libre, qu’il ait les mêmes opportunités d’apprentissage de la
programmation que celles qui m’ont été offertes avec mon micro-ordinateur de
la BBC dans les années 1980. C’est un objectif ambitieux, mais déjà nous voyons
des labos Raspberry Pi éclore dans les endroits les plus improbables, comme ce
labo dans un village du Cameroun, sans réseau électrique, où les Raspberry Pi
sont alimentés grâce à de l’énergie solaire, des générateurs ou des batteries, ou
bien encore ce lycée, perché dans les montagnes du Bhoutan.
Construire un robot quand vous êtes un gamin peut vous mener dans des
contrées inimaginables. Je le sais, car c’est ce qui m’est arrivé !
Eben Upton
Mise en route
1
/> chapitre 1 21
À la découverte du Raspberry Pi
/> chapitre 2 33
Mise en route du Raspberry Pi
/> chapitre 3 55
Administration système Linux
/> chapitre 4 77
Dépannage
/> chapitre 5 85
Configuration du réseau
/> chapitre 6 97
Outil de configuration du Raspberry Pi
Votre carte Raspberry Pi est une merveille de miniaturisation, qui intègre une
puissance de calcul considérable sur une surface pas plus grande qu’une carte de
crédit. Le Pi est capable de réaliser des prouesses, mais avant de vous aventurer
sur cette terre inconnue, il est préférable de commencer par apprendre quelques
petites choses.
Astuce
Figure 1.1 Raspberry Pi 3
(Camera Serial Interface : en français, interface série de caméra), qui fournit une
connexion haut débit pour le module de caméra du Raspberry Pi. Pour plus de
détails sur le port CSI, reportez-vous au chapitre 15.
Une nouvelle fois, le Pi Zéro adopte une autre disposition : aucun port DSI
n’est disponible sur ce modèle de Pi, et un port CSI compact est utilisé à la place
du port que l’on trouve sur les modèles plus grands de Pi. Ce port CSI compact
nécessite l’utilisation d’un câble adaptateur ou d’une carte pour se connecter au
module de caméra du Raspberry Pi. Les premières versions du Pi Zéro n’avaient
pas du tout de port CSI et ne pouvaient donc pas utiliser le module de caméra.
Tout en bas, à gauche de la carte, il y a la prise de courant du Pi. Il s’agit
d’un connecteur micro-USB, du même type que l’on trouve sur la plupart des
Modèle A / B
Les modèles originaux du Raspberry Pi étaient connus sous la dénomination de
modèle A et modèle B (figure 1.2). Les deux cartes avaient le même SoC Broadcom
BCM2835, mais des spécifications différentes : le modèle A avait 256 Mo de RAM,
un port USB et aucune fonctionnalité réseau ; le modèle B avait 256 Mo ou 512 Mo
de RAM selon la date à laquelle il avait été acheté, deux ports USB et un port
réseau filaire 10/100.
Modèle A+ / B+
Les premiers modèles A et B ont eu beaucoup de succès, mais ils ont été rapi-
dement remplacés par une nouvelle carte qui a été désignée sous l’appellation
Plus. Réparties en modèle A+ et modèle B+ (figure 1.3), ces révisions ont inau-
guré le port GPIO à 40 broches, qui est maintenant devenu standard, tout en
améliorant ses différentes fonctionnalités ; ces nouvelles cartes sont cependant
restées fidèles au SoC BCM2835, ce qui signifie qu’il n’y a aucune différence
appréciable dans les performances entre les modèles A+ et B+ par rapport aux
anciens modèles A et B.
© Dunod – Toute reproduction non autorisée est un délit.
Figure 1.3 Raspberry Pi modèle B+
Modèle A+ / B+ /25
La conception matérielle du modèle A+ et du modèle B+ est similaire à celle
des modèles A et B : le modèle A+, qui a un format plus petit que le modèle A, dis-
pose de 256 Mo ou de 512 Mo de mémoire selon la date à laquelle il a été acheté,
d’un port USB et n’a pas de fonctionnalités réseau ; le modèle B+ a 512 Mo de
mémoire, quatre ports USB et un port réseau filaire 10/100.
Les Raspberry Pi modèle A+ et modèle B+ sont compatibles avec tous les
logiciels et les appareils mentionnés dans cet ouvrage, et ils utilisent le même
GPIO à 40 broches que les variantes les plus récentes du Pi. Si vous possédez
actuellement un modèle A+ ou un modèle B+, les seules raisons qui puissent
motiver que vous changiez de carte sont l’amélioration des performances, l’aug-
mentation de la mémoire vive ou bien l’utilisation des fonctionnalités sans fil
intégrées.
Raspberry Pi 2
Tandis que les cartes originelles et les cartes Plus utilisaient le même SoC
BCM2835, le Raspberry Pi 2 (figure 1.4) fut le premier à intégrer un tout nou-
veau processeur : le SoC BCM28360. Doté de quatre cœurs alors que le pre-
mier Pi n’en avait qu’un seul, le BCM2836 offre un gain de performances qui
varie d’un facteur quatre à huit, par rapport à son prédécesseur ; tout est donc
beaucoup plus rapide, que ce soit le traitement de texte ou la compilation du
code. La carte dispose également de 1 Go (1 024 Mo) de RAM, ce qui double la
capacité maximale de la mémoire précédemment disponible ; cela rend donc
les applications multitâches et gourmandes en mémoire plus fluides et plus
réactives.
Figure 1.4 Raspberry Pi 2
Raspberry Pi 3
Le dernier modèle de Raspberry Pi à avoir été lancé, le Raspberry Pi 3
(figure 1.5) s’appuie sur ses prédécesseurs, mais il possède un nouveau pro-
cesseur : le Broadcom BCM2837. Doté pour la première fois de fonctionnalités
64 bits, le BCM2837 est nettement plus rapide que le BCM2836 qui se trouve
dans le Pi 2, qui était lui-même une mise à jour majeure du BCM2835 original. Le
Pi 3 est aussi le premier modèle à prendre en charge le réseau sans fil, avec un
système radio capable de se connecter à des réseaux Wi-Fi à 2,4 GHz ainsi qu’à
des appareils Bluetooth.
© Dunod – Toute reproduction non autorisée est un délit.
Figure 1.5 Raspberry Pi 3
Raspberry Pi 3 /27
de l’acheter pour vous assurer que le logiciel a été écrit en prenant en compte
cette modification.
Outre l’amélioration des performances et l’intégration de fonctionnalités sans
fil, le processeur 64 bits constitue un avantage majeur du Raspberry Pi 3. Bien
qu’il existe peu de logiciels sachant tirer parti de cela à présent, le passage à la
technologie 64 bits promet d’offrir une compatibilité logicielle accrue, une plus
grande sécurité et de meilleures performances par rapport au code 32 bits qui
s’exécute aujourd’hui sur les cartes de la famille Raspberry Pi.
Raspberry Pi Zéro
Le Raspberry Pi Zéro (figure 1.6) se distingue doublement : c’est de loin le
plus petit Raspberry Pi, et c’est aussi le moins cher. Malgré sa taille (à peu près
l’équivalent de deux chewing-gums empilés l’un sur l’autre), il ne lui manque pas
grand-chose : le Pi Zéro a le même SoC BCM2835 et autant de RAM (512 Mo) que
le Raspberry Pi modèle B+, tout en tournant à une vitesse légèrement plus rapide
afin d’améliorer les performances.
Figure 1.6 Raspberry Pi Zéro
Un peu d’histoire
Avant d’aborder le chapitre 2, il est préférable de se familiariser avec certains
aspects du Pi et de sa création. Alors que le Pi est utilisable comme un ordinateur
polyvalent, capable d’effectuer les mêmes tâches que n’importe quel ordinateur
de bureau, ordinateur portable ou serveur (quoique plus lentement), il a été conçu
comme un ordinateur intégré sur une carte destiné aux amateurs dans le cadre
d’un usage éducatif ; en cela, il diffère dans des proportions importantes d’un
ordinateur « normal ».
Maintenant que vous avez compris ce qui différencie le Raspberry Pi des autres
ordinateurs, il est temps de le mettre en route. Si vous venez de recevoir votre Pi,
sortez-le de son sac de protection antistatique et placez-le sur une surface plane
et non conductrice avant de poursuivre la lecture de ce chapitre.
Pour utiliser votre Pi, vous aurez besoin de certains périphériques sup-
plémentaires. Un écran vous permettra de voir ce que vous faites, un clavier
et une souris constituant vos périphériques de saisie. Dans ce chapitre, vous
découvrirez comment connecter ces périphériques au Pi, et apprendrez à éta-
blir une connexion réseau si vous avez un modèle B, B+, Pi 2 ou Pi 3. Vous
apprendrez également à télécharger et à installer un système d’exploitation
pour le Pi.
Connexion de l’écran
Avant de pouvoir commencer à utiliser votre Raspberry Pi, vous devez connec-
ter un écran. Le PI prend en charge trois sorties vidéo différentes : la vidéo com-
posite, la vidéo sur le port HDMI et la vidéo sur le port DSI. La vidéo composite
et la vidéo sur le port HDMI sont faciles à mettre en œuvre et sont décrites dans
cette section, mais la vidéo sur le port DSI requiert certains matériels spécialisés,
comme un écran tactile (voir le chapitre 16).
Connexion Audio
Si vous utilisez le port HDMI du Raspberry Pi, la configuration audio est simple.
Lorsqu’il est correctement configuré, le port HDMI transporte aussi bien le signal
vidéo que le signal audio numérique. Cela signifie que vous pouvez connecter un
seul câble à votre dispositif d’affichage pour profiter du son et des images.
En supposant que vous connectiez le Pi à un écran HDMI standard, vous n’avez
pas grand-chose à faire car il suffit de brancher le câble.
Si vous utilisez le Pi avec un moniteur DVI-D via un adaptateur ou un câble, il
n’y a pas de prise en charge de l’audio. Cela met en évidence la principale diffé-
rence entre les normes HDMI et DVI : une prise HDMI peut transporter des signaux
audio, alors qu’une prise DVI est utilisée exclusivement pour les signaux vidéo.
Si vous avez un moniteur DVI-D, ou un écran ayant une sortie vidéo composite,
la prise jack audiovisuelle 3,5 mm se situe au bas de la carte (figure 2.1). Il s’agit
du même connecteur que celui qui est utilisé pour les casques et les microphones
sur les appareils audio, et il est câblé exactement dans la même prise que celle qui
est employée pour la sortie vidéo composite. Si vous le souhaitez, vous pouvez
simplement connecter des écouteurs sur ce port pour bénéficier rapidement de
la fonctionnalité audio. Si vous cherchez quelque chose de plus permanent, vous
pouvez vous servir de haut-parleurs standards pour PC qui ont un connecteur
3,5 mm ou bien acheter des câbles adaptateurs.
Astuce
Astuce
prendre beaucoup de temps à télécharger ; si vous avez une connexion Internet dont
le volume est plafonné à 1 Go par mois, voire moins, vous ne serez pas en mesure de
télécharger ce fichier. Dans ce cas, investissez dans une carte micro-SD avec NOOBS
préchargé que vous achèterez chez n’importe quel revendeur de R aspberry Pi.
Pour installer NOOBS sur une carte micro-SD vierge, vous devez utiliser
une carte micro-SD ayant au moins une capacité de 8 Go, afin de vous donner
suffisamment d’espace pour installer d’autres logiciels que vous utiliserez sur
le Pi. Vous devez également disposer d’un ordinateur avec un lecteur de carte
1. NdT : on peut traduire littéralement NOOBS par « Nouveau logiciel prêt à l’emploi », mais il y a également
un jeu de mots car, dans l’argot des informaticiens, « noob » désigne un débutant qui attend beaucoup des
autres et ne fait guère d’efforts pour s’en sortir tout seul…
La majorité de ces appareils USB peuvent se connecter au Pi, qu’ils aient ou non
un contenu existant. Pour que le Pi puisse accéder à ces dispositifs, leurs disques
doivent être montés (il s’agit d’un processus qui sera étudié au chapitre 3). Pour
© Dunod – Toute reproduction non autorisée est un délit.
Raccordement au réseau
Alors que la majorité de ces instructions d’installation s’appliquent de la même
manière à tous les modèles de Raspberry Pi, le raccordement au réseau est une
opération à part. Afin de réduire autant que possible le nombre de composants (et
par conséquent le coût), les modèles A, A+ et Pi Zéro ne disposent pas d’interface
réseau. Heureusement, cela ne signifie pas que vous ne pouvez pas raccorder au
réseau ces modèles, mais seulement que vous aurez besoin de certains équipe-
ments supplémentaires pour ce faire.
Dans certains réseaux, il n’y a pas de serveur DHCP pour fournir au Pi une
adresse IP. Lorsque le Pi est connecté à un tel réseau, il doit être configuré
manuellement (voir le chapitre 5 pour en savoir plus sur ce sujet).
Connexion de l’alimentation
Le Raspberry Pi est alimenté par le biais d’un petit connecteur micro-USB qui
se trouve en bas à gauche de la carte (en bas à droite du Raspberry Pi Zéro). Ce
connecteur est le même que celui qui se trouve sur la plupart des smartphones
et de nombreuses tablettes.
De nombreux chargeurs conçus pour les smartphones fonctionnent avec le
Raspberry Pi, mais pas tous. Le Pi demande plus d’énergie que la plupart des péri-
phériques alimentés par une prise micro-USB ; par exemple, le Pi 3 peut néces-
siter un courant de 2 ampères pour fonctionner. Certains chargeurs ne pouvant
fournir qu’un courant maximal de 500 mA, cela provoque des problèmes inter-
mittents dans l’exploitation du Pi (voir le chapitre 4).
Il est possible de relier le Pi au port USB d’un ordinateur portable ou d’un ordi-
nateur de bureau, mais ce n’est pas recommandé. Comme avec les chargeurs les
moins puissants, les ports USB d’un ordinateur ne peuvent pas fournir le cou-
rant nécessaire au bon fonctionnement du Pi. Connectez le câble d’alimenta-
tion micro-USB uniquement lorsque vous êtes prêt à commencer à utiliser le Pi.
Comme il n’y a aucun bouton d’alimentation sur le Pi, il se met en marche dès que
le câble est connecté.
Pour éteindre en toute sécurité le Raspberry Pi, il faut exécuter une commande
>_
shutdown dans la console ou le terminal en saisissant :
sudo shutdown -h now
attendra vos instructions ; si ce n’est pas le cas et que vous allumez le Pi avec une
carte SD vierge, cela provoquera l’affichage d’un écran vide. Dans ce cas, mettez
le Pi hors tension et retirez la carte SD avant de suivre les instructions d’installa-
tion manuelle qui sont décrites dans la section suivante.
Si c’est la première fois que vous exécutez NOOBS sur cette carte micro-SD,
cela prendra un peu de temps car la première partition de la carte SD est redi-
mensionnée afin de faire de la place pour le système d’exploitation que vous avez
choisi ; ne débranchez surtout pas l’alimentation du Pi pendant cette opération,
sinon vous risquez d’endommager votre carte SD.
Si vous ne voyez qu’un écran vide alors que les voyants d’ali-
mentation et d’activité du Pi sont allumés, il est probable
que vous ayez un problème de mode d’affichage. Appuyez
sur la touche 1 du clavier pour sélectionner le mode HDMI
standard, sur la touche 2 pour le mode de secours qui
propose une résolution inférieure, sur la touche 3 si vous
employez le port composite dans un pays où l’on utilise le
standard vidéo PAL ou sur la touche 4 si vous employez
le port composite dans un pays où l’on utilise le standard
vidéo NTSC. Si vous ne savez pas ce qu’il convient de faire,
essayez toutes les options jusqu'à ce que vous trouviez
celle qui fonctionne. Le mode d’affichage choisi sera aussi
répercuté automatiquement sur le système d’exploitation
installé.
Pour plus d’informations sur l’utilisation de NOOBS une fois que le système
d’exploitation a été installé, ou bien pour installer un autre système d’exploi-
tation ou pour modifier les différents paramètres du Pi, reportez-vous au cha-
pitre 7.
// Installation manuelle
L’installation manuelle d’un système d’exploitation est une procédure plus
compliquée que l’utilisation de NOOBS, mais elle est parfois préférable. En instal-
lant le logiciel manuellement, vous pouvez choisir d’installer des systèmes d’ex-
ploitation qui ne sont pas disponibles par le biais de NOOBS ou des versions plus
récentes que NOOBS ne propose pas encore.
Tout d’abord, vous devez choisir la distribution Linux ou tout autre système
d’exploitation que vous souhaitez utiliser avec votre Raspberry Pi. Chaque sys-
tème a ses avantages et ses inconvénients. Ne vous inquiétez pas si vous changez
d’avis plus tard et souhaitez essayer une version différente : vous pouvez écraser
une carte SD et y installer un nouveau système d’exploitation à tout moment et,
si vous le souhaitez, vous pouvez même avoir plusieurs cartes, chaque carte exé-
cutant un système d’exploitation différent.
La liste à jour des versions de Linux compatibles avec le Pi est disponible sur le
site de la Fondation Raspberry Pi : www.raspberrypi.org/downloads.
Mise en garde
© Dunod – Toute reproduction non autorisée est un délit.
3/ Faites
un double-clic sur le fichier Win32DiskImager.exe pour ouvrir le pro-
gramme et cliquez sur l’icône représentant un dossier bleu pour ouvrir une
boîte de dialogue permettant de désigner un fichier.
Mise en garde
Outre les claviers et les autres périphériques d’entrée, vous pouvez connecter
© Dunod – Toute reproduction non autorisée est un délit.
Terme/Concept Définition
Bash Shell le plus populaire, utilisé dans la plupart des distributions
Linux.
Bootloader Logiciel responsable du chargement du noyau Linux. Le plus
utilisé est GRUB.
Console Version du terminal qui est toujours disponible et qui est la pre-
mière chose l’on voit sur le Pi.
Directory Terme Linux qui correspond à ce que Windows appelle dossier
et qui désigne l’emplacement où sont stockés les fichiers.
Distribution Version particulière de Linux. Pidora, Arch et Raspbian sont des
distributions.
Environnement Logiciel pour améliorer l’aspect de l’interface graphique. GNOME
de bureau et KDE sont des environnements de bureau populaires.
Exécutable Fichier qui peut être exécuté en tant que programme. Les fichiers
Linux doivent être marqués comme exécutables afin de pouvoir
être exécutés.
EXT2/3/4 Système de fichiers étendu qui est le système de fichiers le plus
utilisé sous Linux.
Gestionnaire Utilitaire pour assurer le suivi et l’installation des nouveaux
de paquets logiciels.
GNOME Un des environnements de bureau Linux les plus courants.
GNU Projet de logiciel libre, qui fournit un grand nombre des outils
utilisés dans les distributions Linux.
GRUB Bootloader créé par GNU et utilisé pour charger le noyau Linux.
GRUB est l’acronyme de GRand Unified Bootloader.
GUI Acronyme de Graphical User Interface (interface utilisateur
graphique). Environnement dans lequel l’utilisateur exploite
l’ordinateur grâce à une souris ou un écran tactile.
KDE Environnement de bureau Linux qui est aussi très populaire.
Linux À proprement parler, il s’agit du noyau utilisé par GNU/Linux,
mais pour la majorité des gens, cela désigne un système
d’exploitation open source.
teindre un objectif donné sous Linux : via l’interface graphique et par le biais de la
ligne de commande (appelée dans le jargon Linux console ou terminal).
L’apparence des diverses distributions Linux peut être tout à fait différente, en
fonction de l’environnement de bureau qui est exécuté. Dans ce livre, nous utilisons
la distribution Raspbian qui est recommandée par la Fondation Raspberry Pi, mais
la plupart des commandes que vous apprendrez sont saisies dans le terminal et
sont en général identiques dans toutes les distributions.
Quand il y aura des différences entre les distributions, nous vous donnerons des
méthodes alternatives pour atteindre les mêmes objectifs.
Astuce
Mise en garde
Programmation
>> BlueJ Java IDE : puissant environnement de développement intégré (IDE)
écrit spécialement pour le langage de programmation Java.
>> Geany : à mi-chemin entre un éditeur de texte simple et un IDE parfaitement
fonctionnel, Geany est un outil populaire pour écrire des programmes dans
différents langages.
>> Greenfoot Java IDE : environnement de développement intégré (IDE) visuel
pour Java, conçu spécifiquement pour les jeunes utilisateurs et les débu-
tants en programmation.
>> Mathematica : puissant logiciel de calcul issu des mathématiques sym-
boliques et développé par Stephen Wolfram. Toutes les installations de
Raspbian bénéficient d’une licence gratuite pour utiliser ce logiciel qui est
généralement cher.
>> Node-RED : éditeur de flows (flux) basé sur un navigateur pour le framework
Node.JS, conçu pour faciliter le développement de projets matériels et logi-
ciels relativement complexes.
Bureautique
>> LibreOffice Base : partie de la suite LibreOffice décrite au chapitre 9, Base
est un logiciel de base de données équivalent à Microsoft Access.
>> LibreOffice Calc : application de tableur équivalente à Microsoft Excel.
>> LibreOffice Draw : application de dessin vectoriel, équivalente à Microsoft
Visio.
>> LibreOffice Impress : application de diaporama équivalente à Microsoft
PowerPoint.
>> LibreOffice Math : éditeur de formules mathématiques équivalent à l’édi-
teur d’équations de Microsoft.
>> LibreOffice Writer : application de traitement de texte équivalente à Micro-
© Dunod – Toute reproduction non autorisée est un délit.
soft Word.
Internet
>> Claws Mail : client de messagerie puissant, équivalent à Microsoft Outlook.
>> Navigateur Web Chromium : navigateur web, équivalent à Microsoft Edge
ou Internet Explorer.
>> Raspberry Pi resources : raccourci vers des ressources en ligne pour vous
aider à tirer le meilleur parti de votre Raspberry Pi et de Raspbian.
>> The MagPi : raccourci vers la page d’accueil de The MagPi, le magazine offi-
ciel du Raspberry Pi. Chaque numéro de ce mensuel est gratuit et peut être
téléchargé sous la forme d’un document PDF.
Accessoires
>> Calculator : calculatrice scientifique open source, offrant une grande variété
de fonctions permettant des calculs rapides et complexes.
>> Gestionnaire des tâches : affiche les applications ouvertes, les ressources
qu’elles utilisent, et permet, le cas échéant, de mettre fin à une tâche.
>> LXTerminal : paquet permettant d’utiliser la ligne de commande Linux dans
une fenêtre sans quitter l’interface graphique.
>> Ouvrir dans le gestionnaire de fichiers : gestionnaire de fichiers doté d’un
navigateur graphique pour lister les fichiers stockés sur le Pi ou sur n’im-
porte quel périphérique de stockage connecté.
>> PDF Viewer : lit les fichiers PDF, comme les numéros gratuits du magazine
MagPi.
>> SD Card Copier : crée une copie de sauvegarde de votre carte micro-SD à
l’aide d’une carte vierge et d’un lecteur USB de carte micro-SD.
>> Text Editor : éditeur de texte simple, qui est utile pour prendre des notes
rapides ou écrire des programmes simples.
>> Visionneur d’images : permet d’afficher des images, comme celles d’un
appareil photo numérique ou d’un périphérique de stockage connecté.
>> Xarchiver : permet de créer ou d’extraire des fichiers compressés, comme
les archives Zip.
Help
>> Guide de référence pour Debian : guide détaillé de la distribution Linux
Debian et de la manière dont les programmeurs peuvent contribuer à son
développement.
>> Raspberry Pi Help : raccourci vers les ressources conçues pour vous aider
en cas de problèmes avec votre Raspberry Pi.
Préférences
>> Add / Remove software : outil pour installer de nouveaux logiciels ou
désinstaller des logiciels existants (cet utilitaire est étudié plus loin dans ce
chapitre dans la section « Installation et désinstallation de logiciels »).
>> Appearance Settings : boîte à outils pour modifier l’apparence de l’inter-
face utilisateur, y compris le style et la couleur des fenêtres.
Assistance
Linux est conçu pour être aussi convivial que possible pour les nouveaux utilisa-
teurs, même quand on utilise l’invite de commande dans le terminal. Bien que ce
chapitre vous permette de découvrir les façons les plus courantes d’utiliser chaque
commande, toutes les options ne sont pas détaillées car cela nécessiterait un livre
beaucoup plus important.
Si vous vous retrouvez coincé, ou si vous voulez en savoir plus sur les outils qui sont
décrits dans les pages suivantes, vous devez apprendre à utiliser la commande man.
Chaque application Linux est livrée avec un fichier d’aide appelé page de man
(abréviation de « page de manuel »). Cette page fournit des renseignements sur le
logiciel ainsi que des détails sur ses options et la manière de les utiliser.
Pour accéder à la page de man d’un outil donné, il suffit de saisir man suivi du nom
de la commande. Pour voir la page du manuel de la commande ls qui sert à lister le
contenu des répertoires, il suffit de saisir man ls. Vous pouvez également essayer
les liens du menu aide pour voir s’il y a une réponse à votre question.
© Dunod – Toute reproduction non autorisée est un délit.
À partir de la console, les choses sont un peu plus compliquées. Pour rendre
accessible un appareil quand l’environnement de bureau n’est pas chargé, procé-
dez de la manière suivante :
1/ Connectez le périphérique de stockage USB au Pi, soit directement, soit via un
hub USB.
2/ Saisissez sudo fdisk -l pour obtenir une liste des lecteurs connectés au Pi et
trouver le périphérique de stockage USB grâce à sa taille. Notez le nom du péri-
phérique : /dev/sdXN, où X est la lettre du lecteur et N le numéro de la partition.
Si c’est le seul appareil connecté au Pi, son nom sera /dev/sda1.
>_
une seule ligne :
sudo chgrp -R users /media/externaldrive && sudo chmod -R g+w
/media/externaldrive
>_
afin d’accéder à l’appareil et à son contenu :
sudo mount /dev/sdXN /media/externaldrive -o=rw
Astuce
S’il est possible d’utiliser le compte pi, il est préférable de créer votre propre
compte utilisateur. Des comptes supplémentaires peuvent également être créés
pour vos amis ou des membres de la famille qui souhaiteraient se servir du Pi.
La création d’un nouveau compte sur le Raspberry Pi est simple et à peu près
identique sur toutes les distributions, à l’exception du nom d’utilisateur et du mot
de passe qui sont créés par défaut sur le Pi. Pour créer un compte, suivez ces
étapes :
1/ Connectez-vous au Pi en utilisant le compte utilisateur existant (nom d’utili-
sateur pi et mot de passe raspberry si vous utilisez la distribution Raspbian).
>_
2/ Saisissez ce qui suit sur une seule ligne sans espace après les virgules :
sudo useradd -m -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,
users,input,netdev,gpio,i2c,spi nom_utilisateur
Utilisateurs et groupes
Sous Linux, chaque utilisateur possède trois attributs principaux : un ID utilisa-
teur (UID), un ID de groupe (GID) et une liste des appartenances à des groupes
supplémentaires. Un utilisateur peut être membre d’autant de groupes qu’il le
souhaite bien qu’un seul de ces groupes puisse être le groupe principal de l’uti-
lisateur. Il s’agit généralement d’un groupe dont le nom correspond au nom de
l’utilisateur.
L’appartenance aux groupes est importante. Les utilisateurs peuvent bénéficier
d’un accès direct aux fichiers et aux périphériques du système, mais il est plus
courant qu’un utilisateur y ait accès par le biais de l’appartenance à un groupe. Le
groupe audio, par exemple, accorde à tous ses membres la possibilité d’accéder au
matériel de lecture des sons du Pi. Si un utilisateur n’appartient pas à ce groupe, il
ne pourra pas écouter de la musique.
Pour afficher les groupes auxquels un utilisateur appartient, saisissez groups
nom_utilisateur dans un terminal. Si vous saisissez cette commande alors que
vous êtes connecté sous l’utilisateur par défaut, pi, vous verrez alors la liste des
groupes que doit rejoindre tout nouveau membre pour exploiter le Pi. C’est grâce
à cette commande que nous avons trouvé les informations dont nous nous sommes
servis à l’étape 2 de la précédente procédure.
© Dunod – Toute reproduction non autorisée est un délit.
// Organisation logique
La manière dont Linux gère les disques, les fichiers, les dossiers et les lecteurs
diffère quelque peu des autres systèmes d’exploitation. Au lieu d’avoir plusieurs
disques étiquetés avec une lettre, tout apparaît sous la forme d’une branche des-
cendant de ce qu’on appelle le système de fichiers racine.
Les répertoires visibles de la distribution Raspbian sont par défaut les suivants :
>> boot : contient le noyau Linux et les autres paquets nécessaires pour démar-
rer le Pi.
>> bin : contient les fichiers binaires liés au système d’exploitation, tels que
ceux requis pour exécuter l’interface graphique.
>> dev : il s’agit d’un répertoire virtuel, qui n’existe pas réellement sur la carte
SD. Tous les périphériques connectés au système (y compris les périphé-
riques de stockage et la carte son) sont accessibles à partir de cet empla-
cement.
>> etc : stocke différents fichiers de configuration, notamment la liste des uti-
lisateurs et leurs mots de passe cryptés.
>> home : tous les utilisateurs possèdent un sous-répertoire sous ce répertoire
pour stocker leurs fichiers personnels.
>> lib : il s’agit d’un espace de stockage pour les bibliothèques, qui sont des
lignes de code partagées par de nombreuses applications qui en ont besoin.
>> lost+found : il s’agit d’un répertoire spécial où des fragments de fichiers sont
stockés en cas de panne du système.
>> media : il s’agit d’un répertoire spécial pour les périphériques de stockage
amovibles, comme les clés USB ou les lecteurs externes de CD.
// Organisation physique
Bien que la liste précédente décrive la manière dont le système de fichiers se
présente du point de vue du système d’exploitation Linux, ce n’est pas comme
cela qu’il est organisé sur la carte SD. Pour la distribution Raspbian par défaut,
telle qu’elle est installée à partir de l’image officielle, la carte SD est organisée en
deux sections principales, que l’on appelle partitions, car elles divisent la carte
en différentes zones, un peu à la manière dont les chapitres d’un livre facilitent
l’organisation de son contenu.
© Dunod – Toute reproduction non autorisée est un délit.
La première partition du disque est une petite partition (environ 75 Mo) forma-
tée en FAT32, qui est le même format de partition utilisé par Microsoft Windows
pour les lecteurs amovibles. Cette partition est montée, c’est-à-dire rendue
accessible, par Linux dans le répertoire /boot et elle contient tous les fichiers
requis pour configurer le Raspberry Pi et pour charger Linux.
La seconde partition est beaucoup plus grande et formatée en EXT4, un sys-
tème de fichiers spécifique à Linux et conçu pour la sécurité des données et l’ac-
cès à haute vitesse. Cette partition contient la partie principale de la distribution.
Tous les programmes, le bureau, les fichiers des utilisateurs et les logiciels que
vous installez vous-même sont stockés ici. Elle occupe la majeure partie de la
carte SD.
Les logiciels stockés dans les dépôts de la Raspbian sont divisés en catégories,
allant des jeux aux logiciels système. En cliquant sur une catégorie dans la liste
sur la gauche, on affiche les logiciels de cette catégorie dans la fenêtre principale
à droite ; on peut faire défiler cette fenêtre en utilisant le clavier ou la souris. En
cliquant sur le nom d’un logiciel, on affiche plus d’informations sur ce programme,
notamment sa description et sa taille de téléchargement. La zone de recherche
La désinstallation des logiciels est aussi facile que leur installation : il suf-
fit de cliquer sur la case cochée à côté du nom du logiciel que vous souhai-
© Dunod – Toute reproduction non autorisée est un délit.
tez supprimer, puis de cliquer sur le bouton Apply pour le désinstaller. Soyez
conscient, toutefois, qu’il est tout à fait possible de désinstaller de cette
façon-là un logiciel dont vous avez réellement besoin ; il faut donc toujours
vérifier le nom du logiciel que vous voulez désinstaller avant de cliquer sur le
bouton Apply !
Astuce
>_
préférable de saisir le terme recherché en anglais) :
apt-cache search game
Figure 3.6 Affichage des derniers résultats d’une recherche apt-cache sur le terme « game »
Astuce
// Installation de logiciels
Une fois que vous connaissez le nom du paquet à installer, il faut employer
la commande apt-get pour l’installer. L’installation de logiciels est un privilège
accordé uniquement à l’utilisateur root, car cela affecte tous les utilisateurs du
>_
manière suivante :
sudo apt-get install nethack-console
Figure 3.7 Apt demande l’autorisation d’installer les dépendances de paquets dans certains cas
// Désinstallation de logiciels
Si vous décidez que vous ne voulez plus d’un logiciel, apt-get comprend éga-
lement une commande remove qui désinstalle proprement le paquet ainsi que ses
dépendances qui ne sont plus nécessaires. Si vous utilisez une carte SD de petite
>_
suivante :
sudo apt-get remove nethack-console
>_
ceci :
sudo apt-get purge nethack-console
>_
est aussi récent que possible en exécutant une mise à jour :
sudo apt-get update
Lorsque vous effectuez une mise à jour d’un logiciel, vous avez deux possibi-
lités : vous pouvez mettre à jour simultanément tout sur le système ou faire une
mise à niveau des programmes individuellement. Si vous voulez juste mettre à
>_
jour la totalité de votre distribution, il suffit de saisir ce qui suit :
sudo apt-get upgrade
Pour mettre à jour un paquet individuel, il suffit de dire à apt de le réinstaller. Par
>_
exemple, pour installer une mise à jour du paquet nethack-console, saisissez ceci :
sudo apt-get install nethack-console
© Dunod – Toute reproduction non autorisée est un délit.
Si le paquet est déjà installé, apt traitera la commande comme une mise à jour.
Si vous utilisez déjà la dernière version disponible, apt vous dira simplement qu’il
ne peut pas mettre à niveau le logiciel, puis il s’arrêtera.
Astuce
>_
Pour arrêter le Pi en utilisant le terminal, saisissez la commande suivante :
sudo shutdown -h now
Parfois, il arrive que les choses ne se passent pas tout à fait comme prévu. Plus
un appareil est complexe, plus les problèmes qui peuvent se produire sont com-
plexes, et il se trouve que le Pi est un appareil extrêmement complexe.
Heureusement, une grande partie des problèmes les plus courants sont faciles
à diagnostiquer et à résoudre. Dans ce chapitre, vous allez étudier les causes les
plus fréquentes des dysfonctionnements du Pi et voir comment les corriger.
de la quantité de courant que le clavier consomme à partir du port USB quand il est
en cours d’utilisation. Les ports USB du Pi ne sont pas en mesure de fournir autant
d’énergie que ceux d’un ordinateur de bureau ou d’un ordinateur portable. Cela
peut constituer un problème pour les claviers disposant d’un éclairage à LED, qui
exigent beaucoup plus de puissance pour fonctionner qu’un simple clavier standard.
Si vous trouvez que votre clavier USB consomme trop de courant, essayez de le
brancher sur un hub USB alimenté au lieu de le connecter directement au Pi. Cela
permet au clavier de s’alimenter sur le bloc d’alimentation du hub, plutôt que sur le
Pi lui-même. Vous pouvez également changer de clavier et opter pour un modèle
consommant moins de courant. Le problème de la répétition des lettres peut aussi
provenir d’une alimentation qui n’est pas adaptée pour le Pi, et nous traiterons cette
question dans la section suivante, « Diagnostics de l’alimentation ».
Diagnostics de l’alimentation
Beaucoup de problèmes rencontrés avec le Raspberry Pi proviennent d’une
alimentation inadaptée. Alors que le modèle A ne consomme qu’un maximum de
500 mA, le Raspberry Pi 3, qui a de bien meilleures performances, peut consommer
jusqu’à 1 200 mA (1,2 A), un chiffre qui augmente encore si l’on rajoute des acces-
soires. Tous les adaptateurs USB ne sont pas conçus pour offrir une telle énergie,
même si leurs caractéristiques techniques prétendent par ailleurs le contraire.
Astuce
Mise en garde
Un câble USB adapté à votre wattmètre USB doit être connecté à l’entrée USB
du wattmètre et un câble micro-USB doit être connecté depuis sa sortie au Ras-
pberry Pi. Lorsqu’il est connecté à l’alimentation, le wattmètre USB commence à
afficher les statistiques sur la qualité de l’alimentation. Ces statistiques incluent
© Dunod – Toute reproduction non autorisée est un délit.
La mesure du courant peut être utilisée pour déterminer si vous êtes proche de la
limite supérieure de la sortie de votre alimentation. Si l’affichage indique « 0,62 A »,
par exemple, cela signifie que vous consommez actuellement 620 mA (milliampères,
c’est-à-dire des millièmes d’un ampère), ce qui est au-dessus de la puissance nomi-
nale d’une alimentation de 500 mA, mais reste bien inférieur à la limite de sécurité
de 1 A. En fonctionnement normal, le Raspberry Pi devrait consommer moins de
500 mA, mais ce chiffre peut augmenter si vous connectez un matériel supplémen-
taire, comme un dongle Wi-Fi, un afficheur, ou un clavier et une souris sans fil. Un
wattmètre USB est la manière la plus simple de contrôler le courant utilisé.
Diagnostics de l’affichage
Bien que le Pi soit conçu pour fonctionner avec presque n’importe quel péri-
phérique d’affichage HDMI, DVI ou vidéo composite, il est possible que tout ne
se passe pas comme prévu lorsque vous le branchez. Par exemple, il se peut que
l’image soit décalée sur le côté, pas complètement visible, ou bien ne soit visible
qu’au format timbre-poste au milieu de l’écran ou en noir et blanc, voire qu’elle
ne s’affiche pas du tout.
Tout d’abord, vérifiez le type de périphérique auquel est connecté le Pi. Ceci est
particulièrement important lorsque vous utilisez la connexion composite pour bran-
cher le Pi sur un téléviseur. Les pays utilisent des normes différentes pour la télévision,
ce qui signifie qu’un Pi configuré pour un pays peut ne pas fonctionner dans un autre
pays. C’est en général l’explication la plus plausible quand un Pi affiche une vidéo en
noir et blanc. Vous découvrirez comment modifier ce paramètre au chapitre 7.
Lorsque vous utilisez la sortie HDMI, le type d’affichage est généralement
automatiquement détecté. Si vous utilisez un adaptateur DVI vers HDMI ou VGA
Diagnostics de démarrage
La cause la plus fréquente de l’échec du démarrage d’un Pi est un problème
avec la carte SD (ou micro-SD). Contrairement à un ordinateur classique, le Pi se
sert des fichiers stockés sur la carte SD pour tout. Si le Pi ne peut pas communi-
quer avec la carte, il n’affichera rien à l’écran ou ne montrera aucun signe de vie.
Si la diode PWR (alimentation) du Pi s’allume lorsque vous connectez le câble
d’alimentation micro-USB, mais que rien ne se passe et que la diode ACT (activité)
ne clignote pas pour indiquer l’accès aux données, vous avez très probablement
un problème de carte SD. Tout d’abord, assurez-vous que cette carte fonctionne
lorsque vous la connectez à un PC et qu’il affiche les partitions et les fichiers qui
sont censés se trouver sur une carte correctement flashée (pour plus de détails
sur la préparation de la carte SD, reportez-vous au chapitre 3, en particulier la
section intitulée « Organisation du système de fichiers »).
Si la carte fonctionne sur un PC, mais pas sur le Pi, il peut s’agir d’un pro-
blème de compatibilité. Certaines cartes SD ne fonctionnent pas correctement
lorsqu’elles sont connectées à l’interface de carte SD du Pi. Vous trouverez une
liste des cartes certifiées pour être compatibles avec le Pi sur le wiki d’eLinux à
elinux.org/RPi_SD_cards.
© Dunod – Toute reproduction non autorisée est un délit.
>_
Pour une utilisation basique, saisissez simplement le nom de l’outil dans le terminal :
ifconfig
Exécutée de cette manière, ifconfig fournit des informations sur tous les
ports réseau qu’il peut trouver (figure 4.2). Pour les modèles Raspberry Pi B, B+
et 2, il y a deux ports : le port Ethernet physique sur le côté droit de la carte et une
interface de bouclage virtuel qui permet aux programmes du Pi de communiquer
entre eux. Le Raspberry Pi 3 possède un troisième port qui représente l’adapta-
teur réseau sans fil intégré.
réseau.
Si vous rencontrez des problèmes réseau avec le Pi, essayez tout d’abord de
désactiver, puis de réactiver l’interface réseau. La meilleure façon de réaliser cela
est d’employer deux outils appelés ifup et ifdown.
Si le réseau est activé, mais ne fonctionne pas correctement (par exemple, si
ifconfig ne liste rien dans la section inet addr), commencez par désactiver le
>_
port réseau. Depuis le terminal, saisissez la commande suivante :
sudo ifdown eth0
Une fois que le réseau est désactivé, assurez-vous que le câble est correcte-
ment inséré aux deux extrémités et que le périphérique réseau connecté au Pi
>_
face avec la commande suivante :
sudo ifup eth0
Figure 4.3 Résultat d’un test réussi de connexion réseau, à l’aide de la commande sudo ping
/> Chapitre
Configuration
du réseau
5
Remarque
Cette fenêtre de configuration offre plusieurs options. Vous n’avez pas besoin
de remplir tous les champs pour activer le réseau filaire. Contentez-vous de rem-
plir le maximum de champs que vous pouvez en vous aidant des informations
suivantes :
>> Adresse IP : adresse IP fixe que vous voulez assigner au Pi. C’est un para-
mètre obligatoire qui ne peut pas rester vide.
>> Router (sic) : adresse IP de votre routeur ou de toute autre passerelle réseau.
Si le champ est vide, votre Pi ne pourra pas se connecter à d’autres ordina-
teurs sur votre réseau local, et ne pourra pas non plus accéder à Internet.
>> DNS Servers : adresses IP d’un ou plusieurs serveurs DNS (Domain Name
System, ou système de nom domaine), utilisées pour convertir les noms de
domaine en adresses IP des serveurs Web des sites. Si vous ne connaissez
pas les adresses des serveurs DNS de votre FAI, et que vous n’utilisez pas
les serveurs DNS locaux, saisissez 8.8.8.8 et 8.8.8.4, en les séparant par un
espace pour utiliser les serveurs DNS publics de Google.
>> DNS recherche : suffixe de recherche qui doit être appliqué aux recherches
DNS pour les noms locaux. Pour la plupart des réseaux domestiques, il s’agit
>_
console de Raspbian et saisissez la commande suivante :
sudo nano /etc/dhcpcd.conf
Cette commande lance l’éditeur de texte nano (puissant, mais facile à utiliser)
avec les permissions de l’utilisateur root (super-utilisateur) et demande d’ouvrir le
fichier dhcpcd.conf situé dans le répertoire /etc pour le modifier (figure 5.2). Ce
fichier est un fichier de configuration (d’où l’extension de fichier .conf) du DHCPCD
(dynamic host configuration protocol client daemon) qui contrôle la manière dont
le Raspberry Pi obtient ses informations réseau : par défaut, il est configuré pour
interroger un serveur DHCP sur le réseau afin d’obtenir des informations de confi-
guration de manière dynamique, mais il peut également être modifié pour que l’on
puisse saisir manuellement des informations de configuration.
© Dunod – Toute reproduction non autorisée est un délit.
_
static domain_name_servers=8.8.8.8 8.8.4.4
static domain_search=local
Si vous étiez connecté au Pi via SSH (Secure Shell) et que vous avez changé
son adresse IP, vous serez déconnecté. Patientez quelques instants pour que le Pi
retrouve sa configuration réseau et puisse se reconnecter en utilisant la nouvelle
adresse IP que vous avez configurée.
// Test de connexion
Lorsque vous avez fini de configurer vos nouveaux paramètres réseau, vous
pouvez les tester. La meilleure façon de le faire consiste à ouvrir un navigateur
Web et à tenter de visiter un site Web ; si le site s’affiche, cela signifie que votre
connexion réseau fonctionne correctement.
Vous pouvez également tester votre connexion réseau à partir de la ligne de
commande. Si vous n’êtes pas déjà dans une console, ouvrez une fenêtre de ter-
minal et saisissez la commande suivante :
particulier, car certaines cartes ne prennent en charge que des systèmes d’exploi-
tation spécifiques, comme Microsoft Windows.
Astuce
La clé du réseau, également connue sous le nom de clé PSK (pre-shared key,
en français clé pré-partagée), est un secret partagé entre tous les appareils ayant
accès au réseau. Si vous vous connectez au routeur sans fil de votre fournisseur
d’accès à Internet (FAI), la clé du réseau sans fil se trouve en général sur le rou-
teur ou bien sur une carte fournie avec le retour. Sinon, demandez la clé à la per-
sonne qui est en charge du réseau sans fil. Assurez-vous de saisir correctement
le mot de passe en n’oubliant pas que les mots de passe font la différence entre
les majuscules et les minuscules, ce qui signifie que vous devez saisir exactement
la clé comme elle est écrite afin de vous connecter.
Lorsque vous avez saisi le bon mot de passe, cliquez sur OK. Si vous recevez
un message d’erreur, contrôlez la clé de votre réseau et vérifiez que vous tentez
de vous connecter au bon réseau : en ville, il peut y avoir des dizaines de réseaux
à proximité, et de nombreux FAI ont des SSID génériques qui sont difficiles à
distinguer.
Pour tester votre connexion, reportez-vous à la section « Test de connexion »,
plus haut dans ce chapitre.
© Dunod – Toute reproduction non autorisée est un délit.
>_
page-écran, de la manière suivante :
sudo iwlist scan | less
>_
la commande :
iwconfig
La configuration des réseaux sans fil sur le Pi est gérée à l’aide d’un outil appelé
wpasupplicant. Grâce à wpasupplicant, vous pouvez connecter le Pi à presque
tous les réseaux sans fil, indépendamment de leur système de protection, qu’il
s’agisse de WPA ou de WPA2, en mode AES (Advanced Encryption Standard) ou
TKIP (Temporal Key Integrity Protocol). En dépit de son nom, wpasupplicant per-
met également la connexion aux réseaux sans fil à l’aide de l’ancien protocole de
cryptage WEP.
Ouvrez le fichier de configuration wpasupplicant en saisissant la commande
>_
suivante :
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Entrez les deux lignes suivantes, qui sont les mêmes pour tout type de réseau
sans fil. Remplacez Votre_SSID par le SSID du réseau sans fil auquel vous voulez
vous connecter et terminez ensuite le fichier par les lignes qui correspondent au
type de cryptage de votre réseau :
Network={}
[Tab] ssid="Votre_SSID"
À cet endroit du fichier de configuration, les détails nécessaires diffèrent selon
le type de réseau sans fil que vous êtes en train de configurer. Les sous-sections
suivantes fournissent des indications pour terminer la configuration de réseaux
non cryptés, WEP et WPA.
À noter
Cryptage WEP
Si votre réseau sans fil utilise le cryptage WEP, terminez le fichier wpa_supplicant.
conf de la manière suivante :
[Tab] key_mgmt=NONE
[Tab] wep_key0="Votre_cle_WEP"
}
Remplacez Votre_cle_WEP par la clé de cryptage de votre réseau sans fil WEP.
Enregistrez le fichier avec la combinaison Ctrl + O, puis quittez nano en appuyant
sur les touches Ctrl + X.
Astuce
Cryptage WPA/WPA2
Si votre réseau sans fil utilise le cryptage WPA ou WPA2, terminez le fichier
wpa_supplicant.conf de la manière suivante :
[Tab] key_mgmt=WPA-PSK
[Tab] psk="Votre_cle_WPA"
}
© Dunod – Toute reproduction non autorisée est un délit.
>_
redémarrer, saisissez :
sudo ifup wlan0
Pour vous assurer que le réseau est opérationnel, débranchez le câble Ethernet
>_
du Pi (s’il est branché) et saisissez la commande suivante :
sudo ping -c 1 www.raspberrypi.org
Astuce
Mise en garde
>_
suivante :
sudo raspi-config
Astuce
Onglet système
La fenêtre de l’outil Configuration du Raspberry Pi est divisée en quatre
onglets : Système, Interfaces, Performance et Localisation. L’onglet par défaut
est l’onglet Système (figure 6.1), qui fournit toute une série d’utilitaires de confi-
guration du système d’exploitation pour paramétrer la distribution Raspbian selon
vos besoins. Vous pouvez naviguer dans la fenêtre à l’aide de la souris : cliquez sur
n’importe quel bouton pour exécuter une commande, cliquez sur les zones de
texte pour modifier leur contenu ou cliquez sur les boutons radio pour activer ou
désactiver des paramètres.
Le menu Système est divisé en huit sous-sections qui sont décrites ci-dessous.
// Système de fichier
La première option, Étendre le système de fichier, offre la possibilité
d’augmenter le système de fichiers de Raspbian pour qu’il occupe tout l’espace
disponible de la carte SD. Si vous avez installé Raspbian par l’intermédiaire
de NOOBS, cette étape a déjà été réalisée à votre place et vous pouvez donc
l’ignorer.
Pour exécuter l’expansion du système de fichiers, cliquez sur le bouton
Étendre le système de fichier. Cela est nécessaire uniquement si vous avez ins-
tallé manuellement Raspbian sur votre carte micro-SD. Une fois que l’opération
de redimensionnement est terminée, vous devez redémarrer le Pi pour que la
modification soit prise en compte.
Sur les cartes ayant une grande capacité ou bien sur les cartes lentes, l’opéra-
tion de redimensionnement peut prendre un peu de temps. Il est important de ne
pas solliciter le Pi pour d’autres tâches pendant ce processus, car si l’alimentation
© Dunod – Toute reproduction non autorisée est un délit.
// Mot de passe
Par défaut, Raspbian comprend, à part le compte root, un seul compte utili-
sateur nommé pi. Ce compte, qui est utilisé pour le fonctionnement quotidien
du Pi, a pour mot de passe par défaut raspberry. Bien que ce mot de passe
convienne très bien pour un usage privé, il n’en va pas de même si votre Pi
est connecté à un réseau accessible au public, notamment un hotspot Wi-Fi ou
// Hostname
Le hostname (nom d’hôte) d’un système est le nom qu’il utilise pour s’identi-
fier sur le réseau. Lorsque vous utilisez la console ou le terminal sur un Pi, vous
voyez le nom d’hôte car il figure dans l’invite de commandes. Le nom d’hôte doit
être unique, ce qui peut poser un problème si vous avez plusieurs Raspberry
Pi sur le réseau. Vous pouvez modifier le nom d’hôte du Pi à tout moment en
saisissant un nouveau nom dans la section Hostname de l’outil Configuration
de Raspberry Pi.
Lorsque vous saisissez un nouveau nom d’hôte dans la zone de texte, vous
devez connaître les règles de nommage des noms d’hôtes. Comme les noms
d’hôtes doivent se conformer à un standard international (un groupe de règles
appelé Request For Comments ou RFC), certains caractères sont interdits ; par
exemple, un nom d’hôte doit contenir uniquement des lettres et des chiffres,
même s’il peut inclure des traits d’union tant qu’ils ne sont pas au début ou à la
fin du nom ; en outre, il ne peut pas inclure d’espaces.
Vous pouvez opter pour un nom d’hôte descriptif, comme pi-du-salon, ou bien
nommer vos appareils en vous basant sur un thème (par exemple, les films de
science-fiction). Vous pouvez confirmer votre modification en cliquant sur le bou-
ton OK, mais le nouveau nom d’hôte n’entrera pas en vigueur tant que le Pi n’aura
pas redémarré.
// Boot
Normalement, Raspbian se charge dans l’interface utilisateur graphique qui
est appelée Bureau. Cette configuration garantit que le Pi est prêt à être utilisé
aussi vite que possible par les débutants. Cependant, de nombreux utilisateurs se
servent quotidiennement du Pi (notamment comme serveur Web ou pour enregis-
trer des vidéos ou des photos avec le module de caméra) en n’employant que la
console en mode texte ; ils n’ont donc pas besoin de charger l’interface utilisateur
graphique du bureau, ce qui diminue le temps nécessaire pour démarrer le Pi et
réduit la quantité de mémoire en ne chargeant pas un logiciel qui n’est pas utilisé.
// Connexion automatique
Par défaut, Raspbian vous connecte automatiquement en tant qu’utilisateur
pi au démarrage du système. Cette fonctionnalité rend le Pi prêt à l’emploi plus
rapidement, car vous n’avez pas besoin d’ouvrir une session, mais elle présente
également un problème de sécurité potentiel si vous utilisez votre Pi dans un
environnement partagé.
Si vous décochez la case Se connecter en tant que ‘pi’, vous devrez saisir
un nom d’utilisateur et un mot de passe chaque fois que vous allumerez le Pi ou
le redémarrerez. Il est préférable d’utiliser cette fonctionnalité en combinaison
avec l’option de changement de mot de passe : en effet, il n’y a nul besoin d’être
un hacker chevronné pour tenter de se connecter à un Raspberry Pi en testant le
nom d’utilisateur par défaut, pi, et son mot de passe, raspberry !
// Network at boot
Afin que le Pi soit opérationnel aussi vite que possible, Raspbian n’attend pas
que la connexion réseau soit effective pour poursuivre le processus de démar-
rage. Normalement, cela convient dans la majorité des cas, mais si vous utilisez
votre Pi pour fournir certains services réseau, cela peut poser des problèmes avec
les applications qui se chargent au démarrage et attendent une connexion réseau
qui n’est pas encore prête.
Pour résoudre ce problème, il suffit de cocher la case Attendre la connexion
internet. Vous devez cependant être conscient que cela va retarder le processus
de démarrage si un réseau n’est pas disponible.
// Splash screen
Par défaut, l’option Splash Screen (écran d’accueil) est activée. Cette
© Dunod – Toute reproduction non autorisée est un délit.
// Overscan
De nombreux téléviseurs possèdent une fonctionnalité d’overscan, ce qui signi-
fie que la zone d’image visible est légèrement plus petite que l’image transmise.
Quand on diffuse une émission de télé, cela est souvent utilisé pour masquer des
informations supplémentaires, comme le minutage, mais sur un ordinateur cela
Onglet Interfaces
L’onglet suivant de l’outil Configuration du Raspberry Pi, Interfaces, permet
d’activer ou de désactiver différentes interfaces additionnelles, matérielles ou
logicielles, qui augmentent les fonctionnalités du Pi (figure 6.2). Cela est en géné-
ral nécessaire si vous ajoutez de nouveaux matériels au Pi, notamment par le biais
des ports CSI ou GPIO ; en général, la documentation fournie avec votre nou-
veau matériel vous dira s’il faut activer l’interface qui est désactivée par défaut.
Vous pouvez activer ou désactiver n’importe quelle interface en cliquant sur la
case d’option adéquate à côté de son nom, mais le changement ne sera effectif
qu’après le redémarrage du Pi.
// Caméra
Activez cette interface uniquement si vous avez un module de caméra Rasp-
berry Pi (voir le chapitre 15) relié à votre système. Si vous enlevez le module de
caméra de votre Raspberry Pi, vous pouvez désactiver cette option, mais cela
n’est pas nécessaire, car le fait d’avoir un Raspberry Pi configuré pour une caméra
qui n’est pas connectée ne pose aucun problème.
// SSH
Le protocole SSH (Secure Shell) offre la possibilité d’utiliser le terminal du Pi
sur un réseau, en créant une connexion cryptée entre le Pi et n’importe quel autre
ordinateur capable d’exécuter un client SSH. Cette fonctionnalité peut même être
utilisée pour contrôler un Pi qui n’a pas d’écran ou de clavier, ou pour transférer
des fichiers entre le Pi et un ordinateur.
Par défaut, le serveur SSH du Raspberry Pi n’est pas activé car cela réduit le
risque que votre système soit attaqué sur un réseau partagé. Si vous activez le
serveur SSH, n’oubliez pas de changer le mot de passe par défaut dans l’onglet
Système afin de protéger votre Pi ! Si vous ne le faites pas, une boîte de dialogue
au démarrage du Pi vous le rappellera.
// VNC
VNC (Virtual Network Computing) est un outil qui permet de contrôler à dis-
© Dunod – Toute reproduction non autorisée est un délit.
tance votre Pi. En activant cette option, vous allez installer sur le Pi un serveur
VNC qui apparaîtra dans la barre des tâches en haut à droite de l’écran. En
cliquant sur l’icône du serveur VNC, vous obtiendrez l’adresse IP du Raspberry
Pi sur le réseau ainsi que des indications sur la manière de vous connecter à dis-
tance à votre Pi. Pour ce faire, il faudra installer sur l’ordinateur distant un client
VNC. Raspbian recommande d’utiliser VNC Viewer que vous pouvez télécharger
à www.realvnc.com. Après avoir installé le client VNC sur votre ordinateur (le
client VNC existe sous Windows, OS X ou Linux), il suffit de saisir l’adresse IP de
votre Pi pour voir apparaître son interface dans une fenêtre. À la différence de
SSH, vous pouvez contrôler à distance votre Pi en mode graphique, ce qui est
beaucoup plus simple pour les débutants. Vous n’avez pas non plus besoin que
// SPI
L’interface SPI (Serial Peripheral Interface) est un standard de communication
utilisé par le Pi pour communiquer avec des périphériques externes via le port
GPIO (voir le chapitre 14). Plusieurs cartes additionnelles pour le Raspberry Pi
nécessitent la prise en charge du protocole SPI ; vérifiez la documentation four-
nie avec votre matériel pour voir si vous avez besoin d’activer manuellement la
prise en charge de SPI par le biais de l’outil Configuration du Raspberry Pi ou si le
fabricant du matériel a un script d’installation qui réalise cela automatiquement.
// I²C
L’interface I²C (Inter-Integrated Circuit) est similaire à SPI, en ce sens où elle
est utilisée pour communiquer avec des périphériques externes via le port GPIO.
En général, les cartes additionnelles qui n’utilisent pas SPI emploient à la place
I 2C. Comme pour SPI, consultez la documentation fournie avec votre matériel
pour voir si vous avez besoin d’activer manuellement la prise en charge de I²C par
le biais de l’outil Configuration du Raspberry Pi ou si le fabricant du matériel a un
script d’installation qui réalise cela automatiquement.
// Série
Par défaut, le Raspberry Pi utilise la connexion série du port GPIO pour fournir
un terminal auquel vous pouvez vous connecter et contrôler le Pi sans qu’un écran
soit relié. Certaines cartes additionnelles utilisent cette connexion série à d’autres
fins, notamment pour piloter un moniteur externe, auquel cas l’interface série a
besoin d’être désactivée. Avant de la désactiver, vous devez cependant vérifier
la documentation de votre matériel ; certaines cartes nécessitent que l’interface
soit désactivée complètement, alors que d’autres exigent simplement des modi-
fications de la configuration.
// 1-wire
L’interface 1-Wire est aussi une alternative à I2C et SPI, qui permet de commu-
niquer avec des capteurs et d’autres matériels externes. En général, l’interface
1-Wire est utilisée pour connecter des capteurs simples, comme des dispositifs de
lecture de température ou d’humidité de l’environnement qui sont directement
branchés sur le Raspberry Pi car on emploie rarement ce type de capteur sur les
cartes additionnelles. Si vous utilisez des appareils compatibles 1-Wire avec le
port GPIO du Pi, assurez-vous d’activer la fonctionnalité dans cette fenêtre.
// Remote GPIO
L’option Remote GPIO, comme son nom le laisse supposer (remote signifie
distant en anglais), est une fonctionnalité qui permet d’accéder aux broches du
Onglet Performance
L’onglet Performance de l’outil Configuration du Raspberry Pi fournit des
paramètres pour augmenter la puissance de calcul du Pi grâce à une opéra-
tion d’overclocking de son processeur ou bien en augmentant la mémoire GPU
(figure 6.3). Cela peut aider votre Pi à gagner un peu de puissance, mais cette
opération n’est pas sans risques.
// Overclock
L’overclocking désigne le processus qui consiste à faire tourner un appareil à
© Dunod – Toute reproduction non autorisée est un délit.
une vitesse supérieure à celle qui a été prévue par son fabricant. Le processeur
du Raspberry Pi peut ainsi être exécuté à une vitesse supérieure à sa vitesse par
défaut pour améliorer les performances du système. Cette amélioration des per-
formances a cependant un prix, car la puce va chauffer plus qu’avant, consommer
plus de courant, ce qui risque d’écourter sa durée de vie par rapport à celle d’un
Pi fonctionnant à vitesse normale.
Bien qu’il soit possible de modifier les performances du processeur manuel-
lement (voir le chapitre 7), le moyen le plus sûr pour ce faire est d’utiliser l’outil
Configuration du Raspberry Pi. Cela vous limite à une sélection de paramètres
préconfigurés d’overclocking qui sont réputés pour être sans danger pour la plu-
part des Raspberry Pi. Les paramètres particuliers qui apparaissent dépendent
Mise en garde
Pour overclocker votre Raspberry Pi, cliquez dans la liste déroulante de la sec-
tion Overclock et choisissez une valeur. La vitesse par défaut de votre modèle
de Raspberry Pi est indiquée avec la mention Aucun. Les vitesses plus élevées
mentionnent la dangerosité de l’overclocking que vous voulez tenter.
Si vous voulez essayer d’overclocker votre Pi, cliquez sur une des options plus
rapides dans la liste déroulante. Selon votre modèle, vous pouvez avoir le choix
entre les paramètres Faible, Moyen, Haut et Turbo. Presque tous les modèles
de Raspberry Pi devraient être en mesure d’utiliser le paramètre Faible, qui se
contente d’augmenter faiblement la vitesse d’horloge du processeur. De nom-
breux modèles seront également en mesure d’utiliser le paramètre Moyen, qui
augmente la tension appliquée au processeur pour atteindre des vitesses plus
élevées et augmente aussi la vitesse de la mémoire.
Les deux derniers paramètres peuvent ne pas fonctionner sur tous les modèles
de Raspberry Pi. Le SoC au cœur du Raspberry Pi est un circuit complexe qui se
distingue par sa capacité à être overclocké de manière individuelle, deux Pi pro-
venant du même lot pouvant ne pas supporter les mêmes valeurs d’overclocking.
Si vous souhaitez utiliser le mode Turbo, assurez-vous de commencer par faire
une sauvegarde de tous vos fichiers importants stockés sur la carte SD. Si vous
commencez à avoir des problèmes, diminuez la vitesse de l’overclock et les choses
devraient revenir à la normale.
Toutes les modifications apportées dans la section Performance ne prennent
effet que lorsque le Pi redémarre. Si vous sélectionnez une vitesse plus élevée que
le Pi ne tolère, il est possible qu’il ne démarre pas correctement. Si vous constatez
que votre Pi affiche un écran noir lors du démarrage ou bien redémarre constam-
ment sans vous inviter à vous connecter, vous avez choisi une vitesse trop éle-
vée. Dans ce cas-là, maintenez la touche Maj enfoncée quand le Pi démarre ; cela
ignore temporairement le paramètre d’overclocking, et le système est chargé avec
sa vitesse par défaut. Une fois que le Pi est démarré, relâchez la touche Maj et
connectez-vous. Lancez l’outil Configuration du Raspberry Pi, puis cliquez sur l’on-
glet Performance pour choisir dans la section Overclock un paramètre plus prudent.
Onglet localisation
L’onglet Localisation (adaptation aux contraintes locales) offre la possibilité
© Dunod – Toute reproduction non autorisée est un délit.
// Localisation
En cliquant sur le bouton Régler la localisation, vous allez pouvoir choisir la
langue, le pays et le jeu de caractères qui vous conviennent. Vous pouvez consta-
ter qu’il est possible de paramétrer le Pi pour de nombreuses langues.
Langue
Chaque langue dans le menu déroulant est désignée d’une manière particu-
lière. Les lettres au début sont le code de la langue qui est utilisé par le système
d’exploitation, le nom entre parenthèses étant un nom convivial qui représente la
langue. Faites défiler la liste avec votre souris et cliquez ensuite sur la langue que
vous voulez que le Pi utilise par défaut.
Pays
Le paramètre de langue est indépendant du réglage du pays ; Il est possible
de choisir une langue comme le gaélique avec un pays où il est rarement parlé,
comme le Botswana. Utilisez la souris pour choisir le pays dans lequel vous résidez
et cliquez sur votre choix ; cela personnalisera le système d’exploitation en fonc-
tion du pays choisi et modifiera notamment la façon dont s’affichent les valeurs
monétaires.
Character set
Chaque langue sur un ordinateur a un ou plusieurs jeux de caractères qui lui
sont associés. Il s’agit de la liste des lettres, chiffres et symboles qui peuvent
être affichés dans cette langue. La plupart des langues disposent de plusieurs
options, mais la majorité des utilisateurs ne devront sélectionner qu’un seul jeu
de caractères : UTF-8 (Unicode Transformation Format sur 8 bits) qui est la norme
de codage la plus courante et la plus compatible.
Confirmez vos sélections dans ces sous-menus avec le bouton OK de la fenêtre
Localisation, puis confirmez-les dans la fenêtre Configuration du Raspberry Pi
en cliquant sur le bouton Valider. Comme avec la plupart des paramètres, ils ne
seront effectifs que lorsque vous aurez redémarré le Pi.
// Fuseau horaire
L’horloge système du Raspberry Pi est réglée par défaut sur le temps universel.
Si vous habitez dans un autre fuseau horaire, votre Pi affichera une heure qui est
fausse. En cliquant sur le bouton Régler le fuseau horaire, vous faites apparaître
une seconde fenêtre avec deux autres options : Area et Location.
Area (zone)
Cette liste déroulante répertorie les zones géographiques comme l’Atlan-
tique, les États-Unis et l’Europe. Utilisez les touches de curseur pour sélection-
ner votre zone, puis appuyez sur la touche Entrée. La liste comprend également
des options qui ne sont pas géographiques, et qui offrent la possibilité de définir
directement les fuseaux horaires (par exemple, EST, CET et GMT) ; ceux-ci seront
plus facilement visibles si vous sélectionnez l’option générique Etc qui affichera la
liste chronologique des fuseaux horaires dans la liste déroulante Location. Faites
défiler la liste avec votre souris et cliquez sur le fuseau horaire qui convient pour
le sélectionner.
Location (emplacement)
Si vous sélectionnez une zone géographique, la liste Location affichera une
liste des villes de cette région. Si votre ville n’apparaît pas, recherchez les grandes
© Dunod – Toute reproduction non autorisée est un délit.
villes voisines et choisissez l’une d’entre elles. Si l’option Etc a été sélectionnée
dans la liste déroulante, la section Location affiche une liste de fuseaux horaires
que vous pouvez sélectionner manuellement. Vous noterez toutefois que le sys-
tème ne sait pas ajuster automatiquement l’horloge système en fonction des
changements d’heure d’été et d’hiver.
// Clavier
La section Clavier contrôle une des options les plus importantes du menu d’in-
ternationalisation : elle vous permet de modifier la disposition de votre clavier. Par
défaut, le Pi est configuré pour gérer un clavier anglais britannique dans la dispo-
sition QWERTY standard. Si vous utilisez une configuration de clavier différente,
Pays
Dans la section Country de la fenêtre de configuration de clavier, cliquez soit
sur le pays dans lequel vous résidez, soit sur le pays dans lequel la disposition de
votre clavier représente la langue principale.
Variante
Quand vous avez sélectionné un pays, consultez la liste des variantes dans
la liste de droite et sélectionnez celle qui correspond le plus à la disposition
de votre clavier. Si vous n’êtes pas sûr, cliquez sur la valeur qui vous paraît
convenir, et saisissez des caractères dans la zone « Type here to test your key-
board » pour vérifier qu’ils s’affichent correctement. Si vous trouvez que ce
que vous saisissez ne correspond pas à ce qui est affiché, en particulier avec
des touches de symbole telles que le guillemet simple et le guillemet double,
choisissez une variante différente dans la liste jusqu’à ce que vous obteniez
une correspondance.
Appliquez vos modifications avec la touche Valider dans la fenêtre de confi-
guration de clavier, puis cliquez à nouveau sur le bouton Valider de la fenêtre
Configuration du Raspberry Pi.
Astuce
En cliquant sur le bouton Edit Config (ou en appuyant sur la touche E), les
deux fichiers de configuration (config.txt et cmdline.txt) se chargent dans un
éditeur de texte (figure 7.2). Vous pouvez alors apporter des modifications à ces
deux fichiers en suivant les indications qui sont fournies dans le présent chapitre.
Quand vous avez terminé l’édition de ces fichiers, cliquez sur le bouton OK en
bas à droite pour enregistrer vos modifications sur la carte SD. Quittez ensuite
la fenêtre principale en cliquant sur l’icône Exit pour redémarrer le Pi avec ses
nouveaux paramètres.
Astuce
Le fichier config.txt peut contrôler presque tous les aspects matériels du Pi.
Le fichier est lu uniquement au démarrage du système. Toutes les modifications
apportées pendant que le Pi est en cours d’exécution n’entreront en vigueur
qu’une fois que le système aura redémarré. Si vous ne voulez plus des change-
ments qui ont été effectués, il faut tout simplement supprimer le fichier du réper-
toire /boot pour restaurer les valeurs par défaut. Si le Pi ne démarre pas avec vos
nouveaux paramètres, retirez la carte SD et supprimez le fichier config.txt de
la partition boot à partir d’un autre PC, puis réinsérez la carte dans le Pi et redé-
marrez pour voir si cela règle le problème.
// Modification de l’affichage
Habituellement, le Raspberry Pi détecte le type d’affichage qui est connecté et
modifie ses paramètres en conséquence. Il arrive cependant que cette détection
automatique ne fonctionne pas. C’est souvent le cas lorsqu’un Raspberry Pi est
connecté à un ancien téléviseur d’un autre pays que celui où est installé le Pi. Si
vous connectez votre Pi à votre téléviseur et que rien ne se passe, vous devrez
peut-être remplacer les valeurs par défaut.
Vous pouvez tester différents paramètres dans le fichier config.txt pour amé-
liorer ou modifier la sortie vidéo. Ces paramètres et leurs valeurs possibles sont
décrits dans la liste suivante :
horizontalement.
>> framebuffer_depth : contrôle le nombre de couleurs de la console en bits
par pixel. La valeur par défaut est 16 bits par pixel, ce qui donne 65 536 cou-
leurs. Parmi les autres valeurs valides, on peut citer 8 bits par pixel (256 cou-
leurs), 24 bits par pixel (environ 16,7 millions de couleurs) et 32 bits par pixel
(environ 1 milliard de couleurs), mais ces valeurs peuvent provoquer des pro-
blèmes d’affichage.
>> framebuffer_ignore_alpha : réglée à 1, cette valeur désactive le canal alpha,
qui gère la transparence dans la console. La désactivation du canal alpha n’est
normalement pas requise, mais cela peut corriger les problèmes d’affichage
provoqués par la configuration de framebuffer_depth à 32 bits par pixel.
// Options de démarrage
Vous pouvez également utiliser le fichier config.txt pour contrôler la manière
dont Linux se charge sur le Raspberry Pi. Bien que la méthode la plus courante pour
contrôler le chargement du noyau Linux soit d’utiliser un fichier séparé appelé cmd-
line.txt (qui sera étudié plus tard dans ce chapitre), il est possible de se contenter
de config.txt. Les options suivantes contrôlent le processus de démarrage :
>> disable_commandline_tags : indique au module start.elf qui se charge
en premier au cours du processus de démarrage du Pi de ne pas remplir les
adresses mémoire au-delà de 0×100 avant de charger le noyau Linux. Cette
option ne doit pas être changée, car cela peut faire planter Linux.
// Overclocking du Raspberry Pi
Le fichier config.txt contrôle non seulement les sorties graphiques du proces-
seur BCM283x du Pi, mais il permet également de contrôler d’autres paramètres
de la puce. En particulier, il autorise la modification de la vitesse à laquelle la
puce tourne, en augmentant ses performances au détriment de sa durée de vie,
processus que l’on appelle overclocking.
Mise en garde
Paramètres d’overclocking
Si vous êtes prêt à prendre le risque d’endommager votre Pi pour obtenir une
maigre augmentation des performances, il existe des réglages dans le fichier
config.txt susceptibles de vous aider dans cette voie-là. Les paramètres sui-
vants contrôlent les performances du SoC du Pi :
>> arm_freq : définit la fréquence d’horloge de la partie CPU du BCM2835, ce
qui permet d’améliorer les performances générales. La vitesse par défaut
dépend du modèle.
>> gpu_freq : définit la fréquence d’horloge de la partie GPU du BCM2835, ce
qui permet d’améliorer les performances graphiques de toutes les opéra-
tions. La vitesse par défaut est égale à 250 MHz. En outre, vous pouvez
modifier les parties spécifiques du GPU en utilisant les options suivantes :
• core_freq : définit la fréquence d’horloge du GPU, en ne touchant pas aux
© Dunod – Toute reproduction non autorisée est un délit.
Paramètres de surtension
Si vous overclockez votre Pi, vous allez au bout du compte atteindre un seuil
au-delà duquel votre appareil ne fonctionnera plus. La limite précise à partir de
laquelle l’overclock du Pi n’est plus fiable dépend de chaque appareil en raison des
variations naturelles introduites au cours des étapes du processus de fabrication
de la puce. Pour certains utilisateurs, cette limite peut être assez basse et se
situer à 800 MHz, alors que pour d’autres elle pourra être plus élevée et atteindre
1 GHz (1 000 MHz) sans problème.
Si vous voulez gagner encore un peu plus de performance, il y a une autre façon
de repousser cette limite supérieure : un processus appelé surtension (overvoltage).
Mise en garde
>> over_voltage : ajuste la tension de base du BCM2835. Les valeurs sont indi-
quées sous la forme d’un nombre entier correspondant à 0,025 V au-dessus
ou au-dessous de la valeur par défaut (0), avec une limite inférieure de –16
et un plafond de 8.
>> over_voltage_sdram : ajuste la tension de la mémoire du Pi. Comme avec
over_voltage, les valeurs sont indiquées sous la forme d’un nombre entier
correspondant à 0,025 V au-dessus ou au-dessous de 0, avec une limite infé-
rieure de –16 et un plafond de 8. En outre, vous pouvez modifier les tensions
des composants individuels de la mémoire à l’aide des options suivantes :
• over_voltage_sdram_c : ajuste la tension du contrôleur mémoire. Les
valeurs acceptables sont les mêmes qu’avec over_voltage_sdram.
Désactivation du Cache L2
Le processeur du SoC BCM283x du Pi possède 128 K de mémoire cache L2.
Bien que la quantité de cette mémoire soit faible, elle est extrêmement rapide.
Elle est utilisée pour stocker temporairement, c’est-à-dire mettre en cache, des
données et des instructions et sert d’intermédiaire entre la mémoire principale
qui est plus lente et le processeur afin d’améliorer les performances.
En raison de l’origine du BCM283x, qui est un processeur multimédia destiné
aux appareils audiovisuels (lecteurs multimédias, décodeurs, etc.), ce cache L2
est conçu pour n’être utilisé que par le GPU de la puce. Contrairement à un pro-
cesseur traditionnel, le CPU du Pi n’a pas de cache L2.
À l’aide de config.txt, vous pouvez dire au BCM283x d’autoriser ou d’interdire
au CPU d’accéder au cache L2. Dans certains cas, vous pouvez améliorer les per-
formances, mais dans d’autres cas, cela peut nuire aux performances en raison de
l’emplacement physique de la mémoire cache qui est à une distance relativement
éloignée du CPU, mais plus proche du GPU.
L’utilisation de la mémoire cache L2 nécessite également une distribution Linux
qui a été compilée en ce sens. Raspbian, qui fait partie de ces distributions, est
livré avec un cache L2 activé pour améliorer les performances. Cette optimisation
devrait être conservée et annulée seulement si elle provoque des problèmes avec
d’autres systèmes d’exploitation.
Pour désactiver l’accès du CPU au cache L2, il suffit d’ajouter la ligne suivante
au fichier config.txt :
disable_l2cache=1
Mise en garde
Si vous êtes curieux de voir à quoi ressemble le Pi quand il est testé en usine,
vous pouvez activer le mode test en saisissant l’option suivante dans le fichier
config.txt :
test_mode=1
Comme avec les autres paramètres de config.txt, le mode test ne sera actif
qu’après le redémarrage du Pi. Le mode test peut être désactivé par la suite en
supprimant la ligne dans le fichier config.txt, en supprimant le fichier config.txt
ou en remplaçant 1 par 0.
Répartition de la mémoire
Le Raspberry Pi est livré avec 256 Mo, 512 Mo ou 1 Go de mémoire, et cette
mémoire peut être répartie entre les composants de différentes manières. La
© Dunod – Toute reproduction non autorisée est un délit.
conception du SoC BCM283x est divisée en deux parties principales : le CPU qui
est polyvalent et le GPU qui s’occupe du traitement des images. Ces deux parties
nécessitant de la mémoire pour fonctionner, cela signifie que la mémoire du Ras-
pberry Pi doit être partagée.
La répartition typique est choisie par les responsables de la distribution Linux
installée sur le Pi. Certains choisissent de fournir 128 Mo pour le GPU, ce qui
garantit que le matériel graphique peut fonctionner à plein régime. D’autres,
pour améliorer les performances générales, octroient au CPU une part plus
importante.
Auparavant, la répartition de la mémoire était contrôlée par un fichier de
microprogramme (firmware) appelé start.elf, où différents fichiers étaient utilisés
Mise en garde
>_
minimum de 16 Mo de mémoire, par exemple, modifiez la ligne de la manière suivante :
gpu_mem=16
texte que vous voyez lorsque vous démarrez le Pi pour la première fois. Sans cette
option, vous seriez obligé d’utiliser le Pi en connectant quelque chose à la console
série, qui est créée par la première option console.
L’option root indique au noyau Linux où il peut trouver le système de fichiers
racine, qui contient tous les fichiers et les répertoires nécessaires pour le fonc-
tionnement du système. Dans le cas de la distribution Raspbian par défaut, lors de
l’installation à partir de l’image officielle, ce système de fichiers racine se trouve
sur la deuxième partition de la carte SD, dans le répertoire mmcblk0p2. Vous pou-
vez modifier cet emplacement pour désigner un périphérique de stockage externe
connecté en USB, ce qui peut accélérer considérablement le fonctionnement du
Pi, par rapport au fait de stocker le système de fichiers racine sur la carte SD.
Le home cinéma est l’un des domaines d’application les plus populaires
du Raspberry Pi. Son module BCM283x, qui avait d’ailleurs dès le départ été
conçu pour des systèmes multimédia très performants, constitue le cœur de
votre Pi.
La partie graphique du BCM283x, un module Broadcom VideoCore IV, est
capable de lire et d’afficher de la vidéo en haute définition (H.264). Cette puce
sait aussi lire des fichiers audio dans bon nombre de formats, restitués sur la
sortie analogique dotée d’une prise jack 3,5 mm, ou sur le port numérique
HDMI.
Tout à la fois compact, silencieux et consommant peu de courant, le Raspberry
Pi est un appareil attrayant pour les passionnés de home cinéma. Depuis la sor-
tie du Raspberry Pi, un certain nombre de distributions Linux et de packages
sont apparus, précisément pour simplifier ce genre d’application. Cependant, nul
besoin d’abandonner votre système d’exploitation actuel pour vous lancer.
>_
console, ou une fenêtre de terminal :
sudo apt-get install moc
Si vous passez beaucoup de temps devant la console, loin des interfaces gra-
phiques, moc s’avérera un excellent choix pour jouer de la musique. À la différence
d’autres outils, il fonctionne en tâche de fond, ce qui signifie qu’il ne s’interrompra
pas si vous passez à autre chose.
Pour charger moc, la commande est mocp et non moc. En effet, il existe un autre
outil qui utilise la commande moc. On lui a donc donné un nom différent pour évi-
ter que le système d’exploitation ne confonde les deux.
Pour démarrer, activez la console, ou la fenêtre de terminal, si vous êtes en
>_
mode graphique, et saisissez la commande suivante :
mocp
Avertissement
Si vous avez déjà une carte SD sur votre Raspberry Pi, vous devez savoir que l’ins-
tallation d’un nouveau système d’exploitation sur celle-ci supprime les données
qui s’y trouvent. Effectuez une sauvegarde des fichiers que vous désirez conserver
avant l’installation d’OSMC via NOOBS.
Play) pour le streaming, ce qui lui permet de se connecter à toute une série d’ap-
pareils associés à votre réseau local. La majorité des téléphones, des consoles de
jeux et des NAS récents acceptent également ce standard permettant de par-
tager ou de faire du streaming avec de la vidéo, de la musique et des photos.
Beaucoup d’ordinateurs portables et de bureau prennent également en charge
la norme UPnP, ou le standard DLNA (Digital Living Network Alliance) qui s’en
rapproche. Référez-vous à votre documentation pour activer ces options sur vos
appareils.
Les connexions possibles avec OSMC ne se limitent toutefois pas au stan-
dard UPnP. L’application permet également de se connecter aux serveurs exé-
cutant NFS (Network File System), un standard courant sur les systèmes Unix,
Configuration d’OSMC
Les différents paramètres de configuration dans OSMC sont accessibles
depuis le sous-menu Programmes, sous le menu Mon OSMC. Cette partie du
programme OSMC n’est pas affectée par votre choix de skin, conservant tou-
jours une apparence identique : une série d’icônes tout autour d’un logo OSMC
au centre (figure 8.8).
© Dunod – Toute reproduction non autorisée est un délit.
Astuce
© Dunod – Toute reproduction non autorisée est un délit.
Applications cloud
Si la plupart du temps votre Raspberry Pi est connecté à Internet (grâce aux
ports intégrés ou à un adaptateur USB pour les modèles sans connectivité réseau
source de Mozilla.
Pour installer le navigateur Iceweasel sous Raspbian, ouvrez un terminal et
>_
saisissez la ligne suivante :
sudo apt-get install iceweasel
Une fois Iceweasel installé, il suffit de vous rendre sur l’un des sites mention-
nés, de créer un compte, (en donnant vos références bancaires, si vous souhaitez
des services premium, comme Microsoft Office 365), puis de vous authentifier.
Si le système semble lent, changer la répartition de la mémoire en faveur du CPU
(en diminuant la part accordée au GPU) peut faire la différence. Le chapitre 6
présente toutes les instructions nécessaires à cette opération.
>_
Pour installer Gimp, ouvrez le terminal et saisissez la commande suivante :
sudo apt-get install gimp
Gimp faisant appel à trois fenêtres et non une seule, son utilisation peut
être un peu déconcertante au début. Par défaut la fenêtre de gauche contient
la Boîte à outils ; dans la fenêtre de droite, on trouve les options de Calques,
Canaux, et Dégradés, puis dans la fenêtre du milieu s’affiche l’image en cours
d’édition. Il y a autant de fenêtres centrales que d’images ouvertes simulta-
nément. En revanche, les fenêtres latérales, la Boîte à outils, les options de
Calques, Canaux et Gradients, restent uniques. Il est possible de simplifier
l’interface en optant pour le Mode fenêtre unique qui sera plus familier pour
les utilisateurs de Photoshop : pour l’activer, cliquez sur le menu Fenêtre puis
sélectionnez Mode fenêtre unique.
Par défaut, le manuel d’utilisateur de Gimp n’est pas installé; et c’est très
bien ainsi. Gimp est un outil puissant et son mode d’emploi prend beaucoup
de place sur la carte SD. Il est possible d’obtenir le manuel en appuyant sur la
touche F1 ou en cliquant sur Aide dans le menu Aide. Une version en ligne est
alors proposée.
Gimp est un outil très puissant qui nécessite beaucoup de mémoire. Son fonc-
tionnement sur le Raspberry Pi est donc assez lent, mais tout à fait acceptable.
Avec des photos de grande taille toutefois, il est possible que davantage de
patience soit nécessaire. Augmenter la quantité de mémoire disponible pour le
GPU peut améliorer les performances (voir le chapitre 6 pour les détails de cette
manipulation).
L’enregistrement des fichiers peut se faire sous un grand nombre de formats.
Si le fichier doit être édité à nouveau, le format propriétaire Gimp XCF, utilisé
par défaut, convient. Il conserve les métadonnées intactes, utilise un format de
compression sans perte pour une qualité d’image optimale, et prend en charge
les images à plusieurs niveaux de calques.
Si l’image doit être mise en ligne ou partagée avec des tiers, il est recommandé
d’utiliser un format plus répandu comme JPG ou PNG. Pour enregistrer un fichier
sous un format différent, sélectionnez l’option Exporter du menu Fichier au lieu
de l’option Enregistrer (figure 9.4). Cela permet de choisir le type de format de
fichier parmi un large éventail.
Introduction à Scratch
Scratch, langage créé par le groupe Lifelong Kindergarten, au Media Lab du
MIT (Massachusetts Institute of Technology) en 2006, est un dérivé de Squeak
et de Smalltalk, qui permet à chacun d’intégrer les concepts clés de la pro-
grammation. Les longues lignes de code, qui sont ardues et fastidieuses pour
les jeunes enfants, sont remplacées par un monde graphique où de simples
pièces de puzzle doivent être manipulées. Toutefois, Scratch développe la pen-
sée informatique et introduit les concepts clés à la base de tous les langages de
programmation.
© Dunod – Toute reproduction non autorisée est un délit.
Figure 10.3 Bloc de la section Contrôle associé à un bloc de la section Apparence dans Scratch
projets, Scratch place un sprite par défaut ; c’est celui-ci que vous allez contrôler.
Dans Scratch, pour contrôler une simple animation, on utilise la section Mou-
vement de la palette de blocs. C’est la section visible par défaut lorsqu’un nou-
veau projet est créé. Déposez le bloc avancer de 10 pas dans la zone de script.
Comme son nom l’indique, ce bloc commande au sprite sélectionné d’avancer
de 10 pas dans la direction où il se trouve. Par défaut, les sprites de Scratch sont
toujours orientés au départ vers la droite. Le bloc avancer de 10 pas déplace
donc le sprite de 10 pas vers la droite.
Dix pas, ce n’est pas beaucoup, et vous allez donc augmenter cette valeur en
passant de 10 à 30. On doit maintenant pouvoir lire sur le bloc avancer de 30 pas.
C’est bien, mais un chat se déplaçant vers la droite n’est pas si intéressant que cela,
On l’a vu, Scratch peut créer de simples animations, mais il est également capable
de réagir à des événements, comme la pression de touches du clavier, ce qui per-
met une certaine interactivité. En combinant certains contrôles d’animation avec
le programme précédent, il est possible de créer un jeu simple, et à cette occasion,
d’introduire les concepts de collision de sprites, d’instructions conditionnelles, et
d’entrée.
Pour cet exemple, il faut démarrer un nouveau projet, en n’oubliant pas d’enre-
gistrer l’exemple précédent, si ce n’est déjà fait. Commençons par glisser un bloc
avancer de 10 pas dans la zone de script. Cette fois, au lieu de dire aux blocs de
code de s’exécuter quand on clique sur le drapeau, c’est le bloc de la palette des
contrôles quand espace est pressé qui sera placé au-dessus du bloc avancer.
Astuce
Astuce
Logique Booléenne
C’est George Boole qui a donné son nom à la logique booléenne, ou algèbre boo-
léenne, qui est fondamentale pour comprendre le fonctionnement d’un ordinateur.
Le langage Scratch comprend trois opérateurs de logique booléenne : et, ou et non.
L’opérateur et nécessite que deux entrées (dans le cas de Scratch, des blocs
Capteurs) soient vraies avant que son résultat ne soit considéré comme vrai. Si
l’une des entrées, ou les deux entrées, sont fausses, son résultat sera faux. Ce
n’est que lorsque les deux entrées sont vraies que le résultat sera vrai. On peut,
par exemple, utiliser cet opérateur pour vérifier si un sprite touche deux autres
sprites.
L’opérateur ou nécessite que l’une ou l’autre de ses entrées soit vraie. Si au moins
l’une des entrées est vraie, le résultat sera vrai. C’est un moyen pratique de réuti-
liser du code. Par exemple, si vous avez un certain nombre de sprites mortels pour
le sprite principal, vous pouvez n’utiliser qu’un seul bloc de code avec un opérateur
ou qui se déclenchera pour n’importe quel contact avec l’ennemi.
Enfin, l’opérateur non est aussi appelé l’inverseur. Quelle que soit son entrée, son
résultat sera à l’opposé. Si son entrée est vraie, son résultat sera faux ; si son entrée
est fausse, son résultat sera vrai.
Changez salut en Ne nous mangez pas !, puis ajoutez un bloc Contrôle attendre
1 secondes et passez sa valeur à 2. Ajouter un bloc quand espace est pressé
en haut du script, en prenant soin de modifier la valeur pour obtenir quand flèche
droite est pressé. Enfin, déposez un bloc cacher depuis la palette Apparence à
la fin de la boucle pour arriver au résultat illustré à la figure 10.9.
Faites un double-clic sur le sprite du chat sur la scène afin de pouvoir éditer son
script, ce qui fait disparaître le script créé pour le plateau de fruits. Il n’est pas
loin, et pourra être rappelé quand il sera nécessaire de le modifier.
Déposez un nouveau bloc si depuis la palette Contrôles, ainsi qu’un autre
bloc de capteur touché?. Cette fois, modifiez le bloc capteur pour arriver à un
ensemble qui donne si fruits touché? (le sprite du plateau de fruits a été
Avertissement
Le Raspberry Pi tire la première partie de son nom d’une vieille tradition qui
consiste à utiliser des noms de fruits (Raspberry signifie framboise en anglais)
pour baptiser les nouveaux ordinateurs (pour mémoire mentionnons Apple,
Blackberry, mais aussi, des marques moins connues comme Acorn, Apricot et
Tangerine). La seconde partie de son nom est une référence au langage de pro-
grammation Python.
Présentation de Python
Le développement de ce langage souple et puissant a débuté vers la fin des
années 80 au National Research Institute for Mathematics and Computer Science.
Guido van Rossum cherchait à créer un successeur au langage ABC. Dès ses
débuts, le succès de Python a été croissant, en raison d’une syntaxe claire et
expressive qui garantit un code lisible.
Python est un langage de haut niveau. Son code ressemble donc souvent à de
l’anglais, ce qui facilite sa mémorisation et la compréhension des instructions.
Il diffère en cela des langages de bas niveau, tels que l’assembleur, plus proche
du mode de « pensée » de l’ordinateur, mais quasiment impossible à comprendre
© Dunod – Toute reproduction non autorisée est un délit.
pour un être humain sans une certaine expérience. Ces caractéristiques (langage
de haut niveau et syntaxe claire) en font un outil précieux pour quiconque désire
apprendre la programmation. C’est d’ailleurs le langage préconisé par la Fonda-
tion Raspberry Pi pour ceux qui veulent passer de Scratch (voir le chapitre 10) à
de la programmation plus concrète.
Python est publié sous licence open source ; on peut donc le télécharger gra-
tuitement sur tous les ordinateurs tournant sous Linux, OS X et Windows. Cette
interopérabilité signifie que tout code Python écrit sur le Raspberry Pi sera
exploitable sur presque tous les autres systèmes d’exploitation (sauf si le pro-
gramme fait appel à du matériel propriétaire, comme le port GPIO ; pour savoir
comment Python s’interface avec ce port, reportez-vous au chapitre 14).
Attention
Une bonne pratique consiste à démarrer tous les programmes Python avec
une ligne appelée shebang. Elle tire son nom de ses deux premiers caractères
# et ! (le caractère dièse en anglais se nomme sharp et le point d’exclamation
bang) en tout début de ligne. Cette séquence s’adresse directement au système
d’exploitation pour qu’il sache où se trouve l’interpréteur Python. Bien que ce ne
Pour être sûr que le programme tourne, quel que soit l’endroit où l’exécutable
Python a été installé, la première ligne du programme devrait être rédigée de la
© Dunod – Toute reproduction non autorisée est un délit.
manière suivante :
#!/usr/bin/env python
Cette ligne indique au système d’exploitation de lire la variable d’environnement
$PATH qui est l’emplacement où Linux stocke les fichiers qui peuvent être exécutés
en tant que programmes ; cette variable indiquant l’emplacement de Python, les
programmes devraient fonctionner avec toutes les distributions Linux livrées avec
le Raspberry Pi. La variable $PATH, qui contient une liste de répertoires où sont
stockés les fichiers exécutables, est utilisée pour localiser les programmes quand
on saisit leur nom dans la console ou depuis une fenêtre de terminal.
Pour afficher un message, on utilise l’instruction Python print. Comme son
nom l’indique, cette instruction affiche du texte sur un périphérique de sortie
(par défaut, l’écran de la console ou la fenêtre du terminal à partir duquel le
>_
lancé en saisissant :
python helloworld.py
Attention
Pourquoi == ?
Pour assigner une valeur à une variable, c'est un signe égal unique qui a été utilisé
dans les exemples antérieurs. La boucle while en requiert deux. Avec deux signes égal
consécutifs, c'est une évaluation qui est réalisée. La valeur est comparée à toute valeur
suivant les deux signes. Un seul signe égal assigne à la variable la valeur qui le suit.
Il est possible d’évaluer avec d'autres signes que le double signe égal (qui renvoie
vrai, si la variable est exactement identique à la valeur comparée). > signifie plus
© Dunod – Toute reproduction non autorisée est un délit.
grand que, < moins grand que, >= signifie plus grand ou égal à, <= moins grand ou
égal à, et ! signifie différent de.
L'usage de ces symboles permet de contrôler le circuit logique d'un programme
selon les règles booléennes. Pour plus d'informations concernant la logique boo-
léenne, reportez-vous au chapitre 10.
#!/usr/bin/env python
# Exemple 2: Programme Python extrait du Guide du Raspberry Pi
NomUtilisateur = raw_input("Quel est votre nom ? ")
print "Bienvenue dans ce programme,", NomUtilisateur
Continuer = 1
while Continuer == 1:
PremierNombre = int(raw_input("Saisissez le premier nombre: "))
SecondNombre = int(raw_input("Saisissez le second nombre : "))
print PremierNombre, "ajouté à", SecondNombre, "égalent", PremierNombre +
SecondNombre
…
176/ Chapitre 11 : Introduction à Python
…
print PremierNombre, "moins", SecondNombre, "égalent", PremierNombre –
SecondNombre
print PremierNombre, "multiplié par", SecondNombre, "égalent", PremierNombre
* SecondNombre
Continuer = int(raw_input("Saisissez 1 pour continuer, ou n'importe quel
autre nombre pour quitter le programme: "))
créer une fonction, évite leur répétition. De plus, s’il est nécessaire de modifier
une fonction, il n’est pas nécessaire de la modifier autant de fois qu’elle est invo-
quée. Saisissez les lignes suivantes pour définir la fonction gameOver.
def gameOver():
gameOverFont = pygame.font.Font('freesansbold.ttf', 72)
gameOverSurf = gameOverFont.render('Game Over', True,CouleurGris)
gameOverRect = gameOverSurf.get_rect()
gameOverRect.midtop = (320, 10)
playSurface.blit(gameOverSurf, gameOverRect)
pygame.display.flip()
time.sleep(5)
pygame.quit()
sys.exit()
mais également de lire des données et d’en écrire sur des sockets. Grâce à ce
module, Python possède les fonctionnalités de base de la gestion du réseau. Dans
cet exemple, le module socket permet au programme de se connecter à un ser-
veur IRC distant.
Pour fonctionner, il sera nécessaire de faire appel à des constantes. Ces der-
nières sont pour partie semblables à des variables, puisqu’il est possible de leur
assigner des valeurs. Mais elles sont différentes, car ces valeurs, une fois assi-
gnées, ne doivent plus être modifiées. Pour aider à différencier les constantes des
variables, une bonne pratique consiste à écrire les constantes en lettres capitales.
De cette manière, un bref aperçu du code permet de les distinguer rapidement.
Vous noterez que comme Python ne fait aucune différence entre les majuscules
Figure 11.7 Programme Python pour lister les utilisateurs d'un canal IRC
tion est déjà un succès. Cela n’est pas étonnant. En effet, les nombreux blocs de
matériaux différents à la disposition des constructeurs en herbe, permettent de
les initier à la géographie ou à l’architecture. Par ailleurs cette édition est gratuite
pour tous ceux qui peuvent télécharger le jeu sur leur Raspberry Pi. Ils peuvent
s’en servir aussi longtemps et comme il leur plaira sans n’avoir rien à payer, ce qui
n’est pas le cas avec les autres versions.
Mais ce qui a vraiment fait le succès de Minecraft Pi Edition, c’est son API
(Application Programming Interface). Elle permet aux joueurs de modifier l’envi-
ronnement du jeu en y ajoutant leur propre code. Cette API, à laquelle on accède
le plus souvent en Python (on notera au passage que la Fondation Raspberry
Pi a également fait le choix de Python pour ses programmes d’enseignement),
Installation de Minecraft
Si vous utilisez la dernière version du système d’exploitation Raspbian, Mine-
craft est déjà installé et prêt à fonctionner. Dans le cas contraire, il faut ouvrir
un navigateur et saisir l’adresse pi.minecraft.net pour accéder au site officiel de
Minecraft Pi Edition. Pour en télécharger le paquet, cherchez le lien download
puis ouvrez le fichier (il se peut qu’une boîte de dialogue vous le propose).
Après les quelques instants requis par le téléchargement du fichier, une fenêtre
s’ouvre et dévoile le contenu de l’archive compressée de Minecraft Pi Edition : un
dossier nommé mcpi. Choisissez le répertoire de destination où les fichiers seront
décompressés et où vous pourrez facilement les retrouver, par exemple la racine
de votre répertoire ou sur le bureau.
Cliquez sur le bouton Extraire, ce qui ne devrait prendre que quelques ins-
tants. Contrairement aux logiciels qui nécessitent un gestionnaire de paquets,
comme Apt, cette installation ne nécessite qu’une seule étape. Cela signifie que
lorsqu’une nouvelle version sera publiée, la mise à jour ne se fera pas automati-
quement. Il sera donc nécessaire de répéter la manipulation décrite plus haut :
télécharger la nouvelle version et la décompresser dans le même répertoire, ce
qui aura pour effet d’écraser la précédente. Si vous utilisez Raspbian, les mises à
jour se feront en exécutant apt-get update comme d’habitude.
Lancement de Minecraft
Minecraft Pi Edition est installé par défaut dans les dernières distributions de
Raspbian, et tourne sur n’importe quel modèle de Raspberry Pi connecté à un
écran. Le jeu fonctionne en mode interface graphique, sur le bureau, et n’est pas
visible depuis la console. Si votre Raspberry Pi n’est pas configuré de manière à
se lancer automatiquement en mode graphique, il sera nécessaire de l’exécuter
>_
manuellement avec la commande suivante depuis la console :
startx
Une fois l’interface graphique chargée, cliquez sur le bouton Menu en haut à
gauche de l’écran, pointez Jeux et sélectionnez Minecraft Pi (figure 12.1)
Par défaut, Minecraft Pi Edition s’exécute dans une fenêtre sur le bureau
(figure 12.2). Vous pourriez être tenté d’agrandir la fenêtre, mais les conditions
de jeu seront moins faciles.
En effet, en mode plein écran, les mouvements de la souris ne seront pas gérés
correctement et le jeu sera virtuellement impossible. Il s’agit d’un bug, comme on
en trouve dans les versions alpha. On ne peut pas non plus faire des copies d’écran
pendant le déroulement du jeu. Afin d’assurer un niveau de rendu acceptable,
Minecraft Pi Edition optimise l’interfaçage avec l’accélérateur graphique et toute
Exploration
Minecraft fonctionne de manière très similaire à un jeu de tir subjectif (FPS)
classique, mais en beaucoup moins violent. En fait, dans cette version, on ne ren-
contre aucun ennemi, et il n’y a aucune contrainte de temps. C’est une introduc-
tion sans stress au monde des jeux, pour les jeunes publics sans expérience.
Le jeu débute avec un positionnement aléatoire (figure 12.3). Le personnage
se déplace en utilisant les touches du clavier W, A, S et D qui correspondent res-
pectivement à gauche, droite, en arrière, et en avant. L’appui sur les touches ne
fait pas pivoter le personnage, seule la souris le permet. Chose surprenante, le
personnage vole : la barre d’espace effectue un saut, une double pression sur la
barre initie le mode vol. Durant le vol, la barre d’espace augmente l’altitude, la
touche Maj permet de revenir au sol. Une double pression sur la barre d’espace
annule le mode vol.
Contrairement au mode Survie de la version complète du jeu, le joueur dispose
d’une quantité infinie de blocs de tous types. Il n’y a donc pas besoin d’aller extraire
des ressources, et la construction de votre première structure peut commencer
sans délai. Les types de blocs disponibles sont affichés en bas de la fenêtre de
Minecraft, et le bloc actif est en surbrillance. La roulette de la souris permet de
sélectionner un bloc, chaque bloc ayant ses caractéristiques propres. Il y a d’autres
blocs, en plus de ceux-ci et l’ensemble est accessible en pressant la touche E. Pour
comprendre comment ils interagissent et se combinent, le mieux est de les essayer
tous.
Un clic sur le bouton droit de la souris permet de poser un bloc. Un clic long
pendant le déplacement permet de déplacer plusieurs blocs à la suite. Tous les
Hacker Minecraft
Le secret du succès éducatif de Minecraft Pi Edition tient dans son API qui per-
met de modifier divers aspects du jeu en produisant du code. L’API de Minecraft
est à la fois puissante et facilement accessible pour un débutant.
Si Minecraft Pi Edition est actuellement ouvert, quittez-le en pressant la touche
Echap, sélectionnez Quit to title et fermez la fenêtre.
Si vous êtes sous Raspbian, vous pouvez utiliser l’API immédiatement. Dans
le cas contraire, il sera nécessaire de créer une copie de l’API à l’extérieur du
répertoire principal de Minecraft. Ces précautions protégeront l’installation prin-
cipale de Minecraft Pi Edition, ce qui permet de faire des expériences sans risquer
>_
terminal :
mkdir ~/minecraftcode
cp -r ~/mcpi/api/python/mcpi ~/minecraftcode/minecraft
>_
grammes. Pour cela, ouvrez le terminal puis saisissez la commande suivante :
mkdir ~/minecraftcodeÒ
Si vous n’êtes pas le seul à vous servir du Raspberry Pi, mais que vous avez le
même nom d’utilisateur, vous pouvez créer un dossier pour chacun, en modifiant
le nom minecraftcode dans la commande précédente (par exemple, minecraft-
kevin, minecraft-pierre, minecraft-julie).
L’API de Minecraft Pi Edition prend en change plusieurs langages, mais Python
sera la solution la plus simple pour commencer. Pour vos premiers pas en pro-
grammation Python avec le Raspberry Pi, reportez-vous au chapitre précédent.
Si vous avez déjà lu ce chapitre, vous pouvez commencer vos expériences dans
Minecraft sans plus attendre.
Pour commencer, chargez l’environnement IDLE, en cliquant sur le bouton
Menu, puis en descendant jusqu’à Programmation et en cliquant sur Python 2
(IDLE). Assurez-vous de ne pas cliquer sur Python 3 par erreur. La version 3 fait
appel à une version du langage de programmation qui ne fonctionne pas avec
l’API de Minecraft. À l’ouverture d’une nouvelle fenêtre, cliquez sur le menu File
puis New file. Un nouveau fichier Python, prêt à recevoir vos modifications appa-
raît. Commencez par cliquer sur File puis Save As pour enregistrer le fichier. Une
boîte de dialogue vous permet de sélectionner le dossier minecraftcode et de
nommer le fichier testing.py avant de l’enregistrer (figure 12.4).
Commencez votre premier programme Python pour Minecraft en saisissant la
>_
ligne shebang habituelle en haut de la page.
#!/usr/bin/env python
Avec cette ligne, il suffira d’entrer les lettres mc pour envoyer des commandes
à l’API, sans qu’il soit nécessaire de saisir la commande en entier dans le pro-
gramme. Non seulement cela permet d’écrire plus vite, mais le script devient plus
lisible et compréhensible. Cela connecte également le script au jeu en cours, si
bien que l’API est prête à réagir aux instructions.
L’API de Minecraft Pi Edition est tellement puissante qu’il ne sera pas possible
© Dunod – Toute reproduction non autorisée est un délit.
ici d’en explorer toutes les possibilités. Nous allons cependant vous présenter un
court exemple élémentaire que vous pouvez saisir dans IDLE (figure 12.5).
playerPos = mc.player.getTilePos()
mc.setBlock(playerPos.x+1, playerPos.y+1, playerPos.z, block.STONE)
mc.postToChat("Bloc de pierre créé")
La première ligne récupère la position courante du joueur, par rapport à la sur-
face du bloc le plus proche de lui, appelée carreau (tile en anglais). La seconde
ligne crée un nouveau bloc de pierre, décalé d’un bloc par rapport au joueur sur
l’axe des X et Y et non décalé sur l’axe des Z. Toutes les positions, dans Minecraft,
sont enregistrées au format tridimensionnel, avec Y pour le plan vertical. Toute
la maestria de l’usage de l’API Minecraft consiste à apprendre à atteindre préci-
sément l’endroit visé.
Enregistrez le fichier d’un clic sur le menu File, puis sur Save. Chargez
inecraft Pi Edition et cliquez sur Start Game. Chargez un monde ou créez en un
M
nouveau, puis pressez les touches Alt + Tab pour désactiver la fenêtre de Mine-
craft. Vous avez alors le contrôle de la souris à l’extérieur de Minecraft. De cette
manière le déplacement du pointeur de la souris n’affecte plus le personnage du
jeu. Cela vous permet de retourner à la fenêtre IDLE qui contient votre code.
Dans IDLE, cliquez sur le menu Run, puis sur Run Module, ou pressez la touche
de fonction F5, pour exécuter le programme que vous avez saisi. Après quelques
secondes, le message « Bloc de pierre créé » devrait apparaître dans la fenêtre de
Minecraft (figure 12.6). Pressez Alt + Tab à nouveau pour réactiver la fenêtre du
Il en est de l’API comme de Minecraft, le mieux est de mener ses propres expé-
riences. On peut également trouver des tutoriels pour Minecraft Pi Edition dans
The Magpi, le magazine officiel de la Fondation Raspberry Pi qui peut se télé-
charger à www.raspberrypi.org/magpi. Vous trouverez rapidement d’autres res-
sources sur Internet avec les mots-clés Minecraft Pi Edition. En observant et en
modifiant les programmes que vous trouverez, vous allez vite acquérir un certain
savoir-faire avec l’API ; et cerise sur le gâteau, vous en profiterez pour vous entraî-
ner à programmer en Python.
Exploitation
4
du matériel
Matériels additionnels
Dans les chapitres précédents, vous avez appris comment le Raspberry Pi pou-
vait se transformer en plateforme polyvalente permettant d’exécuter des logiciels
variés. À cet égard, il n’est pas seul et n’importe quel ordinateur classique peut
exécuter les mêmes logiciels et, dans de nombreux cas, faire cela beaucoup plus
vite qu’un Pi dont le processeur est peu puissant.
Le Pi a cependant un autre atout qui le rend supérieur à n’importe quel PC
moyen : son port GPIO (general-purpose input-output, ou en français, entrées-
sorties à usage général), situé en haut à gauche du circuit imprimé du Pi.
Le GPIO permet au Pi de communiquer avec les autres composants et cir-
cuits et peut servir de contrôleur si on l’intègre dans un circuit électronique plus
large. Grâce au port GPIO, il est possible de mesurer la température, de déplacer
des servos et communiquer avec d’autres périphériques informatiques en uti-
lisant différents protocoles, dont SPI (Serial Peripheral Interface) et I²C (Inter-
Integrated Circuit). Le chapitre 14 fournit des détails sur l’exploitation des broches
© Dunod – Toute reproduction non autorisée est un délit.
du port GPIO.
Avant de pouvoir commencer à créer des circuits utilisant le port GPIO du
Pi, vous devez toutefois acquérir certains équipements supplémentaires et
apprendre certains termes du vocabulaire de l’électronique.
Équipement électronique
Pour commencer à construire des circuits qui peuvent être contrôlés par le
port GPIO du Pi, vous aurez besoin de certains composants et d’outils. Voici une
liste d’achats de matériels de base qui vous permettront de démarrer en l’élec-
tronique :
1. NdT : littéralement, une breadboard est une planche à pain. En général, les électroniciens utilisent le
terme anglais et ne le traduisent pas. Cependant, si vous voulez acquérir une breadboard, il vous faudra
peut-être chercher dans certaines boutiques en ligne de composants électroniques une platine d’essais
sans soudure ou une platine de test sans soudure.
>> Brucelles : les composants électroniques peuvent être très petits et diffi-
ciles à manier si bien que des brucelles vous seront très utiles. Si vous envisa-
gez d’utiliser des composants de montage en surface, au lieu de composants
à souder sur une plaque, vous devez absolument vous servir de brucelles,
sinon vous allez vous brûler les doigts si vous essayez de tenir le composant
et de le souder en même temps !
>> Troisième main : ce dispositif, lourd pour assurer sa stabilité, est muni de
pinces ou de clips qui maintiennent en place l’élément que vous voulez sou-
der. Certaines troisièmes mains incluent une loupe pour le travail délicat,
et d’autres plus onéreuses ont en plus une lumière pour éclairer la zone de
travail.
Figure 13.1 Résistance à quatre bandes avec le tableau de décodage et ses codes couleur
(illustration en couleur disponible sur www.dunod.com)
Il y a aussi des résistances ayant 5 bandes qui se lisent de la même manière que
les résistances à quatre bandes, sauf que les trois premières bandes indiquent
les chiffres de la résistance, la quatrième bande le multiplicateur et la cinquième
bande la tolérance.
Approvisionnement en composants
Si vous n’avez jamais pratiqué l’électronique, vous aurez peut-être du mal à
trouver les composants et les outils. Heureusement, il existe de nombreux maga-
sins (dont certains sont en ligne) qui se spécialisent dans les composants rares
dont vous pourriez avoir besoin pour réaliser votre projet.
// Boutiques physiques
Il se peut que vous ayez besoin d’un composant immédiatement, et même un
service de livraison le lendemain ne serait pas assez rapide. Vous pouvez éga-
lement n’avoir besoin que d’une seule résistance ou bien que d’un petit bout de
câble dont l’achat en ligne engendrerait un coût de livraison trop élevé par rap-
port au coût de la marchandise. Heureusement, il existe des magasins qui sont
spécialisés dans la vente de composants électroniques. Bien que le nombre de
ces magasins ait baissé au cours des décennies précédentes, on trouve en général
dans les grandes villes au moins un magasin qui a en stock les outils et les com-
posants les plus courants.
Découverte de la breadboard
Les breadboards sans soudure sont excellentes pour créer rapidement des cir-
cuits de prototype. Elles sont rapides à mettre en œuvre et réutilisables, tout en
n’endommageant pas les composants.
Les breadboards ont cependant quelques inconvénients. Elles sont encom-
brantes, coûteuses et leurs connexions ont tendance à se desserrer, ce qui peut
entraîner la chute de composants critiques, surtout si la breadboard est trans-
portée d’un endroit à l’autre. La figure 13.2 illustre parfaitement cela. Malgré tous
les efforts, le bouton-poussoir est connecté de manière trop lâche sur la platine
d’essai et il risque de tomber si le circuit est manipulé de façon trop brusque.
C’est une des raisons, parmi beaucoup d’autres, pour lesquelles le Raspberry
Pi est monté sur une carte de circuit imprimé plutôt que sur une breadboard,
bien qu’une breadboard ait certainement été utilisée au début du prototypage.
Il est possible d’imprimer et de graver vos propres circuits à la maison, mais il y
a une étape intermédiaire plus simple qui consiste à utiliser une platine d’essai
pour créer des circuits permanents.
À première vue, une platine d’essai ressemble à une breadboard car sa sur-
face est couverte de petits trous espacés de 2,54 mm. Cependant, à la dif-
férence d’une breadboard, il n’y a aucun mécanisme intelligent pour veiller
à ce que les composants électroniques placés dans ces trous y restent fixés ;
au lieu de cela, il faut les souder sur la platine d’essai. Les platines d’essai
sont souvent désignées par leur appellation commerciale, Veroboard, qui est
une marque déposée par Vero Technologies au Royaume-Uni et Pixel Print au
Canada.
Créer un circuit sur une platine d’essai a de nombreux avantages par rap-
port à l’emploi d’une breadboard. Une platine d’essai est nettement moins
coûteuse qu’une breadboard de taille équivalente, et une platine d’essai peut
être découpée à la taille des plus petits circuits. Cela permet également de
créer à partir d’une grande platine d’essai toute une série de petits circuits
indépendants.
Comme les composants sont soudés sur la platine d’essai, c’est aussi beau-
coup plus robuste qu’un prototype sur une breadboard. Un circuit sur une
platine d’essai peut être transporté d’un lieu à un autre, sans grand risque que
l’un de ses composants ne se détache et soit perdu. La figure 13.3 illustre un
bout de platine d’essai retourné pour montrer les pistes de cuivre sur la face
du dessous.
Mise en garde
Figure 13.4 Exemple d’espace de travail pour la soudure avec un tapis protecteur antistatique
Si vous faites un travail délicat, où vous devez vous rapprocher pour mieux voir,
vous devriez porter des lunettes de protection. Le flux bouillant à l’intérieur de la
soudure peut parfois gicler, et si vous en recevez une goutte dans l’œil, vous allez
Si tout se passe bien, vous vous retrouvez avec une soudure solide qui va durer
de nombreuses années. Sinon, ne soyez pas découragé ; il suffit d’appuyer le fer
contre le joint pour faire fondre la soudure et ensuite utiliser de la tresse à des-
souder si vous avez besoin de nettoyer l’excès de soudure. Un joint de soudure
parfaite devrait avoir la forme d’un volcan qui s’élève de la surface de la carte pour
aller jusqu’à la patte du composant.
Ne laissez jamais le fer en contact avec les éléments à souder pendant plus de
quelques secondes. Ceci est particulièrement important quand on doit souder des
composants sensibles à la chaleur comme les circuits intégrés, qui peuvent être
endommagés par un contact prolongé avec un fer à souder chaud. Si vous utilisez
une station de soudure à température contrôlée, assurez-vous que la température
Figure 13.6 Soudure d’un composant dans le trou traversant d’une carte de circuit imprimé
Lorsque vous avez terminé, n’oubliez pas d’étamer à nouveau la panne du fer.
Si vous ne le faites pas, la panne peut se corroder quand le fer ne sera plus utilisé
et il faudra la remplacer beaucoup plus tôt que prévu.
Astuce
disposées en deux rangées de 13. Ce port GPIO plus court se trouve sur le Ras-
pberry Pi modèle A et modèle B. Si vous possédez le tout premier modèle de
Raspberry Pi, un modèle A, vous devez utiliser le schéma de brochage illustré à
la figure 14.2.
Les possesseurs du Raspberry Pi modèle B doivent identifier leur numéro de
version. Les dernières versions, qui se distinguent par la présence d’un connec-
teur étiqueté P5 vide et située juste en dessous du port GPIO, sous la carte,
doivent utiliser le brochage illustré à la figure 14.2, comme pour le Raspberry Pi
modèle A. Si vous n’avez pas de connecteur marqué P5, vous avez alors la pre-
mière version du Raspberry Pi modèle B révision 1, qui est le seul modèle à utiliser
le brochage illustré à la figure 14.3.
Pour de plus amples détails sur les différentes versions de la carte et la manière
de les distinguer, reportez-vous au chapitre 1.
Mise en garde
Si vous connectez une alimentation en 5 V à n’importe quelle broche du port GPIO
du Raspberry Pi ou si vous reliez directement une des broches d’alimentation
(broches 2 et 4) à n’importe quelle autre broche, vous allez endommager votre
Pi. Comme le port est câblé directement aux broches du processeur Broadcom
BCM283x, vous allez causer des dommages irréversibles. Soyez toujours très pru-
dent lorsque vous travaillez avec le port GPIO.
Caractéristiques du GPIO
Selon votre modèle de Raspberry Pi, le port GPIO fournit par défaut au moins
huit broches à usage général : les broches 7, 11, 12, 13, 15, 16, 18 et 22. Ces bro-
ches peuvent prendre trois états : high, où la broche fournit une tension posi-
tive de 3,3 V, low, où la tension est égale à 0 V ou à la masse, et input (entrée).
Les deux sorties correspondent à 1 et à 0 en logique binaire et peuvent être
utilisées pour activer ou désactiver d’autres composants. Vous trouverez plus
d’informations sur ce sujet plus loin dans ce chapitre. Les Raspberry Pi qui ont
un port GPIO de 40 broches offrent un certain nombre de broches supplémen-
taires à usage général, qui sont décrites dans le schéma de brochage illustré à
la figure 14.1.
Mise en garde
La logique interne du Pi fonctionne en 3,3 V, ce qui le différencie de nombreux
microcontrôleurs courants, comme le célèbre Arduino et ses variantes, qui fonc-
tionnent généralement en 5 V. Les dispositifs conçus pour l’Arduino peuvent ne
pas fonctionner avec le Pi sauf si un translateur de niveau ou un isolateur optique
vient s’intercaler entre les deux. De la même manière, si l’on relie directement au
port GPIO du Pi les broches d’un microcontrôleur en 5 V, cela ne fonctionnera pas
et cela peut endommager de façon irréversible le Pi.
// Bus I²C
Comme son nom l’indique, le bus I²C (Inter-Integrated Circuit) est conçu pour
permettre des communications entre plusieurs circuits intégrés. Dans le cas du Pi,
l’un de ces circuits intégrés est le processeur Broadcom BCM2835 qui constitue
le cœur du système. Ces broches sont reliées à des résistances pull-up situées sur
le Pi, ce qui signifie qu’il n’y a pas besoin de résistances externes pour accéder à
la fonctionnalité I²C.
Le bus I²C est accessible sur les broches 3 et 5, la broche 3 fournissant le signal
de la ligne de données série (SDA) et la broche 5 le signal de la ligne d’horloge
série (SCL). Le bus I²C disponible sur ces broches est en fait l’un des deux bus
fournis par la puce BCM2835 : il s’agit du bus 0 sur un Raspberry Pi modèle B révi-
sion 1 et du bus 1 sur tous les autres Raspberry Pi. Le second bus I²C est réservé
à l’usage du Module de caméra et à l’écran tactile.
© Dunod – Toute reproduction non autorisée est un délit.
// Bus SPI
Le bus SPI (Serial Peripheral Interface) est un bus série synchrone qui offre
des performances améliorées par rapport au bus I²C. Le bus SPI a quatre fils
avec plusieurs lignes Chip Select, qui permettent de communiquer avec plusieurs
périphériques cibles.
Le bus SPI du Pi est disponible sur les broches 19, 21 et 23, avec deux lignes
Chip Select sur les broches 24 et 26. La broche 19 fournit le signal MISO (Master
Output, Slave Input), la broche 21 le signal MISO (Master Input, Slave Output), la
broche 23 le signal SLCK (Serial Clock) utilisé pour synchroniser la communica-
tion, les broches 24 et 26 les signaux Chip Select pour gérer jusqu'à deux péri-
phériques esclaves indépendants.
Pour assembler le circuit, vous avez besoin d’une breadboard, de deux fils de
raccordement, d’une LED et d’une résistance pour limiter le courant (voir l’enca-
dré « Calcul de la valeur d’une résistance pour limiter le courant »). Bien qu’il soit
possible d’assembler le circuit sans breadboard en reliant les fils ensemble, une
© Dunod – Toute reproduction non autorisée est un délit.
Figure 14.4 Circuit sur une breadboard d’une simple LED activée sur une sortie du GPIO
Mise en garde
Soyez très prudent quand vous connectez des câbles au port GPIO. Comme nous
l’avons déjà mentionné plus haut dans ce chapitre, vous pouvez causer des dégâts
sérieux au Pi si vous connectez les mauvaises broches.
output (11, True) au projet Python pour activer la broche, il est plus intéres-
sant de faire clignoter la LED. Tout d’abord, ajoutez la ligne suivante pour créer
une boucle infinie dans le programme :
while True:
Ensuite, ajoutez les lignes suivantes pour activer la broche, attendre
2 secondes, puis la désactiver à nouveau avant d’attendre deux autres secondes.
Assurez-vous que chaque ligne commence par quatre espaces pour signifier
qu’elle fait partie de la boucle infinie while :
GPIO.output(11, True)
time.sleep(2)
GPIO.output(11, False)
time.sleep(2)
Figure 14.5 Montage sur une breadboard d’une simple entrée sous forme de bouton-poussoir
Comme dans l’exemple précédent, il s’agit d’un programme simple que l’on
peut adapter à de nombreuses autres utilisations. Le même code peut servir à
détecter si les broches d’un autre appareil, par exemple un capteur ou un micro-
contrôleur, sont à l’état high ou low.
Mise en garde
Les fers à souder deviennent très chauds pendant leur utilisation, et la soudure
elle-même contient des produits chimiques dangereux pour votre santé. Faites très
attention lorsque vous utilisez un fer à souder, et assurez-vous que votre espace
de travail est bien rangé, ne comporte pas de matériaux inflammables et soit bien
aéré. Lavez-vous les mains avant et après l’utilisation de soudure.
Quand vous avez soudé une broche, répétez l’opération sur les 39 broches res-
tantes afin de fixer parfaitement le connecteur GPIO. Nettoyez la panne de votre
fer à souder et étamez-la à nouveau, et débranchez le fer afin de laisser refroidir
à la fois le fer à souder et le Pi Zéro. Si vous avez utilisé du scotch pour maintenir
les broches en place, vous pouvez à présent le retirer. Si vous souhaitez une fini-
tion impeccable, vous pouvez aussi laver les résidus de flux de la soudure sur le
Pi Zéro avec n’importe quel nettoyeur de flux que l’on trouve dans le commerce.
Avant de rebrancher le Pi Zéro, regardez attentivement les points de soudure
pour vous assurer que vous n’avez pas créé de court-circuit sur les broches en
utilisant trop de soudure. Si c’est le cas, faites chauffer votre fer et utilisez-le pour
faire fondre la soudure puis retirez tout excès avec de la tresse à dessouder ou
une pompe à dessouder pour ne pas endommager le Pi Zéro.
/> Chapitre
Module de caméra
15
Conçue par des ingénieurs travaillant pour la Fondation Raspberry Pi, le module
de caméra est un dispositif ultra compact qui permet de prendre des photos et
des vidéos. Ce module, qui se connecte à l’interface CSI (Camera Serial Interface)
du Raspberry Pi, mesure seulement 25 mm sur son bord le plus long et ne pèse
que 3 grammes (figure 15.1).
© Dunod – Toute reproduction non autorisée est un délit.
Depuis son lancement, le module de caméra a trouvé sa place dans des projets
variés, qui vont du système domotique de vidéosurveillance à des expériences de
vision plus complexes qui suivent les gestes du visage ou de la main de l’utilisa-
teur. Le module s’est même rapproché de l’espace à la suite de projets de photo-
graphie où un Raspberry Pi est fixé sur un ballon météo pour prendre des images
en direct à haute altitude.
Insérez l’extrémité libre de la nappe dans le port CSI, en vous assurant que
les contacts argentés sont orientés vers la gauche du Pi et la partie bleue de
la nappe vers la droite. Enfoncez doucement la nappe jusqu’au bout, en faisant
attention à ne pas la plier, et repoussez ensuite les ergots pour fixer le tout
(figure 15.4). Lorsqu’elle est correctement insérée, la nappe doit ressortir du
connecteur parfaitement droite et doit supporter que l’on tire légèrement des-
sus. Ne tirez cependant pas trop fort sur la nappe lors du test, car cela pourrait
l’endommager.
Mise en garde
Lorsque vous utilisez le module de caméra avec un boîtier Raspberry Pi, vous
devez en général glisser la nappe dans une fente mince ou bien entre les couches
© Dunod – Toute reproduction non autorisée est un délit.
>_
vante saisie dans la console ou le terminal (voir le chapitre 3 pour plus de détails) :
sudo apt-get update && sudo apt-get upgrade
>_
sissez la commande suivante pour charger l’outil :
sudo raspi-config
Une fois que le Pi a redémarré, votre module de caméra est prêt à l’emploi.
Il y a cependant une dernière étape qui est facultative : si vous voulez visionner
les photos prises depuis la console de Raspbian sans avoir à charger l’interface
utilisateur graphique, vous devez installer l’utilitaire fbi qui permet de visualiser
>_
des images. Pour ce faire, saisissez la commande suivante :
sudo apt-get install fbi
Pour afficher des images en utilisant cet outil (figure 15.6), il suffit de saisir la
>_
commande suivie du nom d’une image :
FBI -a fichier-image.jpg
© Dunod – Toute reproduction non autorisée est un délit.
>_
saisissant la commande suivante :
raspistill -o testcapture.jpg
>_
exemple, utilisez la commande suivante :
raspistill -o testcapture.png -e png
Pour enregistrer dans un autre format que le format PNG, il suffit de passer en
paramètre à l’option -e le format dans lequel on veut enregistrer l’image (bmp,
gif ou jpg). Si vous oubliez dans la commande l’option -e, le fichier sera toujours
enregistré, mais au format JPEG.
Deux autres options, qui sont couramment utilisées, permettent d’ajuster la
largeur et la hauteur de l’image capturée. Cela peut se révéler très pratique pour
la capture d’images en basse résolution dans le cadre d’un projet de vision par
ordinateur, ou tout simplement pour économiser de l’espace sur la carte SD.
Vous pouvez régler la largeur de l’image capturée avec l’option -w et la hau-
teur avec -h. Ces options sont la plupart du temps utilisées ensemble pour défi-
nir la résolution globale de l’image. Pour capturer une image d’une largeur de
1 920 pixels sur une hauteur de 1 080 pixels (qui est la même résolution que celle
>_
d’un téléviseur HD ou d’un film en Blu-ray), saisissez la commande suivante :
raspistill -w 1920 -h 1080 -o fullhdcapture.jpg
© Dunod – Toute reproduction non autorisée est un délit.
La dernière option de base à connaître est -t, qui contrôle le délai d’attente
de la prévisualisation. Par défaut, raspistill affiche un aperçu en direct de
5 secondes avant de capturer une photo, mais l’option -t permet de modifier
cette valeur par défaut. Le délai doit être spécifié en millisecondes. Pour capturer
>_
une image après un délai de 10 secondes, utilisez la commande suivante :
raspistill -t 10000 -o dixsecondescapture.jpg
Le nom de fichier précisé après l’option -o peut être choisi librement, mais vous
devez toujours ajouter l’extension appropriée à votre type de fichier (.jpg, .png, .bmp
ou .gif).
Pour une description complète de toutes les options de raspistill, reportez-
vous à l’annexe B. Vous pouvez également saisir la commande suivante pour affi-
>_
cher la liste des options :
raspistill --help | less
Enregistrement vidéo
De la même manière qu’il y a une application dédiée à la capture des images
pour le module de caméra Raspberry Pi, il y a une autre application pour la cap-
ture vidéo : raspivid. L’utilisation de raspivid est similaire à celle de raspistill,
mais il existe plusieurs différences que vous devez connaître avant de commencer.
La différence la plus importante entre raspivid et raspistill réside dans l’op-
tion -t. Avec raspistill, l’option -t indique le délai de prévisualisation avant la
capture de l’image, alors qu’avec raspivid, l’option -t indique la limite tempo-
relle de l’enregistrement de la vidéo. Si vous indiquez la valeur 0, l’enregistrement
vidéo est permanent, ce qui remplira rapidement votre carte SD ou votre périphé-
rique de stockage externe…
Comme avec raspistill, la valeur par défaut de l’option –t est de cinq
secondes. Ainsi, pour vérifier que la caméra fonctionne et enregistrer une courte
vidéo, vous pouvez saisir la commande suivante (l’option -o préciser toujours le
>_
nom du fichier de sortie) :
raspivid -o testvideo.h264
>_
de la vidéo enregistrée, utilisez les options -w et –h, comme dans l’exemple suivant :
raspivid -w 1280 -h 720 -o hdvideo.h264
>_
sez la commande suivante :
raspivid -t 60000 -o minutevideo.h264
Astuce
>_
consultant la liste des options disponibles avec la commande suivante :
raspivid --help | less
Réaliser un time-lapse
Jusqu’ici, vous avez appris les rudiments de l’utilisation du module de caméra.
Il est maintenant temps de voir comment on peut utiliser la caméra dans un véri-
table projet. Le principal avantage du Raspberry Pi par rapport à une caméra
connectée est sa capacité à être programmé pour différentes tâches. Dans cet
exemple, vous allez transformer votre Raspberry Pi couplé au module de caméra
en un système de photographie en time-lapse.
Le logiciel raspistill a une option time-lapse intégrée, -tl. En utilisant cette
option, il est possible de définir une durée en millisecondes entre les captures d’image
automatisées. La valeur que vous allez choisir dépendra en grande partie de ce que
vous essayez de photographier : si vous voulez photographier en time-lapse l’évo-
© Dunod – Toute reproduction non autorisée est un délit.
lution de la météo sur une journée, vous pouvez définir un délai de capture de dix
secondes ; en revanche, si vous souhaitez documenter la construction d’un bâtiment
sur une période de plusieurs mois, un délai d’une demi-heure est plus approprié.
Lors du choix de la fréquence de capture des images, essayez d’estimer le
nombre d’images que vous allez générer : une capture pendant un mois avec
un déclenchement de l’appareil toutes les dix secondes générera environ
242 000 images, qui, à des résolutions élevées, peuvent suffire à remplir la carte
SD de votre Pi. Pensez aussi à la longueur de la vidéo finale que vous allez géné-
rer : capturer des milliers d’images pour obtenir au final une vidéo de 30 secondes
est du gaspillage, alors que si vous ne capturez qu’une centaine d’images pour
une vidéo censée durer une heure, le résultat sera très médiocre.
>_
pour vos images :
cd ~
mkdir timelapse
cd timelapse
>_
mande suivante :
raspistill -o frame%08d.jpg -tl 10000 -t 600000
Tandis que raspistill, par défaut, générerait un fichier unique qui écrase-
rait donc l’image capturée chaque fois qu’une photo serait prise à l’issue du délai
défini par l’option time-lapse, dans cet exemple le nom de fichier contient une
instruction, %08D, qui indique d’insérer un numéro incrémentiel dans le nom de
fichier chaque fois qu’une photo est prise. Ces numéros sont des numéros à huit
chiffres, avec des zéros en en-tête, si bien qu’ils sont classés dans l’ordre où les
images sont capturées, même si vous en prenez 10 000 000. L’option -tl 10000
indique au logiciel de capturer une image toutes les dix secondes, ce qui constitue
un bon point de départ pour tester cette fonctionnalité. L’option -t indique que la
capture dure pendant dix minutes (600 secondes, soit 600 000 millisecondes).
Lorsque vous testez l’option time-lapse, vous pouvez modifier ces deux
valeurs : une option –tl courte générera plus d’images pour un résultat final plus
fluide, alors qu’un délai plus long permettra de capturer des images sur une plus
longue période de temps sans remplir votre espace de stockage. Le délai exprimé
par l’option -t doit toutefois durer aussi longtemps qu’il le faut pour que vous
ayez le temps de capturer la totalité de l’événement ; en cas de doute, définissez
une valeur plus élevée que celle dont vous avez besoin et vous pourrez, si cela est
nécessaire, interrompre la capture en cours avec les touches Ctrl + C (vous ne
perdrez aucune des images déjà capturées).
L’option time-lapse (accéléré) est souvent utilisée pour passer en accéléré une
tâche longue ou complexe dans une vidéo de divertissement. Dans les publicités,
des vidéos en accéléré, qui peuvent s’avérer extrêmement coûteuses à réaliser,
sont souvent utilisées pour filmer la croissance des plantes, la construction de
bâtiments ou le flux de la circulation routière. Les Raspberry Pi savent faire toutes
ces choses, mais à coût dérisoire.
Les images que vous avez capturées peuvent être transformées en vidéo, avec
un logiciel de montage vidéo ou bien avec l’utilitaire avconv. Bien que avconv
puisse s’exécuter sur le Raspberry Pi lui-même, c’est un programme exigeant
beaucoup de ressources et qui peut prendre un temps considérable à produire un
résultat si vous avez un grand nombre d’images en haute résolution à convertir.
Si vous avez la patience de réaliser la conversion sur un Pi, installez avconv avec
>_
la commande suivante :
sudo apt-get install libav-tools
Cette commande crée une vidéo avec une fréquence de dix images par seconde
à partir des images JPEG enregistrées précédemment par raspistill. Pour
accélérer encore plus la vidéo, vous pouvez modifier l’option -r : -r 15 affichera
15 images par seconde et -r 20, 20 images par seconde, et ainsi de suite. La vidéo
convertie peut ensuite être partagée directement ou téléchargée sur un site de
streaming vidéo comme YouTube, Dailymotion ou Vimeo.
© Dunod – Toute reproduction non autorisée est un délit.
/> Chapitre
Matériels
additionnels
16
Le Raspberry Pi est bien plus qu’un simple ordinateur sur une seule carte ; il
s’agit d’un écosystème complet. Le faible coût du Pi, sa disponibilité immédiate
ainsi que ses connecteurs d’extension ont déclenché une véritable révolution
créatrice parmi les ingénieurs et les makers du monde entier qui ont construit des
centaines de périphériques compatibles avec le Pi, dont beaucoup se connectent
via le port GPIO.
Outre des sociétés qui produisent des accessoires, la Fondation Raspberry Pi
a conçu une gamme de modules additionnels qui étendent les capacités du Ras-
pberry Pi. Certains d'entre eux, comme le module caméra du Raspberry Pi et
l’adaptateur Wi-Fi, ont déjà été évoqués plus haut dans ce livre. Les autres maté-
riels seront abordés dans ce chapitre, avec des instructions pour leur installation
et leur utilisation.
Au moment de la rédaction de cet ouvrage, la Fondation Raspberry Pi avait
produit les matériels additionnels suivants :
>> Bloc d’alimentation universel : fournit une alimentation de qualité pour
n’importe quel modèle de Raspberry Pi ou tout autre appareil ayant une
prise micro-USB (voir le chapitre 2).
>> Adaptateur Wi-Fi : utilisé pour ajouter des fonctionnalités de réseau sans fil
© Dunod – Toute reproduction non autorisée est un délit.
Mise en garde
Fixez le premier panneau latéral, qui a des découpes pour l’alimentation et les
ports HDMI et audiovisuel analogique, en le poussant doucement jusqu'à ce que
vous entendiez un clic. Fixez de la même façon le deuxième panneau latéral qui
est plein, ou ne le mettez pas en place afin de fournir un accès facile au port GPIO.
C’est terminé et vous pouvez admirer votre ouvrage !
// Installation
Commencez par défaire l’écran de son emballage, en prenant particulièrement
soin des bords de l’écran et de la nappe mince qui se connecte à la carte adapta-
teur, à l’arrière du châssis de l’écran (figure 16.5). Si vous endommagez ce câble,
vous ne pourrez plus utiliser l’écran tactile ; en outre, les bords de l’écran peuvent
se fissurer si vous ne les manipulez pas avec soin. La surface de l’écran tactile
est protégée par une couche de plastique ; pour éviter de rayer l’écran, laissez la
couche protectrice en place jusqu'à ce que vous ayez finalisé l’installation.
Si les vis fournies avec l’écran tactile sont déjà fixées aux montants métalliques,
enlevez-les à l’aide d’un tournevis cruciforme. Si le montant commence à tourner,
tenez-le entre les doigts pour le maintenir en place pendant que vous enlevez la
vis, puis tournez doucement pour le resserrer. Prenez votre Pi et placez-le de telle
sorte que les trous de montage soient au sommet des montants (le port HDMI
étant orienté vers le bas), et que le connecteur DSI soit le plus proche de la nappe
qui sort de l’adaptateur. Placez les vis dans les trous de fixation et serrez-les, mais
pas trop parce que cela risquerait d’endommager le Pi et l’écran.
Si votre Pi n’a pas de carte micro-SD insérée, mettez en une maintenant avant
de soulever les languettes de la prise du connecteur DSI pour l’ouvrir. Prenez l’ex-
trémité libre de la nappe et insérerez-la dans le connecteur DSI du Pi, les contacts
argentés orientés vers le corps du Pi (figure 16.7) ; la nappe doit former une courbe
régulière entre le Pi et la carte adaptateur sans aucune torsion. Repoussez les
languettes pour bien fixer la nappe et encore une fois, vérifiez qu’elle est correc-
tement connectée en tirant légèrement dessus.
Pour allumer l’écran tactile, insérez un câble micro-USB connecté à une ali-
mentation 5 V de bonne qualité dans le connecteur micro-USB situé en bas de la
carte adaptateur. Vous pouvez ensuite utiliser un second câble micro-USB et une
deuxième alimentation de 5 V pour fournir du courant au Pi, ou bien vous bran-
cher directement sur la carte adaptateur. Le principal avantage de cette dernière
solution est que vous n’aurez besoin que d’un seul câble allant de l’écran à une
prise électrique.
Sense HAT
Le Sense HAT est une carte d’entrées-sorties multifonction, conçue pour être
utilisée dans le programme Astro Pi ; actuellement, cette carte est en orbite
autour de la terre dans le cadre d’un projet scientifique mené dans la Station spa-
tiale internationale. Ses capteurs embarqués indiquent l’orientation et la position
de la carte (grâce à un gyroscope, un accéléromètre et un magnétomètre), ainsi
que la pression atmosphérique, la température et l’humidité de l’air ambiant. Une
matrice d’affichage LED 8 × 8 fournit une sortie, et des interactions sont pos-
sibles grâce au joystick du Sense HAT (figure 16.9).
Mise en garde
// Installation
Commencez par fixer les quatre montants fournis avec le Sense HAT dans les
trous de fixation du Raspberry Pi à l’aide d’un tournevis cruciforme et des quatre
vis livrées. Placez l’une des vis dans un trou de fixation du Raspberry Pi et mainte-
nez le tout en place pendant que vous vissez le montant de fixation sur le dessus
du Pi sans trop serrer (figure 16.10). Si vous utilisez un Pi Zéro, vous ne pourrez
fixer que deux montants ; ceux-ci doivent être insérés dans les deux trous de mon-
tage du haut. Ensuite, placez le Sense HAT sur les broches GPIO du Pi, en veillant
à aligner soigneusement les broches avec le connecteur femelle sur le dessous
du Sense HAT. Enfin, fixez le Sense HAT avec les quatre vis restantes, à nouveau
en veillant à ne pas trop serrer.
© Dunod – Toute reproduction non autorisée est un délit.
>_
du Sense HAT :
wget -O – http://www.raspberrypi.org/files/astro-pi/astro-pi-install.sh
--no-check-certificate | bash
>_
marrer votre Pi avec la commande suivante :
sudo reboot
Pour lire les capteurs embarqués du Sense HAT, créez un nouveau fichier
© Dunod – Toute reproduction non autorisée est un délit.
>
les commandes suivantes :
mkdir ~/sense-hat
_
cp /usr/src/sense-hat/examples/python-sense-hat/* ~/sense-hat
sudo chown pi:pi ~/sense-hat/*
Si votre nom d’utilisateur n’est pas pi, n’oubliez pas de changer le nom d’uti-
lisateur et le nom de groupe dans la dernière commande chown afin que votre
nom d’utilisateur soit autorisé à modifier les fichiers. Vous êtes alors libre de
modifier ces exemples comme bon vous semble, de les transformer pour un
tout autre usage ou tout simplement de les tester sans crainte d’altérer les
originaux.
Vous trouverez la documentation complète de l’API du Sense HAT à pythonhosted.
org/sense-hat, et des ressources supplémentaires ainsi que des exemples en Python
et en Scratch à astro-pi.org et raspberrypi.org/resources.
Norme HAT
Le Sense HAT est l’une des nombreuses cartes additionnelles pour le Raspberry
Pi basée sur la norme HAT (Hardware Attached on Top, en français : matériel fixé
sur le dessus).La Fondation Raspberry Pi a créé le standard HAT pour faciliter le
travail des développeurs qui produisent des matériels et leur garantir le fonc-
tionnement de leur production sur les Raspberry Pi modèles A+, B+, Pi 2, Pi 3 et
Pi Zéro.
La norme couvre à la fois la conception physique et électrique des cartes addition-
nelles. Pour se conformer à la norme HAT, la carte doit se connecter aux 40 broches
du port GPIO et avoir des trous de fixation qui s’alignent avec ceux du Raspberry Pi
modèle B+ et des modèles plus récents. La carte doit également être rectangulaire
et mesurer 65 mm par 56 mm, afin de garantir qu'elle s’adapte parfaitement sur le
dessus du Raspberry Pi modèle A+ et des modèles plus larges.
© Dunod – Toute reproduction non autorisée est un délit.
redColour = pygame.Color(255, 0, 0)
blackColour = pygame.Color(0, 0, 0)
whiteColour = pygame.Color(255, 255, 255)
greyColour = pygame.Color(150, 150, 150)
snakePosition = [100,100]
snakeSegments = [[100,100], [80,100], [60,100]]
raspberryPosition = [300,300]
raspberrySpawned = 1
direction = 'right'
…
Annexe A : Recettes Python /263
…
changeDirection = direction
def gameOver():
gameOverFont = pygame.font.Font('freesansbold.ttf', 72)
gameOverSurf = gameOverFont.render ('Game Over', True, greyColour)
gameOverRect = gameOverSurf.get_rect()
gameOverRect.midtop = (320, 10)
playSurface.blit(gameOverSurf, gameOverRect)
pygame.display.flip()
time.sleep(5)
pygame.quit()
sys.exit()
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
elif event.type == KEYDOWN:
if event.key == K_RIGHT ou event.key == ord('d'):
changeDirection = 'right'
if event.key == K_LEFT ou event.key == ord('a'):
changeDirection = 'left'
if event.key == K_UP ou event.key == ord('w'):
changeDirection = 'up'
if event.key == K_DOWN ou event.key == ord('s'):
changeDirection = 'down'
if event.key == K_ESCAPE:
pygame.event.post(pygame.event.Event(QUIT))
if changeDirection == 'right' and not direction == 'left':
direction = changeDirection
if changeDirection == 'left' and not direction == 'right':
direction = changeDirection
if changeDirection == 'up' and not direction == 'down':
direction = changeDirection
if changeDirection == 'down' and not direction == 'up':
direction = changeDirection
if direction == 'right':
snakePosition[0] += 20
if direction == 'left':
snakePosition[0] -= 20
if direction == 'up':
snakePosition[1] -= 20
…
264/ Annexe A : Recettes Python
…
if direction == 'down':
snakePosition[1] += 20
snakeSegments.insert(0,list(snakePosition))
if snakePosition[0] == raspberryPosition[0] and snakePosition[1] ==
raspberryPosition[1]:
raspberrySpawned = 0
else:
snakeSegments.pop()
if raspberrySpawned == 0:
x = random.randrange(1,32)
y = random.randrange(1,24)
raspberryPosition = [x*20,y*20]
raspberrySpawned = 1
playSurface.fill(blackColour)
for position in snakeSegments:
pygame.draw.rect(playSurface,whiteColour,Rect(position[0],
position[1], 20, 20))
pygame.draw.rect(playSurface,redColour,Rect(raspberryPosition[0],
raspberryPosition[1], 20, 20))
pygame.display.flip()
if snakePosition[0] > 620 ou snakePosition[0] < 0:
gameOver()
if snakePosition[1] > 460 ou snakePosition[1] < 0:
gameOver()
for snakeBody in snakeSegments[1:]:
if snakePosition[0] == snakeBody[0] and snakePosition[1] == snakeBody[1]:
gameOver()
fpsClock.tick(20)
#!/usr/bin/env python
# IRC User List
# Written by Tom Hudson for the Raspberry Pi User Guide
# http://tomhudson.co.uk/
import sys, socket, time
RPL_NAMREPLY = '353'
RPL_ENDOFNAMES = '366'
irc = {
'host': 'chat.freenode.net',
…
Annexe A : Recettes Python /265
…
'port': 6667,
'channel': '#raspiuserguide',
'namesinterval': 5
}
user = {
'nick': 'botnick',
'username': 'botuser',
'hostname': 'localhost',
'servername': 'localhost',
'realname': 'Raspberry Pi Names Bot'
}
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print 'Connecting to %(host)s:%(port)s…' % irc
try:
s.connect((irc['host'], irc['port']))
except socket.error:
print 'Error connecting to IRC server %(host)s:%(port)s' % irc
sys.exit(1)
s.send('NICK %(nick)s\r\n' % user)
s.send('USER %(username)s %(hostname)s %(servername)s : %(realname)s\r\n' % user)
s.send('JOIN %(channel)s\r\n' % irc)
s.send('NAMES %(channel)s\r\n' % irc)
read_buffer = ''
names = []
while True:
read_buffer += s.recv(1024)
lines = read_buffer.split('\r\n')
read_buffer = lines.pop()
for line in lines:
response = line.rstrip().split(' ', 3)
response_code = response[1]
if response_code == RPL_NAMREPLY:
names_list = response[3].split(':')[1]
names += names_list.split(' ')
if response_code == RPL_ENDOFNAMES:
print '\nUsers in %(channel)s:' % irc
for name in names:
print name
names = []
time.sleep(irc['namesinterval'])
s.send('NAMES %(channel)s\r\n' % irc)
Options partagées
Les options suivantes, qui sont listées par ordre alphabétique, sont communes
à raspistill et raspivid. Les options qui sont spécifiques à chaque application
sont listées après cette section.
>> -? ou --help : affiche toutes les options et leur syntaxe.
>> -a ou --annotate : autorise l’application d’annotations textuelles à des
vidéos ou des photos. Tout texte passé entre guillemets à la suite de cette
option sera affiché sur toutes les photos ou les vidéos capturées. Outre ce
texte, on peut ajouter d’autres informations en adoptant la syntaxe sui-
vante : -a N ou --annotate N, où N est l’un des nombres décrits ci-dessous
ou bien la somme de plusieurs nombres si l’on souhaite afficher plusieurs
informations :
© Dunod – Toute reproduction non autorisée est un délit.
>> -k ou --keypress (mode de capture avec une touche) : capture les photos
ou les vidéos quand on appuie sur la touche Entrée, à la place de la capture
automatique. Quand on prend des photos, une image est prise chaque fois
que l’on appuie sur la touche Entrée ; quand on filme une vidéo, l’appui sur
la touche Entrée permet de basculer entre le mode enregistrement et le
mode pause. Dans les deux cas, l’appui sur la touche X, suivi par l’appui sur
la touche Entrée quitte l’application et arrête le processus de capture.
>> -md ou --mode (mode du capteur) : définit le mode du capteur, qui contrôle
la résolution, le format de l’image, la fréquence des images en fps (frames
per second, c’est-à-dire images par seconde), le champ de vision et le binning
(mode d’optimisation du capteur où les pixels sont combinés ; cela réduit
pistill, l’option --timeout définit le délai avant la prise de vue ; avec ras-
pivid, l’option définit la durée d’enregistrement de la vidéo. Une valeur de 0
avec raspistill affiche indéfiniment la prévisualisation et ne prend jamais
de photo ; une valeur de 0 avec raspivid enregistre indéfiniment. S’il n’est
pas spécifié, la valeur par défaut du paramètre est égale à 5 secondes (soit
5 000 millisecondes).
>> -v ou --verbose (mode bavard) : le mode bavard dit à l’application de cap-
ture d’afficher autant d’informations que possible sur ce qu’elle fait dans
le terminal ou la console. Cette option n’est en général utilisée que pour le
débogage du logiciel car elle permet à l’utilisateur de voir à quel moment la
capture échoue.
Options de raspistill
Conçu pour capturer les images fixes, raspistill a certaines options spéci-
fiques qui ne s’appliquent pas à raspivid. Voici la liste de ces options :
>> -bm ou --burst (capture en mode rafale) : capture plusieurs photos sans
repasser par le mode de prévisualisation, ce qui empêche de perdre des
images quand on capture des images sur un délai très court.
>> -dt ou --datetime (mode date heure) : quand on capture plusieurs images,
utilise un horodatage dans le nom du fichier (format Année Mois Jour Heure
Minute Seconde) au lieu d’un numéro d’image incrémenté.
>> -e ou --encoding (format d’encodage) : définit le format de sortie de
l’image. Cela n’affecte pas l’extension du fichier de sortie, qui doit être chan-
gée manuellement à l’aide de l’option --output. Les valeurs possibles de
cette option sont : jpg, bmp, gif, et png.
>> -fp ou – fullpreview (mode complet de prévisualisation) : utilise la même
résolution pour l’image de prévisualisation en direct que pour la capture.
Cela fournit une représentation fidèle de l’image qui sera capturée, mais
l’option est limitée à 15 images par seconde. Cela élimine le délai de commu-
tation du capteur pendant la capture rapide, de la même manière que lors-
qu’on utilise l’option du mode rafale ; il ne faut pas utiliser ces deux options
en même temps.
>> -fs ou – framestart (numéro de départ de l’image) : spécifie le numéro à partir
duquel on doit commencer à compter les images capturées, qui est utilisé dans
le nom de fichier. Cette option peut être utilisée pour poursuivre une série de
captures qui a été interrompue sans avoir à écraser les fichiers existants.
>> -g ou – gl (texture GL) : trace une image de prévisualisation avec une tex-
ture GL au lieu d’utiliser le composant de rendu vidéo.
général, cela est utile quand on emploie raspistill avec un script ou une
application tierce en définissant le fichier de sortie sur la sortie standard avec
un trait d’union (-) ; quand on utilise cette option avec un nom de fichier dans
l’option --output, le fichier est écrasé chaque fois qu’une nouvelle image est
capturée. La valeur de cette option doit être le délai entre les captures en mil-
lisecondes. raspistill s’arrêtera toujours après --timeout secondes.
>> -ts ou --timestamp (horodatage) : quand on capture plusieurs images, uti-
lise la date et l’heure actuelle dans le nom de fichier (en employant le format
UNIX d’horodatage) au lieu d’un numéro d’image incrémenté.
>> -x ou --exif (métadonnées EXIF) : autorise l’écriture de métadonnées per-
sonnalisées EXIF (Exchangable Image File Format) dans une image JPEG, ce
Options de raspivid
Conçu pour capturer des images animées, raspivid a des options spécifiques
qui ne s’appliquent pas à raspistill. Voici la liste de ces options :
>> -b ou --bitrate (bitrate) : définit le bitrate (débit) de la vidéo capturée, en
bits par seconde (bps). Plus le bitrate est élevé, meilleure sera la qualité de la
vidéo finale, mais cela aura un impact sur la taille du fichier. À moins d’avoir
des besoins très précis, vous ne devez pas modifier ce paramètre et laisser
la valeur par défaut.
>> -c ou --circular (tampon circulaire) : enregistre en permanence la vidéo
dans une mémoire tampon, en écrivant les séquences les plus récentes (spé-
cifiées par l’optin -t ou --timeout) sur le disque quand on appuie sur la
touche Entrée ou qu’un signal USR1 est reçu.
>> -cd ou --codec (codec) : donne le choix entre deux codecs possibles : H264
(codec par défaut) ou MJPEG.
>> -e ou --penc (encodage de la prévisualisation) : utilise la fenêtre de pré-
visualisation pour afficher les images vidéo après qu’elles sont passées par
l’encodeur. Fournit une prévisualisation précise de la vidéo finale ; cette
option est principalement utilisée quand on veut optimiser le bitrate d’en-
codage.
>> -fl ou --flush (vidage des tampons) : vide les tampons afin de réduire la
latence.
>> -fps ou --framerate (fréquence de trame) : définit la fréquence de trame de
la vidéo capturée, en images par seconde. Un chiffre élevé procure une vidéo
fluide, alors qu’un chiffre plus bas occupera moins d’espace sur le disque.
L’enregistrement à une fréquence supérieure à 30 images par seconde, qui
peut être transformé en ralenti avec une application d’édition vidéo, ne fonc-
tionnera probablement qu’à des résolutions inférieures (définies avec les
options --width et --height).
>> -g ou --intra (Intra Refresh Period) : définit la fréquence à laquelle une
iframe doit être capturée. Une iframe est une image complète, et non pas les
modifications enregistrées depuis la dernière image. Plus la fréquence des
iframes sera élevée, meilleure sera la qualité de la vidéo, notamment quand
il y a des changements de plans rapides, mais la taille des fichiers sera plus
importante.
>> -i ou --initial (mode initial) : contrôle le mode dans lequel sera raspivid
quand il s’exécute : enregistrement (mode par défaut) ou pause.
Vous pouvez utiliser les valeurs des tableaux C.1 et C.2 avec l’option hdmi_mode
du fichier config.txt pour modifier le format de sortie vidéo HDMI. Pour de plus
amples informations, consultez le chapitre 7.
Valeur Description
1 VGA (640×480)
2 480p 60 Hz
3 480p 60 Hz (format d’image 16:9)
4 720p 60 Hz
5 1080i 60 Hz
6 480i 60 Hz
7 480i 60 Hz (format d’image 16:9)
8 240p 60 Hz
9 240p 60 Hz (format d’image 16:9)
10 480i 60 Hz (quadruplement des pixels)
11 480i 60 Hz (quadruplement des pixels) (format d’image 16:9)
© Dunod – Toute reproduction non autorisée est un délit.
Valeur Description
1 640×350 85 Hz
2 640×400 85 Hz
3 720×400 85 Hz
4 640×480 60 Hz
5 640×480 72 Hz
6 640×480 75 Hz
7 640×480 85 Hz
8 800×600 56 Hz
9 800×600 60 Hz
10 800×600 72 Hz
11 800×600 75 Hz
12 800×600 85 Hz
13 800×600 120 Hz
14 848×480 60 Hz
15 1024×768 43 Hz, incompatible avec le Raspberry Pi
16 1024×768 60 Hz
17 1024×768 70 Hz
18 1024×768 75 Hz
19 1024×768 85 Hz
20 1024×768 120 Hz
21 1152×864 75 Hz
22 1280×768 (suppression réduite)
23 1280×768 60 Hz
24 1280×768 75 Hz
25 1280×768 85 Hz
26 1280×768 120 Hz (suppression réduite)
© Dunod – Toute reproduction non autorisée est un délit.
installation en ligne de
commande 71 C config.txt 115
mise à jour 75 cache L2 connecteur CSI 235
recherche 72 désactivation 124
connexion automatique 101
apt 71, 72 caméra 103, 233 connexion réseau 41
ARM 29 avantages par rapport à une
consommation électrique 78
webcam 234
audio contrôle à distance 103
guide de références 269
connexion 36 CSI 233, 235
installation 235
lecture depuis la console 131
time-lapse 243 D
B versions 234 Debian 59, 63
BCM2835 22, 30 carte SD 24, 39 démarrage
BCM2836 22, 30 formatage 40 configuration avancée 119
BCM2837 22, 30 organisation logique 67 diagnostics 81
Index /285
dépannage 77 I Minecraft 191
DHCP 42 Minecraft Pi Edition
I²C 104, 221
diode ACT 81 API 191
IDLE 168
diode PWR 81 installation 192
ifconfig 82
distribution Linux 49 lancement 192
Image Writer 51
DSI 23, 36 programmation 195
infrarouge 234
DVI 35 mise à jour 75
installation
moc 131
à l'aide de NOOBS 46
E mode test 125
manuelle 48
écran montage 65
interface CSI 233
connexion 33 mot de passe par défaut 59
interfaces
écran tactile 7 pouces 250 modification 99
activation et désactivation 102
électronique
achat des composants 207
iwconfig 92 N
nom d’utilisateur par défaut 59
équipement de base 203 J
NOOBS
environnement graphique jeu de caractères 108
copie sur une carte SD 40
lancement 59
K fichiers de configuration 113
F Kodi 135
installation 39
installation sur une carte SD 39
fer à souder 205
Fondation Raspberry Pi 9, 10,
L téléchargement 39
12, 15 langue 108 norme HAT 259
matériel officiel 247 LED 204
calcul de la résistance 222 O
fuseau horaire 109
LibreELEC 64 opérateurs booléens 161
G LibreOffice 141, 144 origine du nom Raspberry Pi 13
gestionnaire de paquets 71 Linux 30 OSMC 64, 133
Gimp 145 administration 55 choix de la langue
d'interface 135
GNU/Linux Voir Linux 30 commande cd 58
configuration 139
GPIO 23, 217 commande ls 58
streaming depuis Internet 136
bus 221 commande mkdir 58
streaming depuis un réseau
caractéristiques 220 commande mv 58 local 137
clignotement d'une LED 222 commande rm 58 outil de configuration 97
lecture de l'état d'un commande rmdir 58 overclocking 105
bouton 226 distributions 49, 55 configuration avancée 120
programmation en Python 222 glossaire 56 overscan 101
schémas de brochage 219 groupes 67
soudure du Raspberry Pi présentation 55 P
Zéro 230 pays 108
localisation 107
versions 217 performances 105
logiciel
GPU activation 238 photo
répartition de la mémoire 107 configuration avancée 126 capture 240
groupe 67 logique booléenne 161 Pidora 64
PIXEL 59
H M platine d’essai 205, 210
HAT 259 matériel port GPIO Voir GPIO 217
HDMI 35 configuration avancée 115 projet Raspberry Pi
modes d'affichage 279 historique 11
matériel additionnel 247
home cinéma 131 media center 131, 133 pygame 178
hostname 100 mémoire Python
hub USB 38 répartition 125 versions 168
286/ Index
Python 167 Raspbian 47, 59 soudure 205
boucle while 175 alternatives 64 conseils pour bien souder 212
connexion au réseau 185 applications 59 souris
constantes 185 environnement graphique 59 connexion 37
création d'un jeu 178 installation de logiciels 70 dépannage 78
création d'une variable 174 origine 63 sans fil 38
environnement de raspi-config 98 SPI 104, 221
développement intégré 168
raspistill 240 SSH 103
exécution d'un module 171 options 269, 274
startx 59
premier programme 168
raspivid 242 stockage externe 64
programmation du GPIO 222 options 269, 276
programme exécutable 172 sudo 57, 67
Remote GPIO 104 super-utilisateur 66
recettes 263
réseau
système de fichiers 67
R configuration 85
expansion 99
connexion 41
Raspberry Pi système d’exploitation
diagnostics 82
alimentation 45 installation 45
applications cloud 141 préférences 86
recommandé 47
architecture 29 test de connexion 88
system-on-chip Voir SoC 22
arrêt 76 réseau filaire 42
boîtier officiel 248 configuration 85 T
caractéristiques 21 paramétrage via la console 87
The MagPi 15
configuration avancée 113 réseau sans fil 43 time-lapse 243
dépannage 77 configuration 89
étymologie 13 connexion 90, 95 U
historique du projet 11 paramétrage via la console 91 UART 221
installation 33
résistance 204 USB
interfaces 102
code des couleurs 206 alimentation 79
magazine 15
RISC 29 hub 37, 38
matériel additionnel 247
root 66 micro 38
modèles 21
module de caméra 233 OTG 38
S
outil de configuration 97 UTF-8 108
Scratch 151
programmation 151
répartition de la mémoire 125
animations 155 V
interfaçage avec du VGA 35
stockage externe 41
matériel 163
usages 17 vidéo
premier programme 152
ventes 16 capture 242
programmation d'un jeu 157
Raspberry Pi 2 26 vidéo composite 34
© Dunod – Toute reproduction non autorisée est un délit.
sprite 153
Raspberry Pi 3 27 VNC 103
structures de contrôle 154
Raspberry Pi Compute Module 21
Raspberry Pi modèle A 24
Sense HAT 254 W
programmation 256
Raspberry Pi modèle A+ 25 Wi-Fi 43
shebang 168 adaptateur USB 44
Raspberry Pi modèle B 24
shutdown 76 pays 111
Raspberry Pi modèle B+ 25
SoC 22
Raspberry Pi Zéro 28
soudure du connecteur sortie HDMI 35 Z
GPIO 230 sortie vidéo composite 34 zone géographique 109