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
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.
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.
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
1 introduction .......................................... 1
2 Commencer ........................................ 15
6 Fichiers et Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
13 Et ensuite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
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
Écriture de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Le 78
système de fichiers ....................................... 79
Décapage ................................................. 80
l'Internet ................................................. 81
Résumé ................................................ 83
xv
xvi Préface
Toutes les listes de codes du livre sont disponibles en téléchargement sur le site Web du livre à
Simon Moine
REMERCIEMENTS
xvii
Cette page a été intentionnellement laissée vierge
Introduction
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
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
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
pas avec cela. Cependant, si votre moniteur est équipé d'un connecteur DVI, des adaptateurs HDMI
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
un téléphone (mais probablement avec une puissance plus élevée). Une alimentation USB et un câble micro-
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
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.
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
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
Au sommet du Pi 2 se trouvent deux rangées de broches. Celles-ci sont appelées broches GPIO
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
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
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
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
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
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
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
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
Distribution Remarques
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
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
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.
TV / Lun
Alimentation USB
Adaptateur
câble mini-USB
Clavier
Souris
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.
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
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