Академический Документы
Профессиональный Документы
Культура Документы
Raspberry Pi
Du déballage à vos débuts en domotique
Sascha Eschmann
T UTORIEL 1 R ASPBERRY P I , S ASCHA E. POUR LES LECTEURS DE B LOG É CLAIR . COM
Mis en page à partir d’une structure LaTeX, ce document a but pédagogique a été réalisé et rédigé
par Sascha Eschmann durant l’été 2017.
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1 Contexte 5
1.2 Objectif 5
1.2.1 Références . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 Public . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Les présentations... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 Raspberry Pi 7
2.1.1 Modèle Pi 3 B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.2 Pack de démarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Le déballage, la découverte 9
3 La préparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1 Carte SD - NOOBS 11
3.1.1 Télécharger NOOBS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.2 Mettre NOOBS sur sa carte SD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Premier démarrage 12
3.2.1 Choix du système d’exploitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3 Premiers pas 15
3.3.1 Espace de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3.2 Paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3.3 Sessions & Utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3.4 Premières commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4 / 36
4 Débuts en domotique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1 Installer une page web 25
4.1.1 Outils nécessaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2 Contrôler une LED à distance 27
4.2.1 Utilisation des GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2.2 Premier script PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2.3 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3 Mesurer et afficher la température 32
4.3.1 Sonde DS18B20 - 1 Wire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3.2 Activer le bus 1-Wire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3.3 Brancher la sonde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3.4 Identifier la sonde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.3.5 Température sur page web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1. Introduction
1.1 Contexte
C’est durant un projet réalisé dans une école d’ingénieur de Strasbourg que j’ai découvert cet objet,
la Raspberry Pi. Le thème du projet concernait les Objets Connectés ou encore Internet Of Things
(I.O.T) en anglais. À partir de là, je me suis rapidement approprié la Raspberry Pi et j’ai voulu
en savoir plus sur ses capacités et ses applications. Effectivement, autour de nous, de plus en
plus d’objets devienent communicants ou connectés que ce soit votre ordinateur portable, votre
Thermomix ou bientôt votre nouveau compteur d’électricité Linky. Le monde des objets connectés
ou IoT est une chose formidable. Je suis sûr que, vous aussi, avez envie de commander votre lumière
à partir de votre téléphone portable ou afficher l’évolution de la température de votre pièce !
Aujourd’hui, à travers cet ouvrage, je vous propose de faire de même: découvrir le monde des objets
connectés et utiliser cette fameuse Raspberry Pi.
1.2 Objectif
Cet ouvrage a été édité avec comme principal objectif de partager mes expériences afin de les mettre
à disposition d’un large public. Intitulé Premiers pas sur Raspberry Pi - Du déballage à vos débuts
en domotique le document est surtout rédigé sous forme de tutoriel. En effet, je tiens à ce que vous
accrochiez aux manipulations, que votre travail fonctionne et que vous soyez fier du résultat (tout
comme je l’ai été).
1.2.1 Références
Évidemment, tout cela ne s’est pas construit tout seul. Je me suis enrichi à partir d’Internet et bien
souvent de vidéos ou de tutoriels en anglais. Cependant, je ferais de temps à autres des références
pour que vous puissiez trouver la source de mes explications. Par ailleurs, du matériel est nécessaire
pour débuter sur Raspberry Pi. Le fournisseur le plus simple et pratique avec un large choix reste
Amazon. C’est pourquoi, je vous proposerai des liens vers des produits d’Amazon car la majorité de
mon matériel a été commandé chez eux.
6 / 36 Chapitre 1. Introduction
1.2.2 Public
Comme je l’ai écrit précédemment, je souhaite attirer un large public. Pour réussir les opérations
décrites dans cet ouvrage, il n’est pas nécessaire d’être informaticien, électricien, électronicien,
automaticien ou magicien ! Il suffit d’être intéressé et de ne pas avoir peur de se lancer en territoire
inconnu. Ce document est là pour vous guider dans chaque étape afin de ne pas laisser de place aux
doutes.
Par conséquent, que vous soyez collégien, père ou mère de famille, ouvrier, cadre, retraité, utilisateur
de Windows ou encore utilisateur de Mac et que le bricolage sur le nouveau monde des objets
connectés vous intéresse, vous êtes au bon endroit et je suis heureux que vous suiviez ce tutoriel.
2. Les présentations...
2.1 Raspberry Pi
Comme entre deux êtres humains, il est toujours bon de commencer par des présentations. On va
faire ça rapidement, car je vous sens très impatient de passer à la suite.
Raspberry Pi ? Tout d’abord, c’est une fondation. La fondation Raspberry Pi est une entreprise
britannique qui développe des ordinateurs à carte unique. En d’autres termes, ils fabriquent et
commercialisent des ordinateurs simplifiés. Leurs intérêts (d’après eux bien-sûr) sont avant-tout
pédagogiques. En effet, les ordinateurs développés par Raspberry Pi sont abordables que ce soit en
termes de connaissances ou en termes de prix. Ils sont même appelés nano-ordinateurs du fait de
leur taille vraiment réduite.
En 2016, l’entreprise a vendu près de 11 millions de produits, autant dire que leur stratégie est un réel
succès. Une véritable communauté s’est développée autour de Raspberry Pi. Et oui, d’autres petits
loulous comme moi, partagent leurs expériences sur la Raspberry Pi, ce qui donne envie d’essayer à
d’autres petits loulous et ceci jusqu’à vendre 11 millions de produits !
Nous allons notamment nous intéressés à leur best-seller : le modèle Pi 3 B. Vendu à moins de 40 e,
il est le modèle le plus performant de la marque. Il comporte notamment des périphériques (4 ports
USB, 1 port HDMI, 1 connexion Wi-Fi, ...) qui facilitent nettement son approche et son utilisation.
2.1.1 Modèle Pi 3 B
Comme introduit dans la partie précédente, mes tutoriels sont basés et réalisés sur le modèle Pi 3 B
de Raspberry Pi. Ce produit est vraiment très intéressant et simple à manipuler. Pour comprendre
pourquoi, analysons d’abord sa structure :
Ce nano-ordinateur comprend tous les périphériques (ou presque) d’un ordinateur classique. Un
nombre de ports USB suffisant (4), un port HDMI (pas de port VGA comme un bon nombre des
derniers ordinateurs portables), un port Ethernet pour y raccorder votre câble RJ45 de votre box et
une alimentation à partir d’un port mini-USB. Que vouloir de plus ? Moi je sais ... Des GPIO !! Ce
périphérique supplémentaire va vous permettre de bricoler, utiliser ce nano-ordinateur comme un
automate ! On y reviendra plus loin.
Alors oui, il faut se fournir un écran, un clavier USB, une souris USB et un câble USB vers
USB - micro A. Cependant, ce que je vous conseille, si vous avez un ordinateur fixe chez vous avec
clavier, souris et écran, monopolisez ces trois équipements le temps de démarrer et configurer la
Raspberry Pi. Nous activerons un paramètre, la communication SSH, qui permet de contrôler sa
Raspberry Pi à partir de son propre ordinateur portable (pas de panique tout sera expliqué plus loin).
Il suffira de mettre la Raspberry Pi sous tension et connectée à Internet et ensuite plus besoin de
clavier, souris et écran dédiés.
2.2 Le déballage, la découverte 9 / 36
D’autre part, il est possible de personnaliser sa Raspberry Pi en lui achetant une petite boîte, une
alimentation développée exprès pour elle et une carte SD 16 Go. Tout ça se trouve dans un pack de
démarrage dans lequel j’ai investi quand j’ai débuté : Pack de démarrage Officiel Raspberry Pi
Je me souviens avoir été tellement impatient, que j’avais souscris à l’abonnement Premium Amazon
pour faire livrer ma Raspberry Pi en 24 heures (j’ai pris le mois offert puis je me suis désabonné). Si
c’est le cas pour vous aussi, alors le contenu de la figure ci-dessus sera très rapidement sur votre
bureau !
Que vous l’ayez déjà ou que vous allez le recevoir bientôt, ce pack contient une carte Raspberry Pi
Modèle 3 B, une carte SD 16 Go, une boîte officiel rouge et blanche Raspberry Pi, une alimentation
secteur et des petits radiateurs.
Ce que je vous propose de faire: collez le plus gros radiateur sur le processeur 1 de votre Raspberry
Pi. Le radiateur va permettre de dissiper une partie de la chaleur émise par le processeur. Pour ce
faire, décollez le papier du scotch double face du dissipateur et posez le sur le processeur. Appuyez
avec une pression adaptée (ni trop fort ni trop faible, facile je sais ...) pour que le dissipateur soit
bien collé mais pas endommagé le processeur tout neuf !
Ensuite, mettez la carte électronique dans la boîte rouge et blanche et déballez la carte SD. Ne mettez
pas encore sous tension, nous allons d’abord nous intéresser à la carte SD, qui est je le rappelle, le
disque dur de votre Raspberry Pi.
1 Le processeur est le gros carré noir qui se trouve à l’arrière du port HDMI
10 / 36 Chapitre 2. Les présentations...
Ce qui est important, c’est de voir les périphériques placés au bon endroit (ports USB, HDMI,
alimentation, ...). En effet, il faut qu’ils soient accessibles sans avoir à bouger la carte en elle-même.
Juste pour prendre un peu d’avance, je vous propose de repérer le port de la carte SD. Il n’est
pas simple à identifier (du moins moi j’ai eu du mal). En fait, il se trouve sous la carte :
R Peu importe le type de boîtier que vous avez, dans tous les cas, le logement pour insérer la
carte SD (le disque dur) de votre Raspberry Pi se trouve sous la boîte.
3. La préparation
Évidemment, je préfère être honnête avec vous, il y a quelques manipulations préliminaires à réaliser
afin de pouvoir faire joujou ! Ne vous en faites pas, ces manipulations sont simples et rapides. Du
moins, si vous les trouvez difficiles, laissez-vous guider par mes explications.
Dans un premier temps, il faut préparer le disque dur de la Raspberry Pi. En effet, cette dernière est
livrée toute nue et vide. Nous l’avons d’abord habillée (avec sa belle boîte). Maintenant nous allons
la remplir, lui ajouter un cerveau. Comment ? En installant un système d’exploitation sur sa carte
SD (son disque dur).
Pour ce faire, nous allons utiliser NOOBS, qui est un gestionnaire d’installation de système
d’exploitation (OS1 ) pour Raspberry Pi.
Une fois sur le site, vous devriez avoir la possibilité de télécharger NOOBS en cliquant sur "Down-
load ZIP". Attention ne choisissez pas "NOOBS Lite" :
Le téléchargement peut prendre quelques minutes selon votre connexion. Le fichier pèse près d’1
GO.
1 OS
pour Operating System en anglais. Cela correspond au logiciel qui vous permet d’utiliser votre ordinateur.
Windows et MacOS sont des systèmes d’exploitation
12 / 36 Chapitre 3. La préparation
Ensuite, insérez votre carte SD dans votre ordinateur. Malheureusement, je sais que de plus en
plus d’ordinateurs ne sont plus équipés de port à carte SD. Si c’est votre cas, il faut que vous vous
fournissiez un lecteur de carte SD que vous pouvez connecter en USB sur votre ordinateur. Quelque
chose comme ça. Dans tous les cas, une fois que vous avez connecté votre carte SD à votre ordinateur
où se trouve le fichier de NOOBS fraîchement téléchargé, copiez le contenu du dossier NOOBS sur
votre carte SD.
R Si vous utilisez une carte SD récupérée, veillez à la reformater de manière à ce qu’elle soit
bien vierge. Utilisez par exemple SD Formatter qui est un logiciel gratuit : SD Formatter
R Si vous n’avez pas acheté le pack de démarrage et que vous avez un simple câble USB / Micro
USB-A, vous pouvez alimenter votre Raspberry Pi à partir d’un port USB de votre ordinateur
par exemple.
R Une fois que vous connectez l’alimentation de la Raspberry Pi, elle démarre automatiquement.
Il n’y a pas de bouton pour l’allumer ou l’éteindre !
3.2 Premier démarrage 13 / 36
Cet écran correspond au gestionnaire d’installation d’OS de NOOBS. En effet, il vous propose de
choisir quel système d’exploitation vous souhaitez installer. Nous allons suivre les étapes de la figure
de la page suivante :
R 1- Cochez "Raspbian2 with PIXEL3 " qui correspond au système d’exploitation développé pour
Raspberry Pi
R 2- Choisissez la langue de votre système ainsi que la disposition du clavier. Si vous souhaitez
conserver AZERTY alors choisissez "fr".
R 3- Cliquez sur "Install". Ceci va lancer l’installation du système d’exploitation coché. Cette
étape peut prendre quelques dizaines de minutes voir une petite heure
2 Raspbian est la contraction de Raspberry et Debian. Debian est un système d’exploitation développé sous Linux. Pour
faire simple, Debian est l’équivalent de Windows pour PC ou MacOS pour les ordinateurs Apple
3 PIXEL correspond à l’interface graphique que vous propose Raspbian
14 / 36 Chapitre 3. La préparation
Si tout s’est bien passé, vous devriez voir apparaître une boîte de dialogue vous indiquant que
l’installation a été terminée avec succès :
3.3.2 Paramètres
Clavier
Avant de vouloir écrire ou modifier quoi que ce soit, il est judicieux de vérifier que la disposition
du clavier est bien celle souhaitée (par exemple AZERTY). Il serait bête de vouloir taper le mot de
passe de son Wi-Fi avec un clavier configuré en QWERTY mais qui est physiquement un clavier
AZERTY... (je parle par expérience).
Pour ce faire, je vous propose de suivre les étapes décrites par la figure de la page suivante :
Connexion Internet
Maintenant que votre clavier est correctement configuré, nous allons connecter votre framboise à
Internet. Cette étape est indispensable car la connexion Internet va vous permettre de mettre à
jour la Raspberry Pi et de communiquer à distante avec cette dernière (SSH et domotique qui sont
expliqués plus loin).
Alors pour vous connecter à Internet, la Raspberry Pi 3 B vous propose deux possibilités. Vous
pouvez vous connecter par "câble" en connectant un câble RJ45 provenant de votre box. Ou alors,
ce que je vous conseille, c’est de vous connecter en Wi-Fi à votre box. Pour ce faire, il suffit de
sélectionner le bon réseau Wi-Fi à l’aide du gestionnaire de réseau Wi-Fi.
3.3 Premiers pas 17 / 36
Sélectionnez votre réseau Wi-Fi et tapez votre mot de passe. S’il n’y a pas d’erreur, alors le tour est
joué !
R Si vous avez le sentiment de saisir le bon mot de passe mais que le système ne vous connecte
pas à votre réseau, re-vérifiez la disposition de votre clavier. Celle-ci n’a peut-être pas été
enregistrée en tant que AZERTY.
de laisser la session "pi" il faut choisir "Autre" et mettre "root". Pour le mot de passe, nous allons
voir comment le paramétrer dans la section suivante.
Normalement, une fenêtre devrait s’ouvrir dans laquelle vous pouvez écrire avec votre clavier. Du
coup, vous allez écrire la chose suivante (sans chercher le pourquoi du comment) :
passwd
R Lorsque vous tapez votre nouveau ou ancien mot de passe, les caractères saisis ne s’affichent
pas. C’est normal !
R Si vous avez des doutes ou si vous souhaitez avoir une explication vidéo, je vous propose de
consulter mon article à ce sujet sur BlogÉclair.com
3.3 Premiers pas 19 / 36
Activer le SSH
Accrochez vous, c’est certainement à partir d’ici que les moins motivés abandonnent. Sauf que
ça devient super, une fois ce chapitre terminé (et il ne reste plus que deux sections), vous n’aurez
plus besoin de l’écran, la souris et le clavier qui encombrent votre bureau. Comment ? Nous allons
utiliser le protocole de communication SSH.
Sauf qu’avant de vouloir tout débrancher, il faut l’activer. Pour l’activer, commençons par ouvrir un
terminal (à partir du raccourci se trouvant dans la barre de menu supérieure). Ensuite, tapons la ligne
de commande suivante :
sudo raspi-config
Une fois avoir tapé sur "Entrer" de votre clavier, vous devriez voir apparaître une fenêtre à fond bleu
comme celle-ci :
Choisissez l’option 5 nommée "Interfacing Options". Ensuite vous devriez voir apparaître la fenêtre
suivante :
Choisissez l’option 2 nommée "SSH". En pressant la touche "Entrer" de votre clavier, le système
vous demande si vous êtes sûr de vouloir activer le SSH. Saisissez "yes" ou "oui" puis faites "OK".
Pour quitter la fenêtre bleue de configuration, appuyez sur "Back" puis "Finish" en bas à droite de la
fenêtre. Attention, ceci est uniquement possible en déplaçant à l’aide des flèches du clavier. Cliquer
et se déplacer avec la souris n’a aucun effet.
Voilà, s’il n’y a pas eu d’erreur durant la manipulation, le SSH de votre Raspberry Pi est activé !
Cependant, avant de vouloir communiquer en SSH entre votre ordinateur personnel et votre Rasp-
berry Pi, il faut que vous connaissiez l’adresse IP4 de votre Raspberry Pi.
N’ayez crainte, c’est très simple à faire car ça se fait en une seule ligne de commande dans le
terminal :
ifconfig
4 L’adresse IP pour Internet Protocole correspond à l’adresse donnée à un équipement (dans notre cas, la Raspberry Pi)
sur un réseau. Votre box crée un réseau internet auquel la Raspberry Pi est connectée. Les adresses IP sont composées de
4 champs, typiquement l’adresse IP d’un particulier est 192.168.1.10
3.3 Premiers pas 21 / 36
Une fois que vous avez tapé la ligne de commande de la page précédente et que vous êtes bien
connecté à Internet, vous devriez voir apparaître les informations de votre connexion réseau :
Si vous êtes connectés en Wi-Fi c’est l’"inet addr" de la partie "wlan0" qui vous intéresse. Si
vous êtes connecté en câble alors c’est l’"inet addr" de la partie "eth0" qui vous intéresse. Par
exemple, dans mon cas, je suis connecté en Wi-Fi est l’adresse IP de ma Raspberry Pi (surlignée sur
la figure ci-dessus) est 130.240.152.93.
R Mon adresse IP n’est pas une adresse IP typique car je n’étais pas connecté à un réseau Internet
d’un particulier. J’étais connecté à un réseau Wi-Fi public d’une école
R Notez l’adresse IP de votre Raspberry Pi, nous allons en avoir besoin dans la suite pour pouvoir
s’y connecter en SSH !
Ça y est, c’est la dernière partie avant de pouvoir vous débarrasser de votre clavier, souris et écran
qui prend toute la place sur votre bureau. Maintenant que le SSH est activé sur votre Raspberry Pi
et que vous êtes en possession de son adresse IP, nous allons établir la communication entre votre
Raspberry Pi et votre ordinateur portable/fixe personnel.
À ce stade, il existe une petite divergence entre les utilisateurs de Windows et de Mac. Pour les
utilisateurs de Mac, la mise en place de la communication sera très rapide. Pour les utilisateurs de
Windows, la manipulation nécessite un outil supplémentaire : PuTTY. Je vais dans un premier temps
m’adresser aux utilisateurs de Windows :
Comme vous pouvez le constater, il y a quelques champs à remplir. Rassurez-vous, vous avez déjà
préparé tout le boulot, c’est à dire récupérer l’adresse IP de votre Raspberry Pi !
Pour vous aider dans la configuration, veuillez suivre les étapes suivantes illustrées par la figure de la
page suivante :
R 1- Saisir l’adresse IP de votre Raspberry Pi dans le champ "Host Name (or IP address)"
3- Cliquez sur "Save". Cela permet d’enregistrer les paramètres et vous évite à devoir re-
saisir l’adresse IP à chaque fois que vous souhaiterez vous connecter en SSH à votre Raspberry
Pi
Normalement, une console du même design que le "Terminal" de la Raspberry Pi devrait s’ouvrir.
Cette console vous demande le mot de passe de la session "pi" de votre Raspberry Pi. Saisissez votre
mot de passe (le mot de passe par défaut est "raspberry"). En tapant le mot de passe, les caractères
ne s’affichent pas, c’est normal !
Voilà si votre mot de passe est correct, la connexion en SSH à l’aide de PuTTY entre votre ordinateur
et la Raspberry Pi est établie !
Maintenant place aux utilisateur de Mac, pour qui la manipulation est beaucoup plus simple. En
effet, elle est plus simple car aucune application additionnelle n’est nécessaire. Il suffit de lancer le
"Terminal" de Mac ! Rendez-vous dans vos Applications/Utilitaires et lancez l’application Terminal.
Une fois le Terminal de votre Mac lancé, il suffit de tapez la ligne de commande suivante :
ssh pi@adresse.ip.raspberry.pi
Il suffit de remplacer "adresse.ip.raspberry.pi" par l’adresse IP de votre Raspberry Pi. Dans mon
cas, je dois remplacer "adresse.ip.raspberry.pi" par "130.240.152.93". Ensuite, la console vous
demandera le mot de passe de la session "pi" de votre Raspberry Pi. Saisissez votre mot de passe (le
mot de passe par défaut est "raspberry"). En tapant le mot de passe, les caractères ne s’affichent pas,
c’est normal !
Voilà si votre mot de passe est correct, la connexion en SSH à l’aide de PuTTY entre votre ordinateur
et la Raspberry Pi est établie !
24 / 36 Chapitre 3. La préparation
R Attention, très important : Que vous soyez utilisateur de Windows ou Mac, pour établir la
connexion en SSH entre votre Raspberry Pi et votre ordinateur personnel, il faut que les deux
soient connectés au même réseau. Par exemple, si votre Raspberry Pi est connectée en Wi-Fi
sur votre box, il faut que votre ordinateur personnel le soit aussi. Idem, si votre Raspberry Pi
est connectée en câble sur votre box, il faut que votre ordinateur personnel le soit aussi !
R Si vous avez des doutes ou si vous souhaitez avoir une explication vidéo, je vous propose de
consulter mon article au sujet de la connexion SSH sur BlogÉclair.com
4. Débuts en domotique
On passe enfin aux choses sérieuses ! Je suis sûr que vous attendiez ça depuis que vous avez
commandé votre Raspberry Pi. Les étapes précédentes étaient un peu pénibles mais elles sont
indispensables pour passer à la suite. Comme on dit... après l’effort le réconfort ! Effectivement, si
on s’est embêté à installer un système d’exploitation et mettre en place une communication SSH c’est
pour faire un peu de domotique. Peut être que le mot domotique vous effraie, je peux comprendre,
mais n’ayez crainte. Si vous préférez on peut appeler ça du "contrôle à distance" ?!
Maintenant que votre Raspberry Pi est connectée à Internet et que vous contrôler votre Raspberry Pi
à partir de votre ordinateur personnel en SSH, nous allons lancer les premières lignes de commande
à partir de SSH. Ces premières lignes concernent la mise à jour de la Raspberry Pi. Ceci est très
simple, ça se fait en deux lignes. Cependant, le téléchargement des mises à jour peut prendre un
certain temps, une dizaine de minutes selon votre connexion Internet :
sudo apt-get update
Cette ligne va mettre à jour le contenu de votre Rasberry Pi. Ensuite, nous pouvons faire une mise à
jour du système :
sudo apt-get upgrade
Voilà, maintenant que votre bébé est à jour, nous pouvons lancer l’installation d’Apache :
sudo apt install apache2
Ensuite il faut donner des droits d’accès à Apache (ne cherchez pas encore à comprendre le sens des
lignes de commandes) :
sudo chown -R pi:www-data /var/www/html/
sudo chmod -R 770 /var/www/html/
Voilà, vous venez d’installer Apache (serveur web) sur votre Raspberry Pi. Est-ce que c’était com-
pliqué ? J’avoue que c’est un peu déroutant quand on a pas l’habitude !
Durant l’installation (notamment au début) on risque de vous demander si vous êtes sûr de vouloir
installer le contenu, il suffit de taper "y" ou "yes" ou "o" ou "oui" pour lancer l’installation.
Pour voir si tout fonctionne, on va pas s’embêter, on va consulter notre page web fraîchement créée !
Pour ce faire, on va créer un fichier ".php" qui contiendra des informations à propos du logiciel PHP.
Ensuite, on va placer un fichier ".php" à partir de la commande suivante :
sudo rm /var/www/html/index.html
echo "<? Php phpinfo ();?>" > /var/www/html/index.php
4.2 Contrôler une LED à distance 27 / 36
Maintenant, ouvrez votre navigateur Internet sur votre ordinateur personnel et saisissez l’adresse
IP de votre Raspberry Pi dans la barre d’adresse web. Vous devriez voir apparaître une page qui
ressemble à ça :
Si ce n’est pas le cas, veillez à redémarrer votre Raspberry Pi afin que les installations et modifications
soient bien prises en compte. Ceci est faisable en SSH à partir de la commande suivante :
sudo reboot
R Si vous avez des doutes, ma source pour ces explications est un tutoriel anglais très bien fait
qui se trouve ici.
Alors sur le schéma ci-dessus on aperçoit pleins de choses différentes. Les pins 5 V et 3,3 V
correspondent à des sorties constantes. C’est à dire que si l’on mesure la tension entre ces pins là et
la pin de GND ou ground, on mesurera 3,3 V ou 5 V continu en permanence.
Ensuite, il y a toutes les autres pins nommées "GPIO X" qui correspondent à des entrées/sorties
programmables. Certaines GPIO sont dédiées à de la communication série (14 et 15). Autrement,
avec les autres on peut faire ce qu’on veut : programmer en tant qu’entrée logique, sortie logique,
sortie PWM (MLI ou à tension de sortie variable entre 0 et 3,3 VDC) ou encore configurer pour le
bus 1-Wire. Cette souplesse de configuration permet d’utiliser la Raspberry Pi dans un bon nombre
d’application !
R Il y a deux choses à savoir pour utiliser prudemment les GPIO : les GPIO ne sont pas protégées.
C’est à dire qu’il n’y a pas de "fusible" interne. De ce fait, il va falloir veiller à ne pas réaliser
de court-circuit en manipulant les GPIO sinon c’est le processeur de votre Raspberry Pi qui en
paiera les frais.
Ensuite, plutôt une information, le niveau logique d’entrée ou de sortie des GPIO est de 3,3
VDC
1 General Purpose Input and Output. Chaque pin peut être configurée en tant qu’entrée ou sortie
4.2 Contrôler une LED à distance 29 / 36
Pour pouvoir bricoler sur Raspberry Pi et avec les GPIO, vous allez vite remarquer que c’est com-
pliqué. Il va falloir s’équiper d’une petite platine de bricolage électronique. Une platine dans laquelle
il est simple d’enficher des composants comme les pattes d’une LED ou d’une résistance.
La solution pour laquelle j’avais optée est la suivante : Cette platine est disponible pour une
dizaine d’euros chez Amazon et permet de faire du bricolage avec vos GPIO. Je vous garantie, elle
est très utile ! De plus, elle est livrée avec une nappe et un connecteur 40 broches qui permet de
réaliser la liaison très facilement avec votre Raspberry Pi ! Celle-ci est disponible au lien suivante :
ici !
Schéma de câblage
Je vous propose ci-dessous un schéma de câblage pour pouvoir allumer une LED à partir de la GPIO
22 :
Ici la résistance a deux rôles : limiter le courant qui traverse la LED (à une vingtaine de 20 mA) et
limiter la tension aux bornes de la LED (entre 1,8 et 2,3 V, j’ai pris 2 V). En sachant que la GPIO
fournie 3,3 V, la détermination de la valeur de la résistance est réalisée par la loi d’Ohm : R = U / I
= ( 3,3 V GPIO - 2 V LED ) / 20 mA LED = 60 Ω. C’est pourquoi, j’indique sur le schéma, une
résistance entre 50 et 100 Ω.
R Pour ceux qui n’ont jamais utilisé de platine électronique, ne vous faites pas avoir comme moi.
Il faut savoir que les orifices d’une ligne (chiffres) sont reliés ensemble. Et que les colonnes
(lettres) ne sont pas connectées ensemble.
Par ailleurs, la petite patte de la LED correspond au "moins" et la longue au "plus".
Avec cette ligne, vous devriez tomber sur le fichier où nous avions précédemment écrit "<? Php
phpinfo ();?>". Supprimez-la. Et remplacez-la par :
<?php
if(shell_exec("gpio -g read 22") == 0){
echo’<p style="color:red;"> Éteinte </p>’;
}else{
echo’<p style="color:green;"> Allumée </p>’;
}
?>
Ensuite quittez et enregistrez en faisant CTRL + X puis suivez les instructions pour enregistrer les
modifications. Maintenant, on va créer un second script php nommé "script_gpio_22.php" qui est
appelé dans "index.php" :
<?php
$gpio_22_1 = $_POST[’gpio_22’];
$setmode22 = shell_exec("gpio -g mode 22 out");
if ($gpio_22_1 == 0)
{
$gpio_22_on = shell_exec("gpio -g write 22 0");
}
if ($gpio_22_1 == 1)
{
$gpio_22_off = shell_exec("gpio -g write 22 1");
}
header(’location: http://192.168.3.1/index.php’);
exit();
?>
Attention, dans l’avant dernière ligne de ce script, vous devez remplacer "192.168.3.1" par l’adresse
IP de votre Raspberry Pi sinon cela ne fonctionnera pas ! Ensuite, quittez avec CTRL + X et
enregistrez. En vous rendant sur votre page web en saisissant l’adresse IP de votre Raspberry Pi dans
le navigateur, vous devriez voir apparaître la fenêtre suivante :
4.2.3 Test
Pour tester c’est très simple, cochez la case "ON" puis appuyez sur le bouton "Valider". La LED
devrait s’allumer et le texte devrait afficher "Allumée" en vert au lieu de "Éteinte" en rouge. Voilà,
vous pouvez même faire ça à partir de votre téléphone portable s’il est connecté au même réseau
Wi-Fi que votre Raspberry Pi.
sudo raspi-config
4.3 Mesurer et afficher la température 33 / 36
Les deux commandes chargent les pilotes du protocole 1-Wire et du capteur de température connecté
à la broche GPIO 4 par défaut. Ensuite, nous avons besoin de nous déplacer dans le répertoire du
périphérique 1-Wire et lister les périphériques afin de s’assurer que notre capteur de température est
reconnu correctement. Saisissez les lignes :
cd /sys/bus/w1/devices
ls
Dans la liste des périphériques, votre capteur doit apparaître avec une série de lettres et de chiffres.
Dans mon cas, le périphérique est identifié avec le numéro 28-00005e2fdc3. Vous devez alors
accéder au capteur avec la cd, en n’oubliant pas de remplacer le numéro de série par celui de votre
propre capteur :
cd 28-000005e2fdc3
Les données provenant du capteur sont périodiquement écrites dans le fichier w1_slave. Nous
pouvons utiliser la commande "cat" pour lire son contenu :
cat w1_slave
On obtient alors deux lignes de texte, avec en sortie "t" qui indique la température en millidegrés
Celsius :
4.3 Mesurer et afficher la température 35 / 36
crc=57 YES
72 01 4b 46 7f ff 0e 10 57 t=23125
Divisez ce nombre par 1 000 pour obtenir la température en degrés. Ici, la température acquise est
donc de 23,125 degrés Celsius.
Si vous voyez apparaître la valeur de 85000 qui correspond à 85 degrés, essayez d’abord de rafraîchir
la mesure en tapant à nouveau :
cd 28-000005e2fdc3
cat w1_slave
Si la valeur de 85 degrés persiste, c’est qu’il y a une erreur. Cette erreur peut provenir de votre
câblage ou des lignes de commandes précédentes qui correspond à la déclaration de la sonde. Si
vous êtes persuadé que ces deux critères sont corrects, pensez à redémarrez votre Raspberry Pi (cela
règle bien souvent des problèmes) :
sudo reboot
Puis sous la dernière ligne du code précédent, ajoutez (en pensant à remplacer le numéro de série de
la sonde par le votre) :
<?php
// Fichier à lire
$file = "/sys/bus/w1/devices/28-80000026ddb1/w1_slave";
// Formatage de la temperature
$temp = number_format($temp[1]/1000,2, ’.’, ’’);
// On affiche la temperature
echo $temp;echo" degrés Celius";
?>
36 / 36 Chapitre 4. Débuts en domotique
Quittez en pressant CTRL + X et enregistrez. Rendez-vous sur votre page web en saisissant l’adresse
IP de votre Raspberry Pi dans la barre de recherche de votre navigateur. Vous devriez tomber sur une
page comme ceci :
Vous pouvez à présent consulter la température à partir de votre page web. On peut imaginer
pouvoir aller plus loin en enregistrant au fur et à mesure la température et l’afficher sous forme de
graphique... Pour des premiers pas, ces deux premiers exercices sont largement suffisants et je tiens
à vous féliciter si vous y êtes parvenus.
Si vous rencontrez des difficultés, n’hésitez pas à persister, à consulter des tutos et blog comme ceux
sur www.blogeclair.com ou encore à me contacter directement.
Vous souhaitant une bonne réussite, je vous remercie pour la confiance que vous m’avez accordée.