Vous êtes sur la page 1sur 35

Traduit de Anglais vers Français - www.onlinedoctranslator.

com
Programmation de la
Raspberry Pi™
A propos de l'auteur
Dr Simon Monk est titulaire d'un baccalauréat en cybernétique et informatique et d'un
doctorat. en génie logiciel. Il est maintenant écrivain à temps plein et a écrit de nombreux
livres, dontProgrammation Arduino, 30 projets Arduino pour le génie maléfique, Hacking
Electronics, et Fritzing pour les inventeurs. Le Dr Monk gère également le site Web
MonkMakes.com, qui propose ses propres produits. Vous pouvez le suivre sur Twitter, où
il est @simonmonk2.
Programmation de la
Raspberry Pi™
Premiers pas avec Python

DEUXIÈME ÉDITION

Simon Moine

New YorkChicago San Fransisco


Athènes Londres Madrid
Mexico Milan New Delhi
Singapour SydneyToronto
Copyright © 2016, 2013 par McGraw-Hill Education. Tous les droits sont réservés. Sauf dans la mesure permise par la loi américaine sur le droit
d'auteur de 1976, aucune partie de cette publication ne peut être reproduite ou distribuée sous quelque forme ou par quelque moyen que ce
soit, ou stockée dans une base de données ou un système de récupération, sans l'autorisation écrite préalable de l'éditeur, avec le sauf que les
listes de programmes peuvent être saisies, stockées et exécutées dans un système informatique, mais elles ne peuvent pas être reproduites
pour publication.

ISBN : 978-1-25-958741-2

IDIM : 1-25-958741-X

Le contenu de cet eBook apparaît également dans la version imprimée de ce titre : ISBN : 978-1-25-958740-5, MHID :
1-25-958740-1.

Conversion de livre électronique par codeMantra

Version 1.0

Toutes les marques déposées sont des marques déposées de leurs propriétaires respectifs. Plutôt que de mettre un symbole de marque après
chaque occurrence d'un nom de marque, nous utilisons les noms uniquement à des fins éditoriales et au profit du propriétaire de la marque,
sans intention de contrefaçon de la marque. Lorsque de telles désignations apparaissent dans ce livre, elles ont été imprimées avec des
majuscules initiales.

Les livres électroniques McGraw-Hill Education sont disponibles à des remises spéciales sur la quantité à utiliser comme primes et promotions
de vente ou à utiliser dans les programmes de formation en entreprise. Pour contacter un représentant, veuillez visiter la page Contactez-nous
sur www.mhprofessional.com.

McGraw-Hill Education, le logo McGraw-Hill Education, TAB et les habillages commerciaux associés sont des marques
commerciales ou des marques déposées de McGraw-Hill Education et/ou de ses filiales aux États-Unis et dans d'autres pays et ne
peuvent être utilisés sans autorisation écrite. Toutes les autres marques déposées sont la propriété de leurs propriétaires
respectifs. McGraw-Hill Education n'est associé à aucun produit ou fournisseur mentionné dans ce livre.

Raspberry Pi est une marque déposée de la Fondation Raspberry Pi.

Les informations ont été obtenues par McGraw-Hill Education à partir de sources considérées comme fiables.
Cependant, en raison de la possibilité d'une erreur humaine ou mécanique par nos sources, McGraw-Hill Education ou
d'autres, McGraw-Hill Education ne garantit pas l'exactitude, la pertinence ou l'exhaustivité de toute information et n'est
pas responsable des erreurs ou omissions ou les résultats obtenus à partir de l'utilisation de ces informations.

CONDITIONS D'UTILISATION

Il s'agit d'une œuvre protégée par le droit d'auteur et McGraw-Hill Education et ses concédants se réservent tous les droits sur
l'œuvre. L'utilisation de ce travail est soumise à ces termes. Sauf dans la mesure permise par la loi sur le droit d'auteur de 1976 et
le droit de stocker et de récupérer une copie de l'œuvre, vous ne pouvez pas décompiler, désassembler, désosser, reproduire,
modifier, créer des œuvres dérivées basées sur, transmettre, distribuer, diffuser, vendre, publier ou sous-licencier le travail ou une
partie de celui-ci sans le consentement préalable de McGraw-Hill Education. Vous pouvez utiliser le travail pour votre propre usage
non commercial et personnel ; toute autre utilisation de l'œuvre est strictement interdite. Votre droit d'utiliser l'œuvre peut être
résilié si vous ne respectez pas ces conditions.

LE TRAVAIL EST FOURNI "TEL QUEL". McGRAW-HILL EDUCATION ET SES CONCÉDANTS DE LICENCE N'OFFRENT AUCUNE GARANTIE QUANT À L'EXACTITUDE,

L'ADÉQUATION OU L'EXHAUSTIVITÉ OU LES RÉSULTATS À OBTENIR DE L'UTILISATION DU TRAVAIL, Y COMPRIS TOUTE INFORMATION QUI PEUT ÊTRE ACCÉDÉE

VIA LE TRAVAIL VIA UN HYPERLIEN OU AUTRE, ET REJETTENT EXPRESSÉMENT TOUTE GARANTIE, EXPRESSE OU IMPLICITE, Y COMPRIS, MAIS SANS S'Y LIMITER,

LES GARANTIES IMPLICITES DE QUALITÉ MARCHANDE OU D'ADÉQUATION À UN USAGE PARTICULIER. McGraw-Hill Education et ses concédants ne garantissent

ni ne garantissent que les fonctions contenues dans le travail répondront à vos exigences ou que son fonctionnement sera ininterrompu ou sans erreur. Ni

McGraw-Hill Education ni ses concédants de licence ne seront responsables envers vous ou quiconque d'autre pour toute inexactitude, erreur ou omission,

quelle qu'en soit la cause, dans le travail ou pour tout dommage en résultant. McGraw-Hill Education n'a aucune responsabilité pour le contenu de toute

information accessible via le travail. En aucun cas, McGraw-Hill Education et/ou ses concédants de licence ne pourront être tenus responsables des dommages

indirects, accessoires, spéciaux, punitifs, consécutifs ou similaires résultant de l'utilisation ou de l'impossibilité d'utiliser le travail, même si l'un d'entre eux a été

informé de la possibilité de tels dommages. Cette limitation de responsabilité s'applique à toute réclamation ou cause quelle qu'elle soit, que cette réclamation

ou cause découle d'un contrat, d'un délit ou autre. même si l'un d'entre eux a été avisé de la possibilité de tels dommages. Cette limitation de responsabilité

s'applique à toute réclamation ou cause quelle qu'elle soit, que cette réclamation ou cause découle d'un contrat, d'un délit ou autre. même si l'un d'entre eux a

été avisé de la possibilité de tels dommages. Cette limitation de responsabilité s'applique à toute réclamation ou cause quelle qu'elle soit, que cette réclamation

ou cause découle d'un contrat, d'un délit ou autre.


À mes frères, Andrew et Tim Monk, pour leur amour et leur sagesse.
Cette page a été intentionnellement laissée vierge
TABLE DES MATIÈRES EN UN COUP D'ŒIL

1 introduction .......................................... 1

2 Commencer ........................................ 15

3 Principes de base de Python ......................................... 25

4 Chaînes, listes et dictionnaires .......................... 41

5 Modules, classes et méthodes ......................... 65

6 Fichiers et Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

sept Interfaces utilisateur graphiques ............................... 85

8 Programmation de jeux .................................. 103

9 Matériel d'interface .................................. 115

dix Projet de fader LED. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

11 Projet de prototypage (Horloge) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

12 Robot Framboise Pi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

13 Et ensuite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

Indice ...................................................... 179

vii
Cette page a été intentionnellement laissée vierge
Contenu

Préface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Remerciements ........................................ xvii
introduction ............................................. xix

1 introduction .......................................... 1
Qu'est-ce que le Raspberry Pi ? .............................. 1
Que pouvez-vous faire avec un Raspberry Pi ? ..................... 3
Une visite du Raspberry Pi ................................ 3
Configuration de votre Raspberry Pi .............................. 5
................................
Acheter ce dont vous avez besoin 5
Connecter tout ensemble Démarrage ........................ 11
.............................................. 12
Résumé ................................................ 14

2 Commencer ........................................ 15
Linux ................................................... 15
Le bureau ............................................. 16
L'Internet ............................................. 18
La ligne de commande ...................................... 19
Naviguer avec le terminal ........................... 19
sudo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Ressources Internet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3 Bases de Python. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
INACTIF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Versions Python ....................................... 26
Coque Python .......................................... 26
Éditeur ................................................ 27
Nombres ................................................ 29
variables ................................................ 30
Pour les boucles ............................................... 31

ix
X Contenu

Dés de simulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Si . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Comparaisons .......................................... 35
Être logique ......................................... 36
Autre .................................................. 37
Tandis que ................................................... 38
Résumé ................................................ 39

4 Chaînes, listes et dictionnaires .......................... 41


La théorie des cordes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Listes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Les 43
fonctions ................................................ 46
Bourreau ................................................ 47
Dictionnaires ............................................. 55
Tuples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Affectation multiple ................................... 57
Valeurs de retour multiples ................................. 57
Des exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Résumé des fonctions .................................... 58
Nombres ............................................. 59
Cordes ............................................... 59
Listes ................................................. 61
Dictionnaires ........................................... 61
Conversions de types ..................................... 62
Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5 Modules, classes et méthodes . . . . . . . . . . . . . . . . . . . . . . . . . 65


Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Utilisation des modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Bibliothèques Python utiles ................................ 67
Orientation de l'objet ....................................... 67
Définition des classes .......................................... 68
Héritage .............................................. 70
Résumé ................................................ 73

6 Fichiers et Internet .................................. 75


Des dossiers .................................................... 75
Lecture de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Lecture de gros fichiers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Contenu xii

Écriture de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Le 78
système de fichiers ....................................... 79
Décapage ................................................. 80
l'Internet ................................................. 81
Résumé ................................................ 83

sept Interfaces utilisateur graphiques ............................... 85


Tkinter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bonjour le 85
monde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Convertisseur 85
de température ................................... 86
Autres widgets de l'interface graphique ....................................... 90
Bouton de contrôle .......................................... 91
Zone de liste ............................................... 91
Spinbox .............................................. 92
Dispositions .............................................. 92
Barre de défilement ............................................. 96
Dialogues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Sélecteur de couleurs ........................................ 98
Sélecteur de fichiers .......................................... 99
Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
La toile .............................................. 100
Résumé ................................................ 101

8 Programmation de jeux .................................. 103


Qu'est-ce que Pygame ? ......................................... 103
Coordonnées ............................................. 103
Bonjour Pygame ............................................ 104
Un jeu de framboise ....................................... 106
Suivre la souris ................................... 107
Une Framboise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Détection et notation des captures . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Horaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Beaucoup de framboises. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

9 Matériel d'interface .................................. 115


Connexions des broches GPIO .................................... 115
Fonctions des broches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Broches d'interface série . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
xii Contenu

Broches d'alimentation ............................................ 117


Épingles à chapeau .............................................. 118
Planche à pain avec fils de connexion .......................... 118
Sorties numériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Étape 1. Placez la résistance sur la planche à pain. . . . . . . . . . . . . . . . 119
Étape 2. Placez la LED sur la planche à pain. . . . . . . . . . . . . . . . . . . Étape 120
3. Connectez la planche à pain aux broches GPIO ......... 120
Sorties analogiques .......................................... 123
Entrées numériques ............................................ 126
Entrées analogiques ............................................ 128
Matériel ............................................. 128
Les logiciels .......................................... 130
Planche à pain avec le Pi Cobbler ......................... 135
Cartes de prototypage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Perma-Proto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Perma-Proto Pi HAT ................................... 136
Autres cartes et HAT ................................... 137
Arduino et le Pi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Arduino et Pi parlent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

dix Projet de fader LED ..................................... 143


De quoi as-tu besoin .......................................... 144
Assemblage du matériel ...................................... 144
Logiciel ................................................ 145
Résumé ................................................ 147

11 Projet de prototypage (Horloge) ............................. 149


De quoi as-tu besoin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Assemblage du matériel ...................................... 150
Logiciel ................................................ 152
Phase deux ............................................... 154
Résumé ................................................ 157

12 Robot Framboise Pi .................................... 159


De quoi as-tu besoin .......................................... 160
Projet 1. Rover autonome .............................. 160
Matériel ............................................. 160
Logiciel .............................................. 163
Contenu xiii

Projet 2. Rover contrôlé par le Web ............................. 166


Logiciel .............................................. 166
Résumé ................................................ 171

13 Et ensuite ............................................ 173


Ressources Linux .......................................... 173
Ressources Python ........................................ 173
Ressources Raspberry Pi ................................... 174
Autres langages de programmation ............................ 175
Rayure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Candidatures et projets ................................. 177
Centre des médias (Raspbmc) ............................... 177
Automatisation de la maison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

Indice ................................................... 179


Cette page a été intentionnellement laissée vierge
Préface

La FramboisePi devient rapidement un phénomène mondial. Les gens prennent conscience


de la possibilité d'un ordinateur à 35 $ (US) qui peut être utilisé dans toutes sortes
d'environnements, d'un poste de travail de bureau à un centre multimédia en passant par un
contrôleur pour un système domotique.
Ce livre explique en termes simples, aux non-programmeurs et aux programmeurs
novices sur le Raspberry Pi, comment commencer à écrire des programmes pour le Pi
dans le langage de programmation populaire Python. Il vous donne ensuite les bases de
la création d'interfaces utilisateur graphiques et de jeux simples à l'aide depygame
module.
Le logiciel du livre utilise principalement Python 3, avec l'utilisation occasionnelle
de Python 2 si nécessaire pour la disponibilité des modules. La distribution Raspbian
Wheezy recommandée par la Fondation Raspberry Pi est utilisée tout au long du
livre.
Le livre commence par une introduction au Raspberry Pi et couvre les sujets de l'achat
des accessoires nécessaires et de tout configurer. Vous obtenez ensuite une introduction
à la programmation tout en progressant progressivement dans les chapitres suivants. Les
concepts sont illustrés par des exemples d'applications qui vous permettront de
commencer à programmer votre Raspberry Pi.
Quatre chapitres sont consacrés à la programmation et à l'utilisation du connecteur
GPIO du Raspberry Pi, qui permet de connecter l'appareil à une électronique externe. Ces
chapitres comprennent trois exemples de projets : un contrôleur d'éclairage LED, une
horloge LED et un robot contrôlé par Raspberry Pi, avec télémètre à ultrasons.
Voici les principaux sujets abordés dans le livre :

• Nombres Python, variables et autres concepts de base

• Chaînes, listes, dictionnaires et autres structures de données Python

• Modules et orientation objet


• Fichiers et Internet
• Interfaces utilisateur graphiques utilisant Tkinter

xv
xvi Préface

• Programmation de jeux avec pygame

• Interfaçage avec le matériel via le connecteur GPIO

• Exemples de projets matériels

Toutes les listes de codes du livre sont disponibles en téléchargement sur le site Web du livre à

l'adresse www.raspberrypibook.com, où vous pouvez également trouver d'autres informations utiles

relatives au livre, y compris des errata.

Simon Moine
REMERCIEMENTS

Comme toujours,Je remercie Linda pour sa patience et son soutien.


Chez TAB/McGraw-Hill et MPS Limited, mes remerciements vont à Michael McCabe, Dheeraj
Chahal et leurs collègues. Comme toujours, ce fut un plaisir de travailler avec une équipe aussi
formidable.
Merci également à Brian MacKenzie et Karl Cookson pour m'avoir fait part de quelques erreurs

qu'ils ont trouvées dans la première édition.

xvii
Cette page a été intentionnellement laissée vierge
Introduction

Depuis lepremier Raspberry Pi modèle B révision 1 a été publié en 2012, il y a eu un


certain nombre de mises à niveau du matériel d'origine. Le Raspberry Pi 2 a augmenté la
puissance de traitement et la mémoire du Raspberry Pi et le Pi Zero offre une option à
très faible coût. Ces nouvelles versions du Raspberry Pi ont été largement compatibles
avec l'appareil d'origine, mais il y a quelques changements à la fois au matériel et à la
distribution d'exploitation Raspbian standard qui justifient une nouvelle édition de ce
livre.
Une grande partie de ce livre concerne l'apprentissage de Python, le langage de
programmation le plus couramment utilisé avec le Raspberry Pi, et cela reste en grande
partie inchangé. Howe

Le Raspberry Pi Zéro

xix
xx introduction

quelque peu, et cette édition ajoute un nouveau chapitre de projet démontrant l'utilisation d'une

interface utilisateur Tkinter pour contrôler la couleur d'une LED RVB.

Dans la plupart des cas, tout ce qui est dit dans le livre sur le Raspberry Pi s'applique
également au Raspberry Pi 2, donc pour plus de simplicité, j'utiliserai simplement le terme
Raspberry Pi pour désigner à la fois le Pi et le Pi 2, sauf si la situation nécessite une distinction. .
1
introduction

La FramboisePi a été mis en vente générale fin février 2012 et a immédiatement


planté les sites Web des fournisseurs choisis pour en prendre les commandes.
Depuis lors, un certain nombre de nouveaux modèles aboutissant au Raspberry Pi 2
ont été lancés. Alors, qu'est-ce que ce petit appareil avait de si spécial et pourquoi a-t-il
suscité tant d'intérêt ?

Qu'est-ce que le Raspberry Pi ?


Le Raspberry Pi 2, illustré à la figure 1-1, est un ordinateur qui exécute le système d'exploitation Linux.

Il dispose de prises USB sur lesquelles vous pouvez brancher un clavier et une souris et d'une sortie

vidéo HDMI (interface multimédia haute définition) sur laquelle vous pouvez connecter un téléviseur

ou un moniteur. De nombreux moniteurs n'ont qu'un connecteur VGA, et Raspberry Pi ne fonctionnera

pas avec cela. Cependant, si votre moniteur est équipé d'un connecteur DVI, des adaptateurs HDMI

vers DVI bon marché sont disponibles.

Lorsque Raspberry Pi démarre, vous obtenez le bureau Linux illustré à la figure 1-2.
C'est vraiment un bon ordinateur, capable d'exécuter une suite bureautique, des
capacités de lecture vidéo, des jeux, etc. Ce n'est pas Microsoft Windows ; à la place, c'est
Linux, le rival open source de Windows (Debian Linux), et l'environnement de fenêtrage
s'appelle LXDE.
C'est petit (la taille d'une carte de crédit) et extrêmement abordable (à partir de 25 $). Une
partie de la raison de ce faible coût est que certains composants ne sont pas inclus avec la carte
ou sont des extras en option. Par exemple, il n'est pas livré dans un étui pour le protéger - c'est
juste une planche nue. Il n'est pas non plus livré avec une alimentation, vous devrez donc vous
trouver une alimentation micro-USB 5V, un peu comme vous l'utiliseriez pour charger

1
2 Programme

figure 1-1 le

figure 1-2 Le bureau Raspberry Pi.


Chapitre 1 Introduction 3

un téléphone (mais probablement avec une puissance plus élevée). Une alimentation USB et un câble micro-

USB sont souvent utilisés pour cela.

Que pouvez-vous faire avec un Raspberry Pi ?


Vous pouvez faire à peu près tout ce que vous pouvez faire sur un Raspberry Pi sur n'importe quel

autre ordinateur de bureau Linux, avec quelques limitations. Le Raspberry Pi 2 utilise une carte micro-

SD à la place d'un disque dur. Les anciens modèles Raspberry Pi A et B utilisent une carte SD pleine

taille, bien que vous puissiez brancher un disque dur USB. Vous pouvez éditer des documents

bureautiques, naviguer sur Internet et jouer à des jeux (même des jeux avec des graphismes assez

intensifs, commetremblement de terre).

Le prix bas du Raspberry Pi signifie qu'il est également un candidat de choix pour une utilisation en tant que centre

multimédia. Il peut lire des vidéos et vous pouvez à peu près l'alimenter à partir du port USB que vous trouvez sur de

nombreux téléviseurs.

Une visite du Raspberry Pi


La figure 1-3 étiquette les différentes parties d'un Raspberry Pi. Cette figurine vous emmène
faire le tour du R

figure 1-3L'anatomie d'un Raspberry Pi 2.


4 Programmation du Raspberry Pi : Premiers pas avec Python

version, le modèle A+, en raison de sa présence d'un connecteur LAN RJ-45, lui permettant
d'être connecté à un réseau.
Le connecteur Ethernet RJ-45 est illustré dans le coin inférieur droit de la figure. Si votre
concentrateur domestique est pratique, vous pouvez brancher votre Raspberry Pi directement
sur votre réseau local. Pendant que nous y sommes, il convient de noter que le Raspberry Pi n'a
pas de Wi-Fi intégré. Pour la mise en réseau sans fil, vous devrez brancher un adaptateur sans
fil USB.
Juste au-dessus de la prise Ethernet, vous trouverez deux paires de prises USB. Vous pouvez
brancher un clavier, une souris ou des disques durs externes sur la carte.
En bas au centre de la figure, vous trouverez une prise audio qui fournit un signal analogique

stéréo pour les écouteurs ou les haut-parleurs alimentés. Cette prise fournit également un signal

vidéo composite. Le connecteur HDMI est également compatible avec le son.

Il est peu probable que vous utilisiez la fonction vidéo composite du connecteur de prise audio/AV,

sauf si vous utilisez votre Raspberry Pi avec un téléviseur plus ancien. Vous êtes beaucoup plus

susceptible d'utiliser le connecteur HDMI. HDMI est de meilleure qualité, inclut le son et peut être

connecté à des moniteurs équipés de DVI avec un adaptateur bon marché.

Au sommet du Pi 2 se trouvent deux rangées de broches. Celles-ci sont appelées broches GPIO

(General Purpose Input/Output) et permettent de connecter le Raspberry Pi à des composants

électroniques personnalisés. Les utilisateurs de l'Arduino et d'autres cartes à microcontrôleur seront

habitués à l'idée des broches GPIO. Plus tard, au chapitre 12, nous utiliserons ces broches pour

permettre à notre Raspberry Pi d'être le "cerveau" d'un petit robot itinérant en contrôlant ses moteurs.

Au chapitre 11, nous utiliserons le Raspberry Pi pour fabriquer une horloge à LED.

Le Raspberry Pi 2 dispose d'un emplacement pour carte micro-SD sous la carte. Cette carte SD doit

avoir une taille d'au moins 2 à 4 Go. Il contient le système d'exploitation de l'ordinateur ainsi que le

système de fichiers dans lequel vous pouvez stocker tous les documents que vous créez. La carte SD

est une fonctionnalité supplémentaire en option lors de l'achat de votre Raspberry Pi. La préparation

de votre propre carte SD est un peu inhabituelle et des fournisseurs tels que SK Pang, Farnell et RS

Components vendent tous des cartes micro-SD déjà préparées. Parce qu'aucun disque n'est intégré à

votre Raspberry Pi, cette carte est en fait votre ordinateur, vous pouvez donc la retirer et la mettre

dans un autre Raspberry Pi et toutes vos affaires seraient là.

Sous la carte micro-SD se trouve une prise micro-USB. Ceci est uniquement utilisé pour
alimenter le Raspberry Pi. Par conséquent, vous aurez besoin d'une alimentation avec un
connecteur micro-USB à l'extrémité. Il s'agit du même type de connecteur utilisé par de
nombreux téléphones mobiles, y compris la plupart des téléphones Android. Vérifiez cependant
qu'il est capable de fournir au moins 700mA ; sinon, votre Raspberry Pi peut se comporter de
manière erratique.
Chapitre 1 Introduction 5

Pour ceux qui s'intéressent aux spécifications techniques, la grosse puce carrée au centre du
plateau est l'endroit où se déroule toute l'action. Il s'agit du "Système sur puce" de Broadcom et
comprend 1 Go de mémoire ainsi que les processeurs graphiques et à usage général qui
pilotent le Raspberry Pi 2.
Vous avez peut-être également remarqué des connecteurs de câble plat sur le Pi 2. Le connecteur

à l'extrême gauche est destiné à un écran LCD et le connecteur en bas au centre est destiné au

module de caméra spécial Raspberry Pi.

Configuration de votre Raspberry Pi


Vous pouvez vous faciliter la vie en achetant une carte micro-SD préparée et une alimentation
lorsque vous achetez votre Raspberry Pi, et d'ailleurs vous pouvez aussi bien vous procurer un
clavier et une souris USB (à moins que vous ne les ayez caché quelque part dans la maison).
Commençons le processus de configuration en examinant ce dont vous aurez besoin et où
l'obtenir.

Acheter ce dont vous avez besoin


Le tableau 1-1 vous montre ce dont vous aurez besoin pour un système Raspberry Pi 2 entièrement

fonctionnel. Le Raspberry Pi lui-même est vendu par l'intermédiaire de deux distributeurs mondiaux basés au

Royaume-Uni : Farnell (et la société américaine associée Newark) et RS Components, ainsi que de nombreuses

sociétés d'électronique de loisir en ligne comme Adafruit et Sparkfun.

Source de courant
La figure 1-4 montre une alimentation USB typique et un câble USB-A vers micro-USB.
Vous pourrez peut-être utiliser l'alimentation d'un ancien téléphone ou similaire, tant qu'il est de 5

V et qu'il peut fournir suffisamment de courant. Il est important de ne pas surcharger l'alimentation

électrique car elle pourrait chauffer et tomber en panne (ou même constituer un risque d'incendie).

Par conséquent, l'alimentation devrait pouvoir fournir au moins 500mA, mais 1A donnerait un petit

plus au Raspberry Pi lorsqu'il s'agit d'alimenter les appareils connectés à ses ports USB. Si vous avez

un ancien modèle B Pi, vous aurez besoin d'une alimentation 700mA.

Si vous regardez attentivement les spécifications écrites sur l'alimentation, vous devriez être
en mesure de déterminer ses capacités d'alimentation actuelles. Parfois, ses capacités de
gestion de puissance seront exprimées en watts (W); si c'est le cas, il devrait être d'au moins
3W. S'il indique 5W, cela équivaut à 1A.
6 Programmation du Raspberry Pi : Premiers pas avec Python

Article Source et numéro de pièce Information additionnelle


Alimentation USB Newark : 39T2392 Alimentation USB 5V. Devrait être
(prise secteur américaine) Adafruit PID : 501 capable de fournir 500mA (3W), mais
1A (5W) est mieux.
Alimentation USB Farnell : 2100374
(prise secteur britannique) Maplins : N15GN
Alimentation USB Farnell : 1734526
(Prise secteur européenne)

Câble micro-USB Farnell : 2115733


Adafruit PID 592
Clavier et souris N'importe quel magasin d'informatique N'importe quel clavier USB fera l'affaire. De
plus, les claviers et souris sans fil fournis
avec leur propre adaptateur USB
fonctionneront également.

TV/moniteur avec HDMI N'importe quel magasin d'informatique/d'électricité

Câble HDMI N'importe quel magasin d'informatique/d'électricité

Carte SD (NOOBS Adafruit PID : 1583


Pre installé) Newark : 19X8108
CPC : SC13797
Adaptateur Wi-Fi* http://elinux.org/RPi_ Elinux.org fournit une liste à jour des
Périphériques vérifiés#Adaptateurs adaptateurs Wi-Fi.
USB_WiFi_
Adaptateur HDMI vers DVI* Newark : 74M6204
Maplins : N24CJ
Farnell : 1428271
Câble de raccordement Ethernet* N'importe quel magasin d'informatique

Cas* Newark, PCC, Adafruit


* Ces éléments sont facultatifs.

Tableau 1-1 Un kit Raspberry Pi

Illustration 1-4 Alimentation USB.


Chapitre 1 Introduction sept

Clavier et Souris
Le Raspberry Pi fonctionnera avec à peu près n'importe quel clavier et souris USB. Vous pouvez
également utiliser la plupart des claviers et souris USB sans fil, ceux qui sont livrés avec leur
propre dongle à brancher sur le port USB. C'est une très bonne idée, surtout s'ils viennent par
paire. De cette façon, vous n'utilisez qu'un seul des ports USB. Cela sera également très
pratique au chapitre 11 lorsque nous utiliserons un clavier sans fil pour contrôler notre robot
basé sur Raspberry Pi. Si vous utilisez un Pi Zero, vous aurez également besoin d'un adaptateur
USB en déplacement vers USB pleine taille.

Affichage
Inclure une sortie vidéo RCA sur le Raspberry Pi est, franchement, un peu déroutant car la plupart des

gens vont passer directement au connecteur HDMI plus moderne. Un téléviseur LCD 22 pouces à bas

prix fera un affichage parfaitement adéquat pour le Pi. En effet, vous pouvez simplement décider

d'utiliser le téléviseur principal de la famille, en branchant simplement le Pi sur le téléviseur lorsque

vous en avez besoin.

Si vous avez un écran d'ordinateur avec juste un connecteur VGA, vous ne pourrez pas
l'utiliser sans un convertisseur coûteux. En revanche, si votre moniteur est équipé d'un
connecteur DVI, un adaptateur peu coûteux fera bien l'affaire. Si vous avez Raspberry Pi
Zero, vous aurez également besoin d'un adaptateur Mini HDMI vers HDMI.

Carte Micro SD
Vous pouvez utiliser votre propre carte micro-SD dans le Raspberry Pi, mais elle devra être
préparée avec le programme d'installation NOOBS (New Out of the Box Software). C'est un peu
fastidieux, vous voudrez peut-être simplement dépenser un dollar ou deux de plus et acheter
une carte micro-SD déjà préparée et prête à l'emploi.
Vous pouvez également trouver des personnes lors des rencontres Raspberry Pi qui se feront un plaisir de

vous aider à préparer une carte micro-SD. Cherchez sur Internet pour trouver des fournisseurs qui vendent

des cartes préparées, avec NOOBS. Si vous voulez vraiment "rouler votre propre" carte SD, reportez-vous aux

instructions trouvées sur www.raspberrypi.org/downloads.

Pour préparer votre propre carte, vous devez disposer d'un autre ordinateur avec un lecteur de

carte SD.

Un grand avantage de créer votre propre carte SD est que vous pouvez en fait choisir parmi
une gamme de distributions de systèmes d'exploitation. Le tableau 1-2 montre les plus
populaires disponibles au moment de la rédaction. Consultez le site Web de la Fondation
Raspberry Pi pour les nouvelles distributions.
Bien sûr, rien ne vous empêche d'acheter quelques cartes micro-SD et d'essayer les différentes

distributions pour voir laquelle vous préférez. Cependant, si vous êtes un débutant Linux, vous devez

vous en tenir au programme d'installation NOOBS et utiliser la distribution Raspbian standard.


8 Programmation du Raspberry Pi : Premiers pas avec Python

Distribution Remarques

raspbian Il s'agit du système d'exploitation "standard" de Raspberry Pi et celui


utilisé dans tous les exemples de ce livre. Il utilise le bureau LXDE.
Arc Linux ARM Cette distribution est plus adaptée aux experts Linux.
Pidora Cette distribution est une autre distribution à usage général similaire à
Raspbian.
Système d'exploitation RISC RISC OS n'est pas une distribution Linux, mais un système d'exploitation conçu
spécifiquement pour le processeur ARM utilisé par le Pi. Il est très compact et
efficace, mais n'exécutera pas de logiciel Linux.

Tableau 1-2 Râpe

(une) (b) (c)


Illustration 1-5Boîtiers Raspberry Pi commerciaux.

Cas
Le Raspberry Pi n'est livré dans aucun type de boîtier. Cela aide à maintenir le prix bas, mais le
rend également assez vulnérable à la casse. Par conséquent, c'est une bonne idée de fabriquer
ou d'acheter un étui dès que possible. La figure 1-5 montre quelques-uns des boîtiers prêts à
l'emploi actuellement disponibles.
Les cas présentés sont fournis par (a) Adafruit (www.adafruit.com), (b) SK Pang
(www.skpang.co.uk/) et (c) ModMyPi (www.modmypi.com). Le boîtier que vous choisirez
dépendra de ce que vous comptez faire avec votre Raspberry Pi. Si vous avez accès à une
imprimante 3D, vous pouvez également utiliser les designs open source suivants :

• www.thingverse.com/thing:685074

• www.thingverse.com/thing:665042

Vous pouvez également trouver un modèle de carte pliée appelé le Raspberry Punnet sur www .
raspberrypi.org/archives/1310.
Les gens s'amusent beaucoup à construire leur Raspberry Pi dans toutes sortes de conteneurs

réutilisés, tels que des ordinateurs vintage et des consoles de jeux. On pourrait même
figure 1-6 Un boîtier Raspberry Pi fait maison.

construire un cas en utilisant des Legos. Mon premier boîtier pour un Raspberry Pi a été fabriqué en

découpant des trous dans un récipient en plastique qui contenait des cartes de visite (voir Figure 1-6).

Wifi
Aucun des modèles Raspberry Pi ne prend en charge le Wi-Fi. Par conséquent, pour connecter
sans fil votre Raspberry Pi au réseau, vous n'avez que deux options. La première consiste à
utiliser un adaptateur sans fil USB qui se branche simplement sur une prise USB (voir Figure
1-7). Pour configurer le Wi-Fi, vous devrez utiliser l'outil de configuration Wi-Fi que vous
trouverez dans le menu Préférences une fois que votre Pi sera opérationnel.
Les adaptateurs Wi-Fi de la liste référencée dans le tableau 1-1 sont censés fonctionner avec
le Raspberry Pi. Cependant, il y a parfois des problèmes avec les pilotes Wi-Fi, alors assurez-
vous de consulter le forum et le wiki Raspberry Pi pour obtenir des informations à jour sur les
appareils compatibles.
La deuxième option pour le Wi-Fi consiste à utiliser un pont Wi-Fi avec un modèle B
Raspberry Pi. Ces appareils sont généralement alimentés par USB et se branchent sur la prise
Ethernet du Raspberry Pi. Ils sont souvent utilisés par les propriétaires de consoles de jeux
disposant d'une prise Ethernet mais pas de Wi-Fi. Cette configuration a l'avantage que le
Raspberry Pi ne nécessite aucune configuration particulière.
dix Programme

figure 1-7 Adaptateur Wi-Fi.

Concentrateur USB

Si vous possédez l'un des Raspberry Pi modèle B d'origine, vous n'aurez que deux ports USB

disponibles ; vous serez rapidement à court de prises. La façon d'obtenir plus de ports USB est

d'utiliser un concentrateur USB (voir Fig.

figure 1-8 Un concentrateur USB.


Chapitre 1 Introduction 11

Ces concentrateurs sont disponibles avec de trois à huit ports. Assurez-vous que le port
prend en charge l'USB 2. C'est également une bonne idée d'utiliser un concentrateur USB
"alimenté" afin de ne pas tirer trop d'énergie du Raspberry Pi.

Connecter tout ensemble


Maintenant que vous avez toutes les pièces dont vous avez besoin, branchons tout ensemble et
démarrons votre Raspberry Pi pour la première fois. La figure 1-9 montre comment tout doit
être connecté. Vous pouvez également utiliser un adaptateur Wi-Fi dans l'un des ports USB.

Insérez la carte micro-SD avec NOOBS, connectez le clavier, la souris et le


moniteur au Pi, branchez l'alimentation et vous êtes prêt à partir.

TV / Lun

Concentrateur Internet à domicile

Alimentation USB

Adaptateur

Câble de parchemin Ethernet

câble mini-USB

Clavier

Souris

figure 1-9Un système Raspberry Pi.


12 Programmation du Raspberry Pi : Premiers pas avec Python

Démarrage
Pour vous assurer que votre installateur obtiendra la dernière version de Raspbian, vous devez
connecter votre Raspberry Pi à votre réseau à l'aide d'un câble Ethernet pendant le processus
d'installation.
Lorsque le Raspberry Pi démarre dans le programme d'installation NOOBS, une liste
de systèmes d'exploitation vous sera présentée (Figure 1-10). Cochez la case à côté de la
première option (Raspbian [RECOMMANDÉ]) puis cliquez sur le bouton "Installer".
Après un avertissement que tout sur la carte SD sera effacé, l'installation commencera. Au
cours de ce processus, qui prend un certain temps, le programme d'installation affichera une
série de messages informatifs (Figure 1-11).
Lorsque le programme d'installation a terminé l'installation de Raspbian, une alerte s'affiche pour

vous informer que l'installation est terminée. Votre Raspberry Pi redémarrera puis exécutera

automatiquement l'outil raspi-config qui vous permet de configurer votre Raspberry Pi après son

démarrage.

figure 1-10 Sélection d'un système d'exploitation à installer avec NOOBS.


figure 1-11 Ins

figure 1-12 L'outil raspi-config.

Sélectionnez l'option "Activer le démarrage sur le bureau/Scratch", appuyez sur la touche ENTREE,

puis sélectionnez l'option "Se connecter au bureau en tant qu'utilisateur pi sur le bureau graphique",

et appuyez à nouveau sur ENTREE. Cela configurera le Raspberry Pi pour démarrer automatiquement

l'environnement de fenêtrage à chaque redémarrage.


14 Programmation du Raspberry Pi : Premiers pas avec Python

Enfin, utilisez la touche curseur droite pour sélectionner « Finish » dans raspi-config puis appuyez sur

ENTER.

Vous serez invité à redémarrer et lorsque cela sera terminé, vous serez
démarré sur le bureau et prêt à l'action.

Résumé
Maintenant que nous avons configuré notre Raspberry Pi et qu'il est prêt à l'emploi, nous pouvons

commencer à explorer certaines de ses fonctionnalités et maîtriser les bases de Linux.

Vous aimerez peut-être aussi