Académique Documents
Professionnel Documents
Culture Documents
RaspBerry Pi - Commander Sa Maison A Distance - Michel Martin PDF
RaspBerry Pi - Commander Sa Maison A Distance - Michel Martin PDF
Michel Martin
Editions Mediaforma
Copyright © 2016
MediaForma est une marque déposée
Tous droits réservés
Votre pack vidéo
N’oubliez pas de nous demander le pack vidéo correspondant à cet eBook.
Pour cela, envoyez-nous un justificatif d’achat à l’adresse suivante :
admin@mediaforma.com
Vous recevrez les instructions permettant de télécharger votre pack dans un délai inférieur
à trois jours.
Introduction
Je m’appelle Michel Martin. Passionné d’informatique depuis toujours, je me suis
récemment intéressé au Raspberry Pi. A travers le site Mediaforma Learning, je vous
propose de partager ma passion au travers de différents projets à la portée de tous et de
toutes les bourses. Il y a de grandes chances que vous tombiez rapidement sous le charme
du Raspberry en entrevoyant les immenses perspectives qu’il va vous offrir et la facilité
avec laquelle vous pourrez les mettre en œuvre.
Ce projet va vous permettre de transformer votre Raspberry Pi en un « objet connecté ».
Ainsi, vous pourrez commander des équipements reliés à votre Raspberry Pi (lumières,
TV, chauffage électrique, etc.) où que vous vous trouviez dans le monde ! Beau défi n’est-
ce pas ?
Cet objectif sera atteint en trois étapes :
Allumage et extinction de LED connectées au GPIO du Raspberry.
Remplacement des LED par des relais afin de commander des appareils plus puissants,
fonctionnant sous 220 Volts.
Dialogue avec le Raspberry via votre téléphone, votre tablette ou un ordinateur quelconque
et ce, où que vous vous trouviez dans le monde. Vous pourrez ainsi commander un ou
plusieurs appareils connectés aux relais de la deuxième étape et transformer votre
Raspberry en un véritable objet connecté.
Vous vous demandez peut-être si vos connaissances en informatique sont suffisantes pour
mener à bien ce projet. Je vous garantis que oui, quel que soit votre passé en informatique.
Toutes les étapes à suivre seront décrites en vidéo. Il vous suffira de suivre à la lettre les
manipulations que vous verrez pour obtenir le même résultat. Vous préférez un support
écrit plutôt que vidéo ? Pas de problème : un eBook est fourni avec cette formation. Il
contient de nombreuses illustrations et des instructions précises. Vous pourrez même
l’imprimer sur des feuilles A4 si vous souhaitez un support papier.
Prêt à vous lancer dans l’aventure ? Commençons par les éléments que vous devez vous
procurer.
Les éléments dont vous avez besoin
Pour ce projet, vous aurez besoin des éléments suivants :
Un Raspberry Pi 2 Modèle B.
Une carte microSDHC Sandisk Ultra 16 Go Classe 10 Speed 80Mo/s 533x.
Un écran VGA classique neuf ou de récupération pour la mise au point du projet. Par la
suite, l’écran ne sera plus nécessaire.
Un clavier et une souris USB neufs ou de récupération pour la mise au point du projet. Par
la suite, le clavier et la souris ne seront plus nécessaire.
Un convertisseur HDMI/VGA ou HDMI/DVI pour relier le Raspberry à l’écran.
Une alimentation secteur mini USB.
Un boîtier Raspberry Pi 2 officiel.
Un PC muni d’un lecteur de cartes SD pour copier le système d’exploitation Raspbian sur la
carte micro SD que vous insèrerez dans votre Raspberry Pi.
Une LED, une résistance de 100 Ohms, une carte d’expérimentation et un ou plusieurs relais
5 Volts.
Une prise 220 V femelle, une prise 220 Volts mâle et quelques mètres de fil électrique.
Vous êtes certainement déjà en possession de certains de ces éléments. En particulier un
écran, un clavier et une souris. En ce qui me concerne, j’ai utilisé un écran BenQ de 17
pouces qui avait été mis au rebut pour être remplacé par un écran de taille supérieure.
Quant au clavier et à la souris, il s’agit de modèles d’entrée de gamme tels que ceux que
l’on connecte sur un PC.
Si vous n’avez pas encore un Raspberry Pi ainsi que les éléments qui viennent d’être cités,
vous pouvez vous les procurer sur Amazon en allant sur la page http://goo.gl/aNOyda :
Découverte et installation du Raspberry
Dans les pages qui suivent, vous allez faire connaissance avec votre Raspberry Pi 2, puis
vous verrez comment installer un système d’exploitation taillé sur mesure pour lui, et
comment le paramétrer pour que l’affichage se fasse par défaut sur le port HDMI relié à
votre écran plat. Si vous avez déjà suivi la formation « Mon ordinateur tout-en-un pour
moins de 100 euros », Raspbian Jessie est déjà installé sur votre Raspberry. Vous pouvez
donc directement passer à la section 8 intitulée « Commander des LED » à moins que
vous ne décidiez de conserver votre ordinateur tout-en-un à base de Raspberry et de partir
sur un deuxième projet avec un deuxième Raspberry flambant neuf !
Découverte de votre Raspberry Pi 2 Modèle B
Votre Raspberry PI 2 regroupe tous les composants nécessaires pour assurer les mêmes
tâches qu’un PC traditionnel … et bien plus encore ! La face supérieure donne accès à de
nombreux connecteurs :
Connecteur Fonction
1 Port Ethernet 10/100 BaseT
2 Quatre ports USB
3 Jack à 4 contacts pour audio et vidéo composite
4 Port HDMI
5 Alimentation du Raspberry Pi 2 en 5V
6 Connecteur GPIO 40 broches
7 Connecteur pour afficheur DSI
8 Connecteur pour caméra
Connecteur Fonction
9 Connecteur microSD
Téléchargez la dernière version de Raspbian au format ZIP. Ici, la version téléchargée date
du 21 Novembre 2015. Il se peut que cette page vous propose une version plus récente de
Raspbian. Dans tous les cas, téléchargez la dernière version proposée. Armez-vous de
patience, le fichier à télécharger pèse quelques 1,32 Go !
Une fois le fichier ZIP téléchargé, ouvrez le Gestionnaire de fichiers, rendez-vous dans le
dossier où le fichier ZIP a été téléchargé, cliquez du bouton droit sur ce fichier et
sélectionnez Extraire tout dans le menu :
Une boîte de dialogue s’affiche et vous propose d’extraire le contenu du fichier ZIP dans
le dossier raspbian_latest :
Validez en cliquant sur Extraire. Lorsque la décompression est terminée, vous obtenez un
dossier nommé raspbian_latest qui contient un seul fichier d’extension .img. Ici, ce
fichier est nommé 2015-11-21-raspbian-jessie.img. Si vous ne voyez pas les extensions
dans le gestionnaire de fichiers, basculez sur l’onglet Affichage et cochez la case
Extension de noms de fichiers dans le groupe Afficher/Masquer :
Copie de Raspbian sur la carte microSD
Pour copier le fichier IMG sur la carte microSD du Raspberry, vous allez utiliser
l’application Win32 Disk Imager.
Ouvrez votre navigateur Web et allez sur la page
http://sourceforge.net/projects/win32diskimager/ :
Ejectez la carte micro SD. Pour cela, cliquez sur la flèche dans la zone de notification,
cliquez sur l’icône Retirer le périphérique et désignez la carte dans le menu :
Insérez la carte micro SD dans le Raspberry. Pour cela, retournez le Raspberry pour voir la
face du dessous et insérez la carte dans le connecteur de façon à voir les inscriptions qui
figurent au-dessus de la carte :
Arrêtez d’enfoncer la carte micro SD lorsque vous entendez un petit clic. La carte doit
alors dépasser du Raspberry d’environ 2 millimètres.
Connectez au Raspberry :
Le câble Ethernet.
Le clavier USB.
La souris USB.
Le convertisseur HDMI/VGA ou HDMI/DVI (4), et bien évidemment le câble de l’écran à
la prise femelle VGA ou DVI du convertisseur.
La prise mini USB de l’adaptateur secteur.
Il ne vous reste plus qu’à relier l’adaptateur secteur à une prise 220V. La diode rouge du
Raspberry s’allume et la diode verte clignote pendant une minute environ puis elle
s’éteint. Vous l’aurez compris, la diode rouge indique que le Raspberry est sous tension et
la diode verte s’allume à chaque lecture/écriture sur la carte micro SD.
Malheureusement, il n’y a aucun affichage sur l’écran. Rassurez-vous, votre Raspberry
n’est pas défectueux et tous les câbles ont bien été connectés. Le problème vient du mode
de fonctionnement par défaut du Raspberry. Nous allons remédier à cela dans l’étape
suivante.
Premiers échanges avec le Raspberry via
le connecteur Ethernet
Par défaut, le Raspberry n’affiche rien sur le port HDMI … et donc sur l’écran qui lui est
relié. Pour lui demander de rediriger l’affichage sur le port HDMI, vous allez devoir
établir une connexion SSH depuis votre PC en passant par le port Ethernet.
Mais qu’est-ce qu’une connexion SSH ? Ces trois lettres sont l’abréviation de Secure
SHell. Ce terme désigne un protocole de communication entre deux matériels. Par
exemple, entre un PC et un Raspberry Pi. Avec SSH, vous allez pouvoir ouvrir une fenêtre
Invite de commandes (un Shell) sur le Raspberry et afficher cette fenêtre sur le PC. Vous
pourrez alors entrer des commandes à destination du Raspberry depuis le PC. Les
informations affichées en retour apparaîtront dans le Shell sur le PC.
Pour entrer en communication par SSH avec le Raspberry, vous aurez besoin de deux
programmes :
Advanced IP Scanner, qui vous permettra de connaître l’adresse IP du Raspberry Pi.
PuTTY pour établir une connexion SSH avec le Raspberry Pi.
Recherche de l’adresse IP du Raspberry
Ouvrez un navigateur Web et rendez-vous sur la page http://www.advanced-ip-
scanner.com/fr/ :
Cliquez sur Télécharger gratuitement. Une nouvelle fenêtre s’ouvre. Cliquez sur
Télécharger :
Quelques instants plus tard, le fichier ipscan24.exe se trouve dans votre dossier de
téléchargement. Double-cliquez dessus pour l’exécuter. Indiquez la langue du
programme : Français. Etant donné que ce programme ne sera exécuté
qu’occasionnellement, vous n’allez pas l’installer, mais plutôt exécuter sa version
« portable ». Choisissez Exécuter pour l’exécuter sans l’installer, puis cliquez sur
Suivant :
Parcourez le contrat de licence, sélectionnez l’option Je comprends et l’accepte les
termes du contrat de licence puis cliquez sur Exécuter. La fenêtre d’Advanced IP
Scanner s’affiche. Cliquez sur Analyser et patientez jusqu’à ce que le Raspberry Pi soit
identifié :
Quelques instants plus tard, le programme putty.exe se trouve dans votre dossier de
téléchargement. Il s’agit d’un programme portable. Aucune installation n’est donc
nécessaire. Double-cliquez dessus pour l’exécuter. Une fenêtre nommée PuTTY
Configuration s’affiche. Entrez l’adresse IP du Raspberry Pi dans la zone de texte Host
Name. En ce qui nous concerne, cette adresse est 192.168.0.110. Assurez-vous que le port
est bien 22 et que l’option SSH est sélectionnée, puis cliquez sur Open :
Une boîte de dialogue d’avertissement vous demande de confirmer que ce serveur est
digne de confiance. Cliquez sur Oui :
Si une erreur indique que vous n’avez pas entré les bons identifiants, assurez-vous que
tous les caractères ont été saisis en minuscules et que la touche Verr Maj n’est pas active :
Les caractères affichés en vert sont appelés « invite de commande ». Ils apparaitront
systématiquement après chacune des commandes que vous taperez dans la fenêtre.
Vous allez maintenant exécuter l’outil de configuration du Raspberry. Tapez :
sudo raspi-config
Puis appuyez sur la touche Entrée du clavier. Voici ce que vous devez obtenir :
Pour vous déplacer dans cet écran, n’utilisez pas la souris : elle est incapable d’agir dans
une fenêtre SSH. Appuyez plutôt sur les touches flèches Haut et Bas du clavier pour
déplacer la barre de sélection de couleur rouge, sur les touches Droite et Gauche pour
vous déplacer horizontalement et sur la touche Entrée pour exécuter l’option ainsi
sélectionnée.
Pour commencer, vous allez exécuter la première option pour que tout l’espace disponible
sur la carte micro SD soit accessible au système Raspbian Jessie. Pour cela, la barre rouge
étant sur la première option, il vous suffit d’appuyer sur la touche Entrée du clavier.
Quelques instants plus tard, un écran indique que l’opération s’est terminée avec succès :
Pour que ces changements soient effectifs, vous devez rebooter le Raspberry. Appuyez sur
Entrée pour simuler un clic sur OK, puis appuyez à deux reprises sur la touche Droite
pour que l’option <Finish> soit surlignée en rouge. Appuyez alors sur Entrée pour
exécuter cette option.
Un nouvel écran vous demande si vous voulez rebooter le Raspberry. L’option <Yes>
étant surlignée en rouge, appuyez sur Entrée pour confirmer le redémarrage :
Une boîte de dialogue indique que la connexion Shell a été terminée :
Ne vous réjouissez pas trop vite : si vous arrêtez puis redémarrez votre Raspberry, rien ne
s’affichera sur l’écran. D’autre part, vous avez peut-être remarqué que l’affichage est en
anglais et pas en français.
Pour résoudre ces problèmes, cliquez sur Menu. Oui, j’ai bien dit de cliquer car la souris
fonctionne parfaitement dans l’interface graphique de Jessie. Cliquez donc sur Menu,
dans l’angle supérieur gauche de l’écran, pointez Preferences et cliquez sur Raspberry Pi
Configuration. La boîte de dialogue Raspberry Pi Configuration s’affiche, onglet
System sélectionné :
Vérifiez que l’option To Desktop est sélectionnée et que la case Login as user ‘pi’ est
cochée, comme dans cet écran, puis basculez sur l’onglet Localisation. Vous allez
maintenant demander à Jessie d’afficher son interface graphique en français et lui indiquer
que votre clavier est de type AZERTY :
Cliquez sur Set Keyboard. Choisissez France dans la zone de liste Country et French
dans la zone de liste Variant. Testez ce paramétrage en cliquant dans la zone de texte
dédiée et en frappant quelques touches sur votre clavier.
Tapez la commande suivante dans la fenêtre LXTerminal, puis appuyez sur la touche
Entrée du clavier :
sudo leafpad /boot/config.txt
Examinons cette commande :
Le mot sudo donne les droits d’un administrateur à la commande qui suit.
Le mot leafpad correspond à l’éditeur de texte (Text Editor) fourni par défaut avec Jessie.
Le paramètre /boot/config.txt est destiné à leafpad. Il indique le fichier à ouvrir.
Le fichier /boot/config.txt s’ouvre dans l’application Text Editor :
En ce qui nous concerne, l’écran utilisé, un BENQ Q7T4 de 17 pouces, a une résolution
native de 1280x1024 pixels en 60 Hz. La valeur de hdmi_mode est donc 35.
Lancez la commande Enregistrer dans le menu Fichier, puis fermez la fenêtre Text
Editor. Ça y est, votre Raspberry est maintenant configuré pour utiliser par défaut l’écran
relié au port HDMI, dans sa résolution et sa fréquence de rafraîchissement natives.
Vous pouvez arrêter le Raspberry en cliquant successivement sur Menu, sur Shutdown,
puis sur Valider. Débranchez puis rebranchez le bloc d’alimentation du Raspberry.
Raspbian redémarre automatiquement en mode graphique sur l’écran relié au port HDMI,
en utilisant la résolution et la fréquence de rafraîchissement choisies. Si nécessaire, ajustez
ces paramètres en modifiant la valeur affectée à la variable hdmi_mode dans le fichier
/boot/config.txt.
Insertion du Raspberry dans son boîtier
Pour protéger votre Raspberry, il est prudent de l’insérer dans un boîtier. Je vous conseille
d’opter pour le boîtier officiel du Raspberry Pi 2 :
Vous allez maintenant créer un petit montage pour lequel vous aurez besoin des éléments
suivants :
Une carte d’expérimentation.
Deux câbles mâle-femelle pour relier le Raspberry à la carte d’expérimentation.
Une LED.
Une résistance de 100 Ohms.
Si vous ne les avez pas encore, tous ces éléments peuvent être achetés sur la page
http://goo.gl/aNOyda.
Pour ceux qui ne sauraient pas comment fonctionne une carte d’expérimentation :
Les connecteurs « Moins » sont tous reliés entre eux, comme indiqué par les deux traits
bleus.
Les connecteurs « Plus » sont tous reliés entre eux, comme indiqué par les deux traits
rouges.
La plaque d’expérimentation se divise en deux parties. Sur chaque partie, et de façon
indépendante, les connecteurs 1 à 30 sont reliés entre eux verticalement, comme indiqué
par les traits mauves.
Maintenant que vous savez comment fonctionne la carte d’expérimentation, intéressons-
nous au schéma électronique qui permettra d’allumer et d’éteindre la LED.
Selon leur état, les bornes GPIO du Raspberry délivrent 0 Volt (état 0) ou 3,3 Volts (état
1). Dans ce montage, nous allons utiliser la borne GPIO 7 (borne physique 7) et une borne
Ground (par exemple la borne 8) pour réaliser le montage suivant :
Pour trouver la valeur de la résistance, nous sommes partis des constatations suivantes :
La LED a une tension proche de 2V à ses bornes et supporte un courant maximal de 20 mA.
La tension entre les bornes GPIO 7 et Ground est de 0 Volt ou de 3,3 Volts.
Selon la loi d’Ohm, I = U / R, ou encore, R = U / I.
U représente la tension aux bornes de la résistance et I le courant maximal qui la traverse.
La tension maximale aux bornes de la résistance est égale à 3,3 Volts – 2 Volts, soit 1,3
Volts. La résistance minimale est donc :
R = 1,3 / 0,02 = 65 Ohms
En adoptant une résistance de 100 Ohms, donc supérieure à la valeur qui produit un
courant maximal dans la LED, on est assuré de ne griller ni la LED, ni le Raspberry.
Avant de passer au câblage, observez la diode LED. Une de ses pattes est plus longue que
l’autre. Il s’agit de la borne Plus, celle qui doit se trouver côté GPIO. Si vous la câblez
dans l’autre sens, il n’y a aucun danger, mais elle ne s’allumera pas !
Voici le montage final :
Si vous êtes curieux, vous vous demandez peut-être ce que signifient toutes ces couleurs
sur la résistance. Eh bien, elles donnent sa valeur en Ohms, en respectant la convention
suivante :
Dans notre exemple, la résistance a quatre bandes : marron, noir, marron et argent.
Ce qui donne :
Marron Noir Marron Argent
1 0 x 10 ±10%
Soit 100 Ohms à plus ou moins 10%.
Maintenant que le câblage est terminé, nous allons demander à la diode de s‘allumer.
Ouvrez une fenêtre LXTerminal en cliquant sur l’icône LXTerminal.
Dans un premier temps, indiquez que la borne GPIO 7 va être utilisée en sortie avec la
commande suivante :
gpio mode 7 out
Appuyez sur Entrée pour valider cette commande puis tapez ceci :
gpio write 7 1
Lorsque vous appuyez sur la touche Entrée, la diode s’allume. Si ce n’est pas le cas,
vérifiez que vous avez bien respecté le schéma de montage et que la borne Plus de la
diode est bien connectée à la résistance et non à la borne physique 9 du Raspberry.
Cette commande a envoyé la valeur 1 sur la borne GPIO 7. Cette borne est donc passée à
3,3 Volts et la LED s’est allumée. Pour éteindre la LED, tapez simplement :
gpio write 7 0
Commander des lampes ou d’autres
appareils via des relais
En partant du même principe, nous allons voir comment commander des appareils
connectés sur une prise 220 Volts. Pour cela, vous aurez besoin des éléments suivants :
Un module de 1, 2, 4 ou 8 relais électroniques 5 Volts.
Une prise mâle 220 Volts.
Une prise femelle 220 Volts.
Un a cinq mètres de câbles électriques.
Un appareil électrique quelconque. Par exemple, une lampe de bureau, branchée sur la prise
femelle 220 Volts.
Si vous ne les avez pas encore, tous ces éléments peuvent être achetés sur la page
http://goo.gl/aNOyda.
Vous utiliserez le montage suivant :
Comme vous le voyez, la borne GPIO 7 est bien définie en sortie et sa tension est égale à
0 Volt (colonne V à 0).
Tapez la commande suivante et appuyez sur Entrée :
gpio write 7 1
Le relais se décolle et l’appareil branché sur la prise femelle s’arrête.
Vous savez maintenant mettre sous tension et hors tension des appareils électriques à
l’aide d’une simple commande dans LXTerminal. La partie suivante va vous permettre
d’aller beaucoup plus loin. Vous saurez en effet comment piloter ces mêmes appareils
depuis une page Web ou une application iOS.
Accéder au Raspberry via le monde
extérieur
Vous savez maintenant commander l’allumage et l’extinction de LED et d’appareils
électriques 220V en utilisant la commande gpio. Cette troisième et dernière partie va vous
montrer comment exécuter ces mêmes commandes depuis une connexion SSH distante.
Mieux encore, depuis une page Web ou une application iOS. Vous pourrez ainsi
commander des appareils électriques connectés à votre Raspberry depuis n’importe où
dans le monde !
Dans un premier temps, vous allez voir comment accéder à votre Raspberry depuis une
connexion SSH. Si vous pensez que vous l’avez déjà fait lors de la configuration de Jessie,
vous allez aller plus loin cette fois-ci, puisque la connexion SSH pourra se faire depuis un
ordinateur de votre réseau local ou … depuis un quelconque ordinateur qui dispose d’un
accès Internet. Peu importe si cet ordinateur se trouve dans la même pièce où à plusieurs
milliers de kilomètres du Raspberry : la technique sera la même ! Pour arriver à cette
prouesse, j’ai choisi l’approche la plus simple possible, qui consiste à faire appel à un
service gratuit nommé Weaved.
Le principe de Weaved
Le principe est très simple :
Vous créez un compte gratuit sur le site weaved.com.
Vous installez un service Weaved (Web, SSH ou VNC par exemple) sur votre Raspberry.
Vous ouvrez votre compte weaved.com et vous vous connectez au service Weaved du
Raspberry en suivant les instructions qui vous sont données.
Simple et efficace !
Accéder au Raspberry via une connexion
SSH
Etape 1 - Inscription sur le site Weaved.com
Dans un premier temps, vous allez créer un compte sur le site weaved.com. Allez sur la
page https://www.weaved.com/pricing/ et cliquez sur GET sous Free :
Une nouvelle page s’affiche. Renseignez les informations demandées et cliquez sur
VERIFY EMAIL :
Quelques instants plus tard, vous recevrez un message qui vous souhaite la bienvenue
chez Weaved.com :
Ça y est, la première étape est terminée : vous avez créé votre compte sur le site Weaved.
Etape 2 – Installation de la brique Weaved SSH sur le Raspberry
Cette deuxième étape se décompose en trois points :
Mise à jour du dépôt de Jessie
Installation de Weaved Connect sur le Raspberry
Installation du service SSH sur le Raspberry
Tapez 1 et appuyez sur Entrée pour vous connecter à Weaved. Vous devrez alors entrer
l’adresse email et le mot de passe utilisés pour créer votre compte sur weaved.com. Cette
étape passée avec succès, l’écran LXTerminal ressemble à ceci :
Tapez 1 et appuyez sur la touche Entrée pour attacher un ou plusieurs services Weaved à
votre Raspberry. Un nouvel écran s’affiche :
A titre d’exemple, vous allez attacher le service Weaved SSH à votre Raspberry.
Tapez 1 puis appuyez sur la touche Entrée. Un message vous indique que, par défaut, le
port SSH 22 sera utilisé. Si ce port vous convient, tapez y et appuyez sur Entrée. Dans le
cas contraire, tapez n, appuyez sur Entrée, indiquez le port que vous voulez utiliser et
appuyez sur Entrée. Dans un cas comme dans l’autre, un message vous demande de
choisir un nom pour le service. Tapez par exemple SSH et appuyez sur Entrée. Voici
comment se présente la fenêtre de LXTerminal quelques instants plus tard :
Tapez 3 et appuyez sur Entrée pour quitter Weaved Installer.
Remarque
Consultez votre boîte email. Vous y trouverez un message de donotreply@weaved.com
qui vous indique qu’un nouveau service a été créé :
Etape 3 - Utilisation du service SSH Weaved
Vous allez maintenant vous connecter en SSH avec PuTTY à travers le service Weaved.
Ouvrez un navigateur Web et allez sur la page https://www.weaved.com/. Cliquez sur
SIGN IN. Entrez votre adresse email et votre mot de passe, puis cliquez sur SIGN IN
pour vous connecter. Une page du type suivant est alors affichée :
Cliquez sur le nom de votre connexion (ici SSH), sous Name. Quelques instants plus tard,
une page donne toutes les informations nécessaires pour vous connecter au Raspberry en
SSH via Weaved :
Lancez PuTTY. Entrez le nom du proxy dans la zone de texte Host Name, le port dans la
zone de texte Port, choisissez un nom pour votre connexion SSH dans la zone de texte
Saved Sessions (Weaved par exemple), cliquez sur Save pour sauvegarder ce paramétrage,
puis sur Open pour ouvrir la connexion.
Quelques instants après avoir cliqué sur Open, une boîte de dialogue vous demande si
vous faites confiance en cette connexion. Cliquez sur Oui :
Il ne vous reste plus qu’à entrer votre login et votre mot de passe pour ouvrir une session
SSH, comme vous le feriez pour utiliser une connexion SSH locale :
Rien d’extraordinaire me direz-vous ! Effectivement si vous êtes dans la même pièce que
le Raspberry, mais là où les choses deviennent intéressantes, c’est que vous pourriez tout
aussi bien vous trouver à 10 000 km et avoir le même comportement !
Accès au Raspberry via une page Web
Pour accéder au Raspberry à travers une page Web, vous allez mettre en place plusieurs
« briques logicielles » :
Apache pour que le Raspberry se transforme en un serveur Web ;
PHP5 pour que le serveur puisse exécuter du code serveur PHP5 ;
Le service HTTP Weaved pour que le serveur Apache soit accessible simplement et
universellement depuis une page Web.
Ne soyez pas effrayé par autant de nouveaux concepts. Tout va très bien se passer et vous
vous en sortirez haut la main et avec une foule de nouveaux concepts en tête !
Etape 1 - Installation du serveur Web
Par défaut, Raspbian Jessie dispose d’un serveur SSH. Toujours par défaut, ce serveur est
activé. C’est la raison pour laquelle vous avez pu utiliser PuTTY pour vous connecter au
Raspberry en SSH sans devoir installer et activer le serveur SSH sur le Raspberry.
Par contre, aucun serveur HTTP n’est installé par défaut dans Jessie. Vous ne pourrez donc
pas vous connecter immédiatement à votre Raspberry via le service Weaved HTTP.
Pour combler cette lacune, vous allez installer un serveur Web sur votre Raspberry.
Ouvrez une fenêtre LXTerminal en cliquant sur l’icône LXTerminal, à droite du bouton
Menu. Tapez la commande suivante et appuyez sur la touche Entrée :
sudo apt-get install apache2 -y
Une à deux minutes plus tard, Apache est installé sur votre Raspberry :
Pour vous assurer que tout a bien fonctionné, ouvrez le navigateur Web Epiphany en
cliquant sur son icône, à droite du bouton Menu. Dans la barre d’adresses, tapez localhost
et appuyez sur la touche Entrée. Voici ce que vous devez obtenir :
Remarque
Cette page correspond au fichier index.html qui se trouve dans le dossier /var/www/html.
Pour dialoguer avec le GPIO du Raspberry, nous utiliserons des instructions PHP. Il faut
donc qu’Apache « comprenne » les instructions PHP. Pour cela, vous devez installer la
« brique PHP ». Tapez la commande suivante dans une fenêtre LXTerminal et appuyez sur
Entrée :
sudo apt-get install php5
Relancez l’ordinateur avec la commande suivante :
sudo reboot
Pour savoir si PHP est opérationnel, vous allez définir un fichier PHP et l’exécuter. A titre
d’exemple, vous allez créer le fichier phpinfo.php dans le dossier /var/www/html, c’est-
à-dire dans le dossier correspondant à la racine du domaine localhost. Tapez la commande
suivante pour vous déplacer dans le dossier /var/www/html et appuyez sur Entrée :
cd /var/www/html
Tapez la commande suivante pour éditer le fichier phpinfo.php et appuyez sur Entrée :
sudo nano phpinfo.php
Insérez ces trois lignes dans le fichier phpinfo.php :
Une fois le code saisi, appuyez simultanément sur les touches Control et O pour
enregistrer le fichier, puis sur la touche Entrée pour confirmer. Enfin, appuyez
simultanément sur les touches Control et X pour quitter nano.
Ouvrez Epiphany en cliquant sur l’icône Epiphany, à droite du bouton Menu et rendez-
vous sur la page http://localhost/phpinfo.php. Voici ce que vous devez obtenir :
Très bien, PHP est opérationnel. Mais encore faut-il y accéder depuis l’extérieur puisque
je vous rappelle que le but de ce projet est de pouvoir exécuter des commandes (PHP en
l’occurrence) depuis n’importe quel appareil relié à Internet. Pour arriver à cela, vous allez
mettre en place le service HTTP Weaved.
Etape 2 - Installation du service HTTP Weaved
Ouvrez une fenêtre LXTerminal en cliquant sur l’icône LXTerminal, à droite du bouton
Menu. Tapez la commande suivante et appuyez sur la touche Entrée :
sudo weavedinstaller
Tapez 1 et appuyez sur la touche Entrée. Tapez votre adresse e-mail et votre mot de passe
pour vous connecter au service Weaved. Voici ce que vous devriez obtenir :
Tapez 1 puis appuyez sur Entrée. Vous allez maintenant choisir d’ajouter le service Web
(HTTP) sur le port 80 :
Tapez 2 et appuyez sur Entrée. Confirmez que vous voulez utiliser le port 80 en tapant y
puis Entrée. Quelques instants plus tard, on vous demande de donner un nom au nouveau
service. Tapez quelque chose de facile à identifier : HTTP par exemple, puis appuyez sur
Entrée :
Sous Name, cliquez sur HTTP. Comme vous pouvez le voir la page Web est accessible.
Ici, dans Microsoft Edge sous Windows 10 :
Remarque
L’URL de cette page reste valide tant que le Raspberry est sous tension. Par contre, si vous
le redémarrez, il vous faudra repasser par le site http://www.weaved.com pour obtenir une
autre adresse URL.
Appuyez simultanément sur les touches Control et O pour sauvegarder le fichier, puis sur
Entrée pour confirmer. Enfin, appuyez simultanément sur les touches Control et X pour
quitter nano.
Tapez la commande suivante pour éditer le fichier eteindre.php et appuyez sur Entrée :
sudo nano eteindre.php
Insérez ces instructions dans le fichier eteindre.php :
Appuyez simultanément sur les touches Control et O pour sauvegarder le fichier, puis sur
Entrée pour confirmer. Enfin, appuyez simultanément sur les touches Control et X pour
quitter nano.
Le moment de vérité est arrivé. Ouvrez un navigateur Web quelconque, sur votre
ordinateur, votre tablette ou votre téléphone. Rendez-vous sur la page http://weaved.com,
connectez-vous en entrant vos identifiants. Les services de votre compte s’affichent : SSH
et HTTP. Cliquez sur HTTP sous Name. La page « Apache2 Debian Default Page »
s’affiche. Modifiez l’URL de la page pour exécuter le programme allumer.php. Pour cela,
il vous suffit de taper allumer.php à la suite de l’URL de Weaved :
Comme par magie, la lumière s’allume ! Bienvenue dans le monde des objets connectés !
Voyons maintenant s’il est possible d’éteindre la lumière. Pour cela, modifiez l’URL de la
page pour exécuter cette fois-ci le programme eteindre.php :
Remarque
Bien entendu, votre URL sera différente de celle prise en exemple ici puisque votre
service Weaved est différent du mien.
Amélioration des programmes allumer.php et eteindre.php
Les programmes allumer.php et eteindre.php fonctionnent, mais il faut bien avouer
qu’ils ne sont pas vraiment « sexy ». Nous allons les améliorer en ajoutant quelques lignes
de code.
Tapez la commande suivante pour éditer le fichier on.php et appuyez sur Entrée :
sudo nano on.php
Insérez ces instructions dans le fichier on.php :
Comme vous pouvez le voir le fichier off.php est très proche du fichier on.php.
Mais ici, le code PHP allume la lumière :
<?php
system(“gpio mode 7 out”);
system(“gpio write 7 0”);
?>
Lorsque l’image http://www.mediaforma/images/off.jpg est cliquée, la page off.php
s’affiche :
<a href=“off.php”><img src=”http://www.mediaforma.com/images/off.jpg“></a>
Appuyez simultanément sur les touches Control et O pour sauvegarder le fichier, puis sur
Entrée pour confirmer. Enfin, appuyez simultanément sur les touches Control et X pour
quitter nano.
Il ne vous reste plus qu’à tester ces deux programmes. Ouvrez un navigateur Web
quelconque, sur votre ordinateur, votre tablette ou votre téléphone. Rendez-vous sur la
page http://weaved.com, connectez-vous en entrant vos identifiants. Les services de votre
compte s’affichent : SSH et HTTP. Cliquez sur HTTP sous Name. La page « Apache2
Debian Default Page » s’affiche. Modifiez l’URL de la page pour exécuter le programme
on.php. Pour cela, il vous suffit de taper on.php à la suite de l’URL de Weaved :
Cliquez sur le bouton vert. La lumière s’allume et la page off.php s’affiche :
Cliquez sur le bouton rouge. La lumière s’éteint et la page on.php s’affiche. Ainsi de
suite…
Si vous avez quelques connaissances en HTML, CSS, JavaScript et PHP, vous pourrez
sans difficulté améliorer les programmes on.php et off.php pour avoir un résultat qui
correspond à ce que vous voulez mettre en place.
Si nécessaire, vous pouvez vous procurer les formations vidéo Mediaforma Learning pour
améliorer vos connaissances dans ces langages :
HTML5, CSS3, JavaScript Tome 1
HTML5, CSS3, JavaScript Tome 2
HTML5, CSS3, JavaScript Tome 3
PHP5 MySQL Tome 1
PHP5 MySQL Tome 2
Pour les possesseurs d’iPhone et iPad iOS 6 ou supérieur
Si vous avez la chance de posséder un iPhone ou un iPad qui tourne sous iOS6 ou
supérieur, je vous conseille d’installer l’application gratuite Weaved qui facilitera la
connexion à votre Raspberry Pi :