23

Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre
Page 2: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre
Page 3: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre
Page 4: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre
Page 5: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre

Table des matières

AVANT-PROPOS IX

CHAPITRE 1 • RASPBERRY PI 1

Premier démarrage du Raspberry Pi 2

Introduction à Linux 7

Connexions des broches du Raspberry Pi 11

GPIO sans root 18

GPIO en Python 20

CHAPITRE 2 • ARDUINO 25

Installation de base d’Arduino 26

CHAPITRE 3 • MESURER LES DISTANCES 31

Expérience : mesure de la distance avec un ultrason (PING) 31

Capteur à ultrasons HC-SR04 36

Expérience : détection des obstacles avec l’infrarouge (capteur de distance infrarouge) 42

Expérience : comment voir l’infrarouge 45

Expérience : suivez le mouvement grâce à l’infrarouge (œil composé infrarouge) 46

Projet : alarme posturale (Arduino) 54

CHAPITRE 4 • DÉTECTER FUMÉES ET GAZ 61

Expérience : détecteur de fumée (capteur analogique de gaz) 61

Projet : envoi d’un courriel en cas de fumée 69

Page 6: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre

VI Les capteurs pour Arduino et Raspberry Pi

CHAPITRE 5 • PERCEVOIR LE TOUCHER 77

Expérience : allumage d’une LED avec un bouton 77

Expérience : microrupteur 81

Expérience : potentiomètre (résistance variable) 84

Expérience : percevoir le toucher sans toucher (capteur de toucher capacitif QT113) 88

Expérience : détecter le toucher à travers le bois 91

Expérience : sentez la pression (FlexiForce) 92

Expérience : construisez votre propre capteur tactile 95

Projet : sonnette hantée 98

CHAPITRE 6 • DÉTECTER LES MOUVEMENTS 105

Expérience : détecter le sens avec un capteur d’inclinaison 105

Expérience : de bonnes vibrations avec une interruption (capteur de vibration numérique) 108

Expérience : tournez le bouton 111

Expérience : mini-joystick (analogique deux axes) 114

Expérience : développement durable avec une manette 118

Expérience : alarme antivol (capteur infrarouge passif) 119

Projet : Pong 125

CHAPITRE 7 • DÉTECTER LA LUMIÈRE 135

Expérience : détection de flamme (capteur de flamme) 135

Expérience : précision de la flamme 138

Expérience : voir la lumière (photorésistance) 139

Expérience : une direction 142

Expérience : suivez la ligne 143

Expérience : le noir est blanc 146

Expérience : toutes les couleurs de l’arc-en-ciel 147

Projet : dôme caméléon 153

CHAPITRE 8 • MESURER L’ACCÉLÉRATION 167

Accélération et vitesse angulaire 167

Expérience : on accélère avec le MX2125 168

Expérience : on combine un accéléromètre et un gyroscope 173

Expérience : détournement d’un Nunchuk (avec I2C) 188

Projet : main robotisée contrôlée par le Nunchuk Wii 194

CHAPITRE 9 • ÉLECTRICITÉ ET MAGNÉTISME 201

Expérience : tension et courant 201

Page 7: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre

Table des matières VII

Expérience : est-ce magnétique ? 205

Expérience : nord magnétique avec la boussole-accéléromètre LSM303 209

Expérience : capteur à effet Hall 220

Projet : contrôle d’une pile solaire par Internet 223

CHAPITRE 10 • ENTENDRE LES SONS 231

Expérience : entendre des voix et percevoir un niveau sonore 231

Expérience : pouvez-vous entendre une épingle tomber ? 234

Projet : visualisez le son sur le port HDMI 235

CHAPITRE 11 • CONSTRUIRE UNE STATION MÉTÉO 241

Expérience : est-ce qu’il fait chaud ici ? 241

Expérience : changement de température 244

Expérience : est-ce que c’est humide ici ? 244

Capteur de pression atmosphérique GY65 251

Expérience : est-ce que votre plante a besoin d’être arrosée ? (capteur d’humidité de sol) 260

Projet : prévision météo sur papier électronique 263

Expérience : pas d’alimentation ! 272

Stockage des images dans des fichiers d’en-tête 272

Conseils de packaging 274

ANNEXE – RÉFÉRENCES PRATIQUES SUR LA VERSION LINUX DU RASPBERRY PI 277

INDEX 279

Page 8: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre
Page 9: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre

Avant-propos

Grâce à ce livre, vous allez bientôt pouvoir réaliser des objets capables d’analyser leur environ-nement. Vous allez utiliser des capteurs pour mesurer le monde physique, représenter le résultatsous la forme d’une valeur numérique et agir en fonction de cette valeur.

Les capteurs peuvent mesurer la chaleur, la pression, la lumière ou l’accélération et afficher unevaleur (22°C, 1 015 millibars ou accélération de 2,3 g ; vous noterez que dans le cas de la lumièreon représente la valeur sous la forme d’un booléen, oui/non, au lieu d’une valeur numérique).

Le microcontrôleur constitue le cerveau du robot, du système ou du gadget que vous allezconstruire. Vous allez écrire votre propre logiciel qui sera exécuté sur ce microcontrôleur. Dansce livre, vous allez travailler avec deux cartes très populaires : Arduino et Raspberry Pi. Ces deuxmicrocontrôleurs facilitent l’écriture de programmes exploitant des composants électroniques.

LAISSEZ S’EXPRIMER VOTRE CRÉATIVITÉ

Si votre passion pour l’électronique a débuté avec la volonté d’apprendre rapidement les basespour concevoir ensuite vos propres robots, gadgets ou projets, vous avez choisi le bon ouvrage.Ce livre va vous apprendre comment mettre rapidement vos idées en pratique.

La théorie, les compétences et les bases sont utiles pour autant qu’elles sont au service devotre créativité. Sentez-vous libre d’expérimenter vos idées et ayez le courage de publier vosrésultats sur le Web.

Chaque chapitre présente un mini-projet qui illustre la manière de combiner différentes tech-nologies. Par exemple, vous allez construire un dôme lumineux qui change de couleur en fonctionde son environnement ou bien un détecteur de fumée qui vous avertit par courriel. Ce sont desprojets amusants qui constituent aussi de bons points de départ pour vos futures réalisations.

Les compétences que vous allez acquérir avec Arduino sont facilement applicables à des projetsprofessionnels. En ce qui nous concerne, nous avons utilisé un Arduino pour créer un prototypede capteur solaire pour le premier satellite finlandais (Figure 1).

Page 10: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre

X Les capteurs pour Arduino et Raspberry Pi

Figure 1 La Finlande lance son premier satellite en 2014.

Nous avons conçu et réalisé le prototype du capteur solaire avec un Arduino

COMMENT LIRE CE LIVRE

À partir d’une idée, vous allez pouvoir rapidement créer un prototype à l’aide de ce livre. Au lieu depasser des heures avec les notices techniques des composants, vous pouvez simplement choisirun capteur, puis utiliser un schéma et un programme prêts à l’emploi. Vous pouvez utiliser lescapteurs comme des briques de construction pour votre projet, mais à la différence du Meccanoou du Lego, les possibilités avec Arduino et Raspberry Pi sont presque illimitées.

Si vous savez ce que vous voulez mesurer, vous trouverez facilement le capteur qui convient.L’ouvrage est organisé en chapitres qui couvrent les phénomènes physiques que l’on peut mesu-rer :

• Distance (Chapitre 3)

• Fumée et gaz (Chapitre 4)

• Toucher (Chapitre 5)

• Mouvement (Chapitre 6)

• Lumière (Chapitre 7)

• Accélération et mouvement angulaire (Chapitre 8)

• Électricité (Chapitre 9)

• Son (Chapitre 10)

• Météo (Chapitre 11)

Vous pouvez aussi utiliser ce livre comme source d’inspiration et le feuilleter pour avoir desidées des technologies disponibles et ainsi penser à de nouveaux projets.

Si vous voulez comprendre comment les capteurs sont connectés à un Arduino et à un Rasp-berry Pi, vous apprécierez les explications détaillées. Tous les exemples de code sont totalement

Page 11: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre

Entrée, traitement et sortie XI

indépendants et illustrent parfaitement l’interaction avec le capteur. La compréhension du fonc-tionnement des capteurs de cet ouvrage vous aidera à appliquer vos compétences à de nouveauxcapteurs, même s’ils ne sont pas encore sur le marché.

Les capteurs que nous avons choisis constituent un échantillon aussi varié qu’utile, et leurfacilité ou leur difficulté d’emploi n’a pas été un critère de sélection. Cela signifie que vousdisposez d’une grande palette de solutions qui relèvent des défis techniques à l’aide de capteursconnectés à un Arduino et un Raspberry Pi.

Dans chaque chapitre, vous trouverez des expériences, des tests d’environnement et un projetfinal :

1. Les expériences fournissent de brèves instructions sur la manière d’utiliser un capteur avec unArduino et un Raspberry Pi. Vous pouvez facilement les utiliser comme briques de constructionpour vos propres projets ou bien simplement voir comment le capteur fonctionne.

2. Les tests d’environnement permettent de tester les capteurs et d’analyser les modificationsde l’environnement. Cela vous donne une idée de la manière dont les capteurs perçoivent lemonde et fonctionnent réellement.

3. Les capteurs sont plus intéressants quand on réalise quelque chose avec les résultats qu’ilsfournissent. Vous allez réaliser un projet, construire un appareil basé sur un capteur etapprendre ainsi à utiliser différents périphériques de sortie.

ENTRÉE, TRAITEMENT ET SORTIE

Tous les robots ou gadgets que vous allez construire doivent gérer trois choses : entrée, traite-ment et sortie.

1. Comme la plupart des appareils que vous allez monter ne possèdent ni clavier ni souris, lescapteurs constituent les entrées.

2. Le traitement est réalisé par le programme qui s’exécute sur l’Arduino ou le Raspberry Pi. C’estvotre programme qui décide de ce qui va se passer.

3. La sortie affecte le monde qui entoure l’appareil. Vous pouvez allumer une LED, activer unservo, ou bien émettre un son. Il s’agit là des principaux types de sorties, mais il y en a d’autres(par exemple, une rétroaction haptique, comme une vibration, l’affichage d’un message sur unécran à encre électronique, ou bien encore l’activation d’un appareil électroménager).

PROTOCOLES

Un protocole définit la manière dont un capteur communique avec le microcontrôleur. Le proto-cole indique le branchement des câbles et la façon dont le code doit traiter les mesures.

Même s’il y a une quantité impressionnante de capteurs différents, il existe un nombre limitéde protocoles. Vous apprendrez chacun de ces protocoles au fur et à mesure que vous réaliserezles expériences et les projets, mais voici un aperçu des protocoles que vous rencontrerez (voiraussi le Tableau 1).

D

un

od

–T

ou

tere

pro

du

ctio

nn

on

auto

risé

ees

tu

nd

élit

.

Page 12: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre

XII Les capteurs pour Arduino et Raspberry Pi

Protocole Ex. de valeur Arduino Raspberry Pi (Python) Ex. de capteurs

Résistance

numérique1 ou 0 digitalRead() botbook_gpio.read()

Bouton, capteur IR, capteur d’incli-

naison, mouvement IR passif.

Résistance

analogique5%, 10%, 23 C analogRead()

botbook_mcp3002.

readAnalog(),chip

Potentiomètre, photorésistance,

détecteur d’alcool MQ-3, détecteur

de gaz MQ X (fumée, hydrocarbone,

CO...), pression FlexiForce, flamme

KY-026, couleur HDJD-S822-QR999,

température LM35, humidité

Durée

d’impulsion20 millisecondes pulseIn() gpio.pulseInHigh()

Ping et distance ultrasons. HC-SR04,

accélération MX2125.

Port série A9B3C5B3C5 Serial.read() pySerial.read() Scanner GT-511C3

I2C

(2,11 g, 0,0 g,

0,1 g), valeurs

très précises

Wire.h smbusWii Nunchuk, accéléromètre MPU

6050, pression atmosphérique GY65

SPI57°C, valeurs

très précisesBit-banging spidev

Convertisseur analogique-numérique

MCP3002

Bits encodés

en impul-

sions très

courtes

53 % Bit-banging Bit-banging Humidité DHT11

Tableau 1 Protocoles des capteurs, du plus simple au plus complexe.

Résistance numérique

Certains capteurs fonctionnent comme un bouton et possèdent deux états :on ouoff. Ces capteurssont faciles à lire. L’état on est représenté quand une tension appelée HIGH est appliquée à labroche d’entrée du microcontrôleur. Il s’agit habituellement d’une tension de 3,3 volts ou 5 voltsen fonction de la carte que vous utilisez.

Résistance analogique

Les capteurs de résistance analogiques modifient leur résistance en réponse à un changementphysique (comme quand on tourne le bouton d’un cadran). Arduino et Raspberry Pi indiquent leschangements de résistance en mesurant la tension qui passe au travers du capteur. Par exemple,vous pouvez tourner un potentiomètre pour diminuer ou augmenter la résistance. Ces capteurs derésistance analogique sont très faciles à réaliser avec un Arduino. Le Raspberry Pi a besoin d’unepuce externe pour mesurer les valeurs analogiques. Vous apprendrez à utiliser le convertisseuranalogique-numérique pour mesurer la résistance avec un Raspberry Pi dans l’expérience sur leSuivi demouvement à l’aide d’infrarouge (œil composite IR) au chapitre 3. La plupart des capteursd’entrée analogiques indiquent leur valeur en utilisant la résistance, si bien qu’il s’agit de capteursde résistance analogique.

Durée d’impulsion

Certains capteurs indiquent leur valeur par une durée d’impulsion, ou bien la période pendantlaquelle la broche est maintenue à la valeur HIGH. On utilise des fonctions comme pulseIn() ougpio.pulseInHigh() pour lire la longueur de l’impulsion. Comme ceci est géré par une fonction,

Page 13: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre

Appropriez-vous les choses XIII

vous n’avez pas à vous embarrasser des opérations de bas niveau du microcontrôleur comme lesinterruptions puisque tout est pris en charge par une bibliothèque.

Port série

Un port série fait circuler des caractères de texte entre deux appareils. C’est la même techniqueque l’ordinateur emploie quand il communique avec l’Arduino via le port USB. Vous vous familia-riserez avec le port série quand vous afficherez des messages sur le Moniteur série de l’Arduinodans plusieurs projets.

I2C

I2C est un protocole industriel standard populaire. On le trouve couramment dans des ordinateurset des joysticks bien connus comme le Nunchuk de la console Wii. I2C autorise la connexion de128 appareils sur les mêmes câbles. Dans cet ouvrage, nous vous fournissons du code prêt àl’emploi et des circuits pour deux capteurs utilisant I2C.

SPI

SPI est un autre protocole industriel standard. Le code livré dans cet ouvrage vous permettrad’utiliser facilement un convertisseur analogique-numérique sur le Raspberry Pi. La création devotre propre code à partir de zéro pour de nouveaux appareils utilisant SPI nécessitera cependantplus de travail.

Bit-banging

Parfois, un capteur est suffisamment rare pour qu’il ne fonctionne pas avec un protocole standard.Dans ce cas-là, vous devez élaborer votre propre code pour communiquer avec ce capteur. Onappelle souvent cette opération bit-banging, car on manipule le signal du capteur la plupart dutemps au niveau du bit. Vous trouverez un exemple de cette technique dans l’expérience Est-ce

que c’est humide ?.

Au fur et à mesure que vous manipulerez les capteurs, vous vous familiariserez avec cesprotocoles, mais si vous êtes pressé de placer de nouveaux capteurs dans vos robots et vosappareils innovants, vous pouvez vous contenter d’utiliser le code fourni dans ce livre puis aborderles détails ultérieurement.

APPROPRIEZ-VOUS LES CHOSES

Il est difficile de trouver des circuits et des composants bruts qui conviennent parfaitement à nosenvies et vous devrez souvent faire preuve d’imagination pour rassembler tous les composantsd’un projet dans un packaging élégant.

Cet ouvrage donne un exemple de packaging pour chaque projet, mais il n’est pas nécessairede suivre nos instructions aveuglément. Vous devez tester différents matériaux et employerdifférents outils.

Pourquoi ne pas essayer du carton, du tissu ou une impression 3D (Figure 2) ?

L’expérimentation et l’apprentissage de nouvelles techniques, comme le soudage ou l’emploidu caoutchouc, rend le processus de création plus intéressant (voir la Figure 3).

Nous utilisons aussi beaucoup de matériel recyclé dans nos projets. Non seulement ils sont bonmarché (voire gratuits), mais ils donnent aussi un aspect unique à un projet.

D

un

od

–T

ou

tere

pro

du

ctio

nn

on

auto

risé

ees

tu

nd

élit

.

Page 14: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre

XIV Les capteurs pour Arduino et Raspberry Pi

Figure 2 Bender 3D. Photo extraite de la collection Ars Electronica.

Figure 3 Moule d’une tête de gorille animée et peau en latex réalisée à partir du moule.

ACHAT DES COMPOSANTS

Si vous avez besoin de composants de bonne qualité sans prise de tête, choisissez une enseigneréputée, de préférence en Europe ou aux États-Unis. Si vous voulez des composants peu onéreux,tournez-vous vers l’Asie.

Parmi les enseignes de qualité qui vendent aux passionnés d’électronique, on peut lister MakerShed, SparkFun, Parallax et Adafruit. Maker Shed est l’enseigne de l’éditeur de la version amé-ricaine de ce livre. SparkFun commercialise de nombreuses platines d’évaluation qui nécessitentdes soudures. Parallax a créé Basic Stamp, la génération précédente de microcontrôleurs pourles makers1. Adafruit possède un grand catalogue et produit de nombreux articles. Les sites web

1. « Ceux qui fabriquent », les nouveaux adeptes de la mouvance DIY (Do it Yourself, c’est-à-dire ceux quicherchent à constuire par eux-mêmes).

Page 15: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre

Conventions utilisées dans ce livre XV

de SparkFun et d’Adafruit contiennent beaucoup d’information sur leurs composants, notammentdes tutoriels.

À l’heure actuelle, de grands distributeurs comme Element14 et RS electronics ont égalementinvesti le marché desmakers. Il est devenu plus facile de s’y retrouver dans leur immense cataloguecar ils ont créé des rubriques pour Arduino et Raspberry Pi.

Si vous voulez des articles spéciaux ou très bon marché, il faut aller sur le continent asiatique.DealExtreme (http://dx.com) est en ce moment très populaire. La livraison est lente et la qualitévariable, mais les prix sont très bas et il y a beaucoup de choix. AliExpress (http://www.aliexpress.com) qui est aussi une boutique asiatique vaut également le détour.

NOTE DE L’ÉDITEUR

Vous trouverez ci-joint une liste non exhaustive de revendeurs de composants présents en France :

• GO TRONIC

35 ter Route nationale, BP 45, 08110 Blagny.Tél. : 03 24 27 93 42http://www.gotronic.fr/

• HOLDELEC (ventes exclusivement réservées aux professionnels)Avenue de la Victoire, 59117 [email protected]://holdelec.net/

• Kubii.fr – Distributeur officiel de Raspberry Pi pour le compte de Farnell en France69110 Sainte-Foy-les-LyonTél. : 09 63 25 11 39http://www.kubii.fr/

• LEXTRONIC

36/40 rue du Général de Gaulle, 94510 La-Queue-en-BrieTél. : 01 45 76 83 88www.lextronic.fr

• SELECTRONIC

16 rue Jules Verne, ZAC Orée Golf, 59790 Ronchin.http://www.selectronic.fr/

CONVENTIONS UTILISÉES DANS CE LIVRE

Les conventions typographiques suivantes sont utilisées dans cet ouvrage :

• Le bleu indique de nouveaux termes, les URL, les adresses électroniques, les titres des figureset des exemples.

• Le bleu italique indique les noms de fichiers et de répertoires.

• La couleur orange est utilisée pour faire référence à des éléments de programmation, commeles noms des variables ou des fonctions, les bases de données, les types de données, lesvariables d’environnement, les instructions et les mots-clés.

• La couleur orange en gras indique les commandes ou le texte qui doit être saisi littéralementpar l’utilisateur.

D

un

od

–T

ou

tere

pro

du

ctio

nn

on

auto

risé

ees

tu

nd

élit

.

Page 16: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre

XVI Les capteurs pour Arduino et Raspberry Pi

UTILISATION DES EXEMPLES DE CODE

Vous pouvez télécharger le code source de cet ouvrage sur le site des éditions Dunod (www.dunod.com/contenus-complémentaires/9782100717934).

Dans le texte de ce livre, il est souvent fait référence au site web des auteurs où vous pouvezégalement télécharger le code des exemples et projets : http://makesensors.botbook.com/

Nous attirons cependant votre attention sur le fait que le site des auteurs classe les exemplespar plateforme (Arduino ou Raspberry Pi) alors que nous avons opté pour un classement parchapitre. De plus, cette traduction de l’ouvrage américain Make: Sensors, publié chez O‘Reilly nereprend pas le chapitre 9 de l’édition originale. Si vous téléchargez les exemples de code sur lesite des auteurs, vous trouverez donc des programmes qui ne figurent pas dans la traductionfrançaise (tous les exemples du chapitre 9 consacré au contrôle de l’identité). Pour faciliter lerepérage des exemples de code, nous avons conservé les noms originaux des programmes, maisnous avons traduit en français tous les commentaires.

Si vous n’avez aucune expérience de la programmation avec Arduino et Raspberrry Pi, nous vousconseillons de lire les deux ouvrages d’initiation de Christian Tavernier, parus aux éditions Dunod,Arduino – Maîtrisez sa programmation et ses cartes d’interface (shields) et Raspberry Pi – Prise en

main et premières réalisations.

RÉUTILISATION DES PROGRAMMES

Ce livre est censé faciliter la réalisation de vos projets. En général, vous pouvez utiliser le code decet ouvrage dans vos programmes et votre documentation. Vous n’avez pas besoin de nous contac-ter pour nous demander la permission, à moins que vous ne reproduisiez une quantité importantede code. Par exemple, l’écriture d’un programme qui utilise plusieurs portions de code de ce livre nenécessite aucune autorisation. En revanche, la vente ou la distribution d’un CD-ROM d’exemplesextraits de ce livre nécessite une autorisation. Si vous répondez à une question en citant cet ouvrageet en reprenant un exemple de code, vous n’avez pas besoin de demander la permission, mais sivous incorporez une grande quantité d’exemples de code dans votre produit ou votre documenta-tion, il vous faut demander une autorisation.

Nous apprécions, sans que cela ne revête un caractère obligatoire, que lorsque vous citez notreouvrage vous mentionniez ses références exactes qui comprennent le titre, l’auteur, l’éditeur etl’ISBN. Pour cette édition de l’ouvrage, voici comment le citer correctement :

Make: Sensors by Tero Karvinen, Kimmo Karvinen, and Ville Valtokari.Copyright 2014 Tero Karvinen, Kimmo Karvinen, and Ville Valtokari, 978-1-449-36810-4.

Si vous pensez que votre utilisation des exemples de code de ce livre n’est pas couverte pas lesprincipes que nous venons d’énoncer, veuillez nous contacter à [email protected].

REMERCIEMENTS

Les auteurs souhaitent remercier Hipsu, Marianna, Nina, Paavo Leinonen et Valtteri.

Page 17: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre

1Raspberry Pi

Nous vous recommandons de commencer avec le Raspberry Pi Model B, qui comprend uneprise Ethernet et deux ports USB pour une souris et un clavier. Cela facilitera votre initiation.

Figure 1.1 Connexions du Raspberry Pi

À moins d’acheter votre Raspberry Pi dans un kit, il n’est probablement pas livré avec unboîtier, mais en le posant directement sur la table, vous passerez pour un geek. Si vous avezaccès à une imprimante 3D, vous trouverez de nombreux modèles de boîtiers à confectionner surhttp://www.thingiverse.com.

Une carte mémoire SD de 4 Go est suffisante pour stocker le système d’exploitation, maisune carte plus grande s’usera moins vite car il y aura plus d’espace à allouer au wear-leveling

(technique qui répartit équitablement les écritures sur l’espace de stockage disponible) ; il estdonc préférable d’avoir une carte d’au moins 8 Go.

Page 18: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre

2 1 • Raspberry Pi

Le Raspberry Pi peut piloter un écran HD et même envoyer le son par la prise HDMI. La plupartdu temps, un téléviseur HD conviendra parfaitement à votre Pi.

Pour démarrer, il vous faut un clavier et une souris qui se brancheront justement sur les deuxports USB du Raspberry Pi.

Si vous voulez ajouter un adaptateur WiFi USB, il vous faudra un hub USB alimenté. Consultezhttp://elinux.org/RPi_USB_Wi-Fi_Adapters pour une liste des adaptateurs WiFi compatibles avec leRaspberry Pi. On configure le WiFi sur le Pi en faisant un double-clic sur l’icône « Configuration WiFidu Bureau » après avoir installé le système d’exploitation et démarré dans l’environnement graphique.

L’ORDINATEUR À 35 EUROS LE PLUS CHER DU MONDE ?

Si vous devez acheter les câbles, le clavier, la souris et l’écran, cela risque de vous coûter le prix deplusieurs Raspberry Pi. Si vous n’avez pas déjà tout ce matériel, cela va finir par revenir cher pourun petit ordinateur.

Vous noterez cependant que vous économiserez du temps (donc de l’argent) en créant un environ-nement de développement confortable.

Plus tard, lorsque votre projet fonctionnera, vous pourrez facilement alléger le système en neconservant que les éléments nécessaires. Comme on dit, le Raspberry Pi est le seul ordinateurà 35 euros qui en coûte une centaine.

Si vous décidez de communiquer avec votre Raspberry Pi via SSH ou VNC, il suffit de le connecterau réseau et de l’alimenter ; vous n’aurez ainsi pas besoin de clavier, de souris ni d’écran, sauf pourle premier démarrage.

PREMIER DÉMARRAGE DU RASPBERRY PI

Ce chapitre vous permet de commencer à travailler rapidement avec le Raspberry Pi. La premièrechose à faire consiste à installer Linux sur le Raspberry Pi. Cela comprend les étapes suivantes :

• Télécharger et extraire l’installateur sur une carte SD formatée.

• Insérer la carte dans le Raspberry Pi et le connecter à un clavier, une souris et un écran.

• Allumer le Pi, choisir ce qu’il faut installer, et attendre.

Une fois que c’est fait, vous êtes prêt à démarrer le Pi avec un bureau Linux graphique.

Vous aurez besoin des éléments suivants :

• Raspberry Pi Model B

• Câble micro USB et chargeur USB (ou ordinateur)

• Carte SD de 4 Go

• Écran avec prise HDMI

• Câble HDMI

• Souris USB

• Clavier USB

Page 19: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre

Premier démarrage du Raspberry Pi 3

Extraction de NOOBS*.zip

Téléchargez _NOOBS_vX_Y_Z.zip_ (au moment de la rédaction, il s’agissait de la version_NOOBS_v1_3_7.zip, mais le nom du fichier sera peut-être différent quand vous lirez ce livre) àpartir de http://raspberrypi.org/downloads.

Vous trouverez aussi tous les liens importants mentionnés dans cet ouvrage sur http://botbook.com,ainsi que des copies miroir de certains fichiers.

Insérez la carte SD dans votre ordinateur. La plupart des cartes SD sont formatées en FAT32en usine et il suffit d’extraire l’archive NOOBS sur la carte SD, à moins que vous n’utilisiez unecarte SD que vous avez vous-même formatée.

Après avoir décompressé le fichier, assurez-vous que le fichier _bootcode.bin_ est dans lerépertoire racine de la carte SD.

Si vous avez besoin de formater la carte SD, utilisez l’outil de formatage de la SD Card Associationqui est disponible à https://www.sdcard.org/downloads/formatter_4/.

Dans les versions modernes de Linux, Windows et Mac, il suffit de faire un double-clic surl’archive NOOBS ou bien un clic droit pour la décompresser. Avec les versions anciennes deWindows, vous pouvez installer 7-Zip (http://www.7-zip.org) pour décompresser les fichiers ZIP.

Connexion des câbles

La connexion des câbles est facile car chaque câble a une prise bien spécifique. Branchez la souriset le clavier dans les ports USB du Raspberry Pi.

Si vous utilisez un écran HDMI, connectez un câble HDMI entre l’écran et le Raspberry Pi.

Si vous utilisez un moniteur NTSC ou PAL, connectez un câble vidéo composite à la prise jaunedu Raspberry Pi pour le raccorder à l’écran.

Connectez ensuite le câble micro USB au Raspberry pour l’alimenter. Branchez ce câble sur leport USB d’un ordinateur ou sur un chargeur USB 5 volts qui fournit au moins 700 mA.

Démarrage et installation de Raspbian

Dès que vous alimentez le Raspberry Pi, il démarre. Il n’y a donc pas besoin d’interrupteur.

Si rien n’apparaît à l’écran, il vous faudra peut-être sélectionner le bon mode d’affichage pour leRaspberry Pi.

Le mode d’affichage par défaut est HDMI, mais si vous êtes connecté en HDMI et que rien n’apparaît,essayez d’appuyer sur la touche 2 du clavier connecté au Raspberry Pi pour sélectionner le modeHDMI Safe.

Si vous êtes connecté via le connecteur jaune composite, appuyez sur la touche 3 pour un moniteurou un téléviseur PAL et 4 pour un écran NTSC.

Vous êtes accueilli par un menu graphique des différents systèmes d’exploitation.

Sélectionnez « Raspbian [RECOMMENDED] » (Figure 1.2) et choisissez la langue et le type declavier que vous utilisez.

D

un

od

–T

ou

tere

pro

du

ctio

nn

on

auto

risé

ees

tu

nd

élit

.

Page 20: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre

4 1 • Raspberry Pi

Figure 1.2 Choix d’un système d’exploitation

Si vous connaissez n’importe quelle distribution Debian, Mint ou Ubuntu, vous serez en terrainconnu ; si ce n’est pas le cas, continuez à lire et tout ira bien !

L’installation de Raspbian ne prend que quelques minutes (Figure 1.3). Quand le processus estterminé, un message vous invite à cliquer sur OK pour redémarrer.

Figure 1.3 Installation de Raspbian

L’utilitaire de configuration du Raspberry Pi s’ouvre. Utilisez les flèches et la touche Tabulationpour vous déplacer, appuyez sur la touche Entrée pour sélectionner une option (Figure 1.4).

Page 21: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre

Premier démarrage du Raspberry Pi 5

Figure 1.4 Utilitaire de configuration raspi-config

Il est souhaitable d’activer l’option Enable Boot to Desktop/Scratch. Quand la modificationdes paramètres est achevée, utilisez la touche Tabulation pour sélectionner Finish et redémarrer.

Une fois que le Raspberry Pi a redémarré, vous vous retrouvez dans un environnement gra-phique et une session sera ouverte automatiquement.

Si vous n’avez pas activé l’option Boot to Desktop, vous démarrerez toujours avec une interfaceen ligne de commande. Il faut alors vous connecter sous le nom « raspberry » avec le mot depasse « pi » (sauf si vous avez modifié le mot de passe). Après vous être identifié, saisissez startxpour démarrer X Window System, qui est l’interface graphique.

Bienvenue chez Linux !

Vous avez à présent installé Raspbian sur un Raspberry Pi (Figure 1.5).

Figure 1.5 Bureau Linux

D

un

od

–T

ou

tere

pro

du

ctio

nn

on

auto

risé

ees

tu

nd

élit

.

Page 22: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre

6 1 • Raspberry Pi

Pour éteindre votre Raspberry Pi, faites un double-clic sur l’icône Shutdown du bureau. Une fois leprocessus d’arrêt terminé, vous pouvez débrancher l’alimentation.

Dépannage de votre installation Raspberry Pi

Voici quelques solutions à quelques problèmes courants :

Votre carte est-elle formatée en FAT32 ?

Si vous n’arrivez pas à démarrer à partir de la carte SD, c’est peut-être parce qu’elle n’est pascorrectement formatée.

Sous Linux, utilisez l’éditeur graphique intégré de partition (saisissez sudo gparted pour l’exécuter).Formatez la totalité de la carte en FAT. Vous pouvez exécuter un autre outil avec la commande sudo

palimpsest (ou sudo gnome-disks) et, pour les utilisateurs avancés, sudo parted fournit un outilclassique de gestion des partitions en ligne de commande.

Sous Windows et Mac, utilisez l’outil de la SD Association (https://www.sdcard.org/downloads/formatter_4/). Sous Windows, choisissez l’option « format size adjustment » de l’utilitaire et sousMac, l’option « Overwrite Format ».

La LED rouge d’alimentation (PWR) ne s’allume pas.

La LED d’alimentation brille faiblement ou clignote ? Elle s’allume puis elle s’éteint ? Le RaspberryPi n’a pas suffisamment de courant. Connectez un chargeur USB qui fournit 5 volts et au moins1 ampère. Si vous alimentez le Pi via le port USB d’un ordinateur portable, connectez-le à la priseUSB d’un ordinateur fixe ou utilisez un chargeur puissant de téléphone mobile ou de tablette.

L’écran est noir, mais la LED rouge est allumée.

Il est possible que le Raspberry Pi ne puisse pas lire l’amorce de la carte SD. Éteignez-le, enlevezla carte SD et réinsérez-la franchement. Vérifiez que le premier fichier utilisé dans la séquence dedémarrage,bootcode.bin, est dans le répertoire racine de la carte SD.

Si le problème persiste, formatez la carte SD et décompressez à nouveau l’archive NOOBS sur lacarte SD. Si cela ne règle pas le problème, essayez une carte SD différente.

Il y a quatre carrés de couleur à l’écran.

L’amorce a été lue à partir de la carte SD, mais le système d’exploitation kernel.img n’a pas réussi àdémarrer. Formatez la carte SD et décompressez à nouveau l’archive NOOBS ou essayez une autrecarte SD.

Le démarrage échoue et il y a des messages d’erreur.

Déconnectez tous les périphériques USB, comme le clavier, la souris et l’adaptateur WiFi (s’il estprésent). Ne laissez que la carte SD, l’écran et l’alimentation. Enlevez et insérez la carte SD pourvous assurer que le contact est correct.

Si le problème persiste, reformatez la carte SD et décompressez à nouveau l’archive NOOBS.

Vous avez mis la pagaille dans le système d’exploitation.

Si les commandes normales ne fonctionnent plus et que votre écran est rempli de messages d’erreurou que le Raspberry Pi cesse de fonctionner soudainement, ne vous inquiétez pas. Maintenez enfon-cée au démarrage la touche Majuscule et choisissez l’option de réinstallation de Raspbian. Cela est

Page 23: Librairie médicale, scientifique, BTP, architecture - Unitheque.com … · 2014. 12. 11. · CHAPITRE 2 •ARDUINO 25 Installation de base d’Arduino 26 ... Wii Nunchuk, accéléromètre

Introduction à Linux 7

assez rapide et facile, mais toutes les données de la carte SD sont effacées. Si le problème per-siste, reformatez la carte SD et décompressez à nouveau l’archive NOOBS, puis recommencez leprocessus d’installation.

Vous n’avez pas d’Internet.

Si vous avez connecté un câble Ethernet avant de démarrer, cela doit fonctionner parfaitement surun réseau classique. Vérifiez que la LED LNK est allumée sur le Raspberry Pi.

Si ce n’est pas le cas, cela signifie que le Raspberry Pi pense qu’une extrémité du câble Ethernetn’est pas connectée. En général, vous devez voir 100 (ce qui indique une connexion de 100 Mbit/s),et la LED FDX (full duplex) doit être allumée.

Si LNK est allumée et que vous avez encore des problèmes, vous pouvez essayer les commandessuivantes : ifconfig (affiche la configuration de l’adaptateur réseau), route -n (affiche la table deroutage de la connexion réseau), cat /etc/resolv.conf (affiche le serveur de noms utilisé), et ping -c

1 dunod.com (indique si vous pouvez accéder au Web).

Si vous rencontrez des messages d’erreur qui ne sont pas listés ici, essayez de saisir entreguillemets le message d’erreur dans un moteur de recherche et assurez-vous d’avoir bien saisi lemême message d’erreur. Si le message apparaît lors du démarrage, prenez une photo avec votreAPN ou votre téléphone mobile et saisissez-le dans un moteur de recherche.

INTRODUCTION À LINUX

Raspberry Pi est Linux, ce qui signifie qu’il est bâti sur Linux. Le nom « Linux » est employé pourdécrire le noyau du système d’exploitation ainsi que le système d’exploitation lui-même.

Le système d’exploitation Linux est composé du noyau et de milliers d’utilitaires et d’applica-tions émanant de différentes sources.

Le Raspberry Pi n’est pas une station de travail, mais s’apparente plus en termes de puissanceà une tablette d’entrée de gamme ou à un téléphone mobile.

Dans ces conditions, même si vous utilisez le bureau graphique, ne comptez pas abandonnertout de suite votre ordinateur de bureau ou votre portable. Une puissance minimale combinéeà une mémoire réduite empêche les applications comme LibreOffice et Mozilla Firefox d’êtreutilisables.

Une interface en ligne de commande omniprésente

Êtes-vous prêt à ressentir la puissance de l’invite $ ?

La ligne de commande a résisté à l’épreuve du temps et c’est peut-être quelque chose que vousapprendrez à vos petits-enfants. Les commandes que vous allez utiliser tout le temps, comme pwd,ls, ou cat, existaient bien avant l’invention de Linux (Linux a été créé par un étudiant finlandais àHelsinki, à cinq kilomètres du jardin botanique où j’écris ces lignes). Les utilisateurs chevronnésde Mac OS X et de Windows utilisent aussi la ligne de commande quand ils ont besoin de fairequelque chose impossible à réaliser avec une souris.

La plupart des commandes que vous allez utiliser avec un Raspberry Pi sont identiques à cellesque l’on emploie sur un Mac ou un ordinateur sous Linux, et elles sont similaires aux outils enligne de commande sous Windows.

Comme vous le savez sans doute, la plupart des serveurs tournent sous Linux (Google, Face-book, Amazon et la majorité des superordinateurs). Comme les serveurs web n’ont pas d’interface

Du

no

d–

To

ute

rep

rod

uct

ion

no

nau

tori

sée

est

un

dél

it.