Vous êtes sur la page 1sur 69

1

Table des matières


Commander sa maison à distance avec un Raspberry Pi ......................................................................... 3
Les éléments dont vous avez besoin........................................................................................................ 3
Découverte et installation du Raspberry ................................................................................................. 4
Découverte de votre Raspberry Pi 2 Modèle B .................................................................................... 4
Téléchargement de Raspbian Jessie .................................................................................................... 6
Copie de Raspbian sur la carte microSD .............................................................................................. 9
Premiers échanges avec le Raspberry via le connecteur Ethernet ........................................................ 13
Recherche de l’adresse IP du Raspberry ............................................................................................ 14
Connexion Shell au Raspberry ........................................................................................................... 16
Insertion du Raspberry dans son boîtier ................................................................................................ 30
Commander des LED.............................................................................................................................. 32
Commander des lampes ou d’autres appareils via des relais ................................................................ 38
Accéder au Raspberry via le monde extérieur ....................................................................................... 41
Le principe de Weaved ...................................................................................................................... 41
Accéder au Raspberry via une connexion SSH ....................................................................................... 41
Etape 1 - Inscription sur le site Weaved.com ..................................................................................... 41
Etape 2 – Installation de la brique Weaved SSH sur le Raspberry...................................................... 45
Mise à jour du dépôt de Jessie....................................................................................................... 45
Installation de Weaved Connect sur le Raspberry ......................................................................... 46
Installation du service SSH sur le Raspberry .................................................................................. 46
Etape 3 - Utilisation du service SSH Weaved ..................................................................................... 50
Accès au Raspberry via une page Web .................................................................................................. 54
Etape 1 - Installation du serveur Web................................................................................................ 54
Etape 2 - Installation du service HTTP Weaved .................................................................................. 58
Etape 3 - Accès au Raspberry depuis le Web ..................................................................................... 61
Commander le GPIO en PHP .......................................................................................................... 62
Amélioration des programmes allumer.php et eteindre.php ............................................................ 64
Pour les possesseurs d’iPhone et iPad iOS 6 ou supérieur................................................................. 68
Le mot de la fin ...................................................................................................................................... 68

2
Commander sa maison à distance avec un Raspberry Pi
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 :

1) Allumage et extinction de LED connectées au GPIO du Raspberry.


2) Remplacement des LED par des relais afin de commander des appareils plus puissants,
fonctionnant sous 220 Volts.
3) 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

3
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 :

4
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

La face inférieure contient un seul connecteur :

5
Connecteur Fonction
9 Connecteur microSD

Dans ce projet, vous utiliserez :

 Le port mini-USB (5) pour alimenter votre Raspberry.


 Le port HDMI (4) pour relier votre Raspberry à un écran.
 Le port Ethernet (1) pour relier le Raspberry à votre box Internet.
 Deux des quatre ports USB pour connecter un clavier et une souris au Raspberry.
 Le port micro SD pour insérer la carte sur laquelle vous aurez au préalable copié le système
Raspbian Jessie.

Téléchargement de Raspbian Jessie


Dans cette étape, vous allez télécharger un fichier ZIP qui contient la dernière version du système
d’exploitation Raspbian, dénommée Jessie. Dérivé du système GNU/Linux Debian, Raspbian a été
optimisé pour fonctionner sur un Raspberry Pi, et en particulier sur un Raspberry Pi 2 modèle B. Cela
tombe bien, puisque c’est exactement sur ce modèle que le projet est bâti.

Sur votre PC, ouvrez un navigateur Web et rendez-vous sur la page http://raspbian-
france.fr/telechargements/ :

6
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 :

7
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 :

8
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/ :

9
Cliquez sur le bouton vert Download pour télécharger le fichier Win32DiskImager-0.9.5-install.exe.

Une fois le fichier téléchargé, installez Disk Imager en mode administrateur. Pour cela, cliquez du bouton
droit sur l’icône Win32DiskImager-0.9.5-install.exe et choisissez Exécuter en tant qu’administrateur dans
le menu.

Si votre lecteur de cartes est capable de lire des cartes micro SD, insérez-y votre carte micro SD. Dans
le cas contraire, insérez la carte micro SD dans l’adaptateur SD fourni avec la carte, puis insérez
l’adaptateur SD dans le lecteur de cartes.

Cliquez sur Démarrer, tapez win32 et cliquez sur Win32DiskImager, dans la partie supérieure du menu
Démarrer. La fenêtre de Win32 Disk Imager s’affiche. Cliquez sur l’icône qui représente un dossier et
désignez le fichier Raspbian Jessie (1). Désignez la carte dans la liste déroulante (2) puis cliquez sur
Write :

10
Selon la vitesse de la carte et le type de connexion du lecteur de cartes, le temps nécessaire pour copier
l’image peut varier dans de larges proportions. A titre d’exemple, nous avons utilisé une carte Classe 10
80x de 16 Go. Insérée dans un lecteur de cartes USB2, il a fallu un peu plus de 1h30 pour copier l’image.
Insérée dans un lecteur de cartes USB3 comme celui-ci, ce temps est descendu à moins de 30 minutes.
Bien entendu, ce lecteur de carte doit être connecté sur un port USB3 de l’ordinateur pour profiter de
ce gain de temps.

Lorsque le processus d’écriture est terminé, une boîte de dialogue indique Write Successful :

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 :

11
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 :

1) Le câble Ethernet.
2) Le clavier USB.
3) La souris USB.

12
4) 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.
5) 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 :

13
 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 :

14
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 :

15
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é :

Ici, le Raspberry a pour adresse IP 192.168.0.110. Notez soigneusement cette adresse. Vous l’utiliserez
par la suite pour accéder Raspberry depuis le PC.

Connexion Shell au Raspberry


Pour vous connecter au Raspberry en SSH, vous utiliserez le programme PuTTY. Ouvrez un navigateur
Web, connectez-vous sur la page http://goo.gl/Re70FD. Cette adresse est le raccourci de l’URL
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html. J’ai pensé qu’elle serait plus
simple à saisir que l’URL non raccourcie. Que vous tapiez l’une ou l’autre, vous atterrissez sur la page de
téléchargement de PuTTY. Déplacez-vous vers le bas de la page et cliquez sur putty.exe, sous For
Windows on Intel X86 :

16
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 :

17
Une boîte de dialogue d’avertissement vous demande de confirmer que ce serveur est digne de
confiance. Cliquez sur Oui :

La fenêtre Shell s’affiche. Connectez-vous avec ces identifiants :

Login as : pi

Password : raspberry

18
Après avoir tapé le nom d’utilisateur pi, appuyez sur la touche Entrée du clavier. De même après avoir
tapé le mot de passe raspberry, appuyez sur la touche Entrée du clavier. Vous devriez obtenir quelque
chose comme ceci :

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 :

19
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 :

20
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 :

21
Cliquez sur OK et fermez la fenêtre de PuTTY.

Comme par magie, le Raspberry redémarre et quelques instants plus tard, vous vous retrouvez sur le
Bureau de Raspbian :

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é :

22
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 :

23
Cliquez sur Set locale et choisissez :

 fr (French) dans la liste Language ;


 FR (France) dans la liste Country ;
 UTF-8 dans la liste Character Set.

Validez en cliquant sur OK. Cliquez sur Set Timezone. Choisissez Europe dans la liste déroulante Area et
Paris dans la liste déroulante Location. Validez en cliquant sur OK.

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.

24
Validez en cliquant sur OK, puis fermez la boîte de dialogue Raspberry Pi Configuration en cliquant sur
OK. Une boîte de dialogue vous propose de redémarrer l’ordinateur. Cliquez sur Yes :

Comme vous pouvez le voir, l’interface de Raspbian est maintenant en français :

25
Remarque

L’interface graphique de Jessie n’est pas à 100% en français. Ceci est en particulier vrai en ce qui
concerne l’aide en ligne du système, certaines applications fournies avec Jessie et d’autres applications
que vous installerez par la suite. Mais il faut bien avouer que le changement de langue ne vous a pas
pris trop longtemps. Imaginez ce que vous auriez dû faire sous Windows ou Mac OSX !

Ne croyez pas que votre Raspberry est entièrement configuré. Si vous l’arrêtez en cliquant sur Menu,
puis sur Shutdown, en sélectionnant Shutdown dans la boîte de dialogue End session puis en cliquant
sur Valider, il ne sera pas capable de redémarrer en mode graphique sur votre écran. Pour y arriver,
vous allez devoir modifier un fichier texte nommé config.txt et situé dans le dossier /boot/.

Si vous n’avez jamais utilisé un système d’exploitation Linux comme Raspbian Jessie, vous ne voyez
certainement pas très bien à quoi correspond le dossier /boot/. Le premier « / » fait référence à la racine
de la carte micro SD. Quant à « boot/ », il s’agit du dossier boot situé à la racine de la carte micro SD.

Pour pouvoir modifier le fichier config.txt, vous allez devoir avoir les droits réservés aux administrateurs.
Ouvrez une fenêtre Invite de commandes en cliquant sur l’icône LXTerminal, à droite du bouton Menu :

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 :

26
 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 :

Décommentez les lignes suivantes :

 hdmi_force_hotplug
 hdmi_group
 hdmi_mode

Pour cela, enlevez le signe « # » qui les précède :

27
La ligne hdmi_force_hotplug=1 force l’affichage sur le port HDMI.

La ligne hdmi_group indique si le port HDMI est utilisé sur une télévision (1) ou sur un écran d’ordinateur
(2). Ici, comme le port HDMI est connecté à un écran d’ordinateur, vous devez lui affecter la valeur 2 :

hdmi_group=2

Enfin, la ligne hdmi_mode donne la résolution et la fréquence de rafraîchissement par défaut. Utilisez
la résolution et la fréquence de rafraichissement natives de votre écran. Ces informations sont fournies
avec l’écran ou peuvent être trouvées sur le Web en faisant une recherche sur le modèle exact de l’écran
et en entrant les mots clés « résolution native » et « fréquence de rafraichissement ».

Les valeurs possibles pour hdmi_mode sont résumées dans le tableau suivant :

hdmi_mode Résolution Rafraichissement Reduced Blanking


1 640x350 85 Hz
2 640x400 85 Hz
3 720x400 85 Hz
4 640x480 60 Hz
5 640x480 72 Hz
6 640x480 75 Hz
7 640x480 85 Hz
8 800x600 56 Hz
9 800x600 60 Hz
10 800x600 72 Hz
11 800x600 75 Hz
12 800x600 85 Hz

28
13 800x600 120 Hz
14 848x480 60 Hz
16 1024x768 60 Hz
17 1024x768 70 Hz
18 1024x768 75 Hz
19 1024x768 85 Hz
20 1024x768 120 Hz
21 1152x864 75 Hz
22 1280x768 X
23 1280x768 60 Hz
24 1280x768 75 Hz
25 1280x768 85 Hz
26 1280x768 120 Hz X
27 1280x800 X
28 1280x800 60 Hz
29 1280x800 75 Hz
30 1280x800 85 Hz
31 1280x800 120 Hz X
32 1280x960 60 Hz
33 1280x960 85 Hz
34 1280x960 120 Hz X
35 1280x1024 60 Hz
36 1280x1024 75 Hz
37 1280x1024 85 Hz
38 1280x1024 120 Hz X
39 1360x768 60 Hz
40 1360x768 120 Hz X
41 1400x1050 X
42 1400x1050 60 Hz
43 1400x1050 75 Hz
44 1400x1050 85 Hz
45 1400x1050 120 Hz X
46 1440x900 X
47 1440x900 60 Hz
48 1440x900 75 Hz
49 1440x900 85 Hz
50 1440x900 120 Hz X
51 1600x1200 60 Hz
52 1600x1200 65 Hz
53 1600x1200 70 Hz
54 1600x1200 75 Hz
55 1600x1200 85 Hz
56 1600x1200 120 Hz X
57 1680x1050 X
58 1680x1050 60 Hz
59 1680x1050 75 Hz
60 1680x1050 85 Hz
61 1680x1050 120 Hz X
62 1792x1344 60 Hz
63 1792x1344 75 Hz

29
64 1792x1344 120 Hz X
65 1856x1392 60 Hz
66 1856x1392 75 Hz
67 1856x1392 120 Hz X
68 1920x1200 X
69 1920x1200 60 Hz
70 1920x1200 75 Hz
71 1920x1200 85 Hz
72 1920x1200 120 Hz X
73 1920x1440 60 Hz
74 1920x1440 75 Hz
75 1920x1440 120 Hz X
76 2560x1600 X
77 2560x1600 60 Hz
78 2560x1600 75 Hz
79 2560x1600 85 Hz
80 2560x1600 120 Hz X
81 1366x768 60 Hz
82 1080p 60 Hz
83 1600x900 X
84 2048x1152 X
85 720p 60 Hz
86 1366x768 X

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 :

30
De couleurs framboise et blanc, ce boîtier est entièrement démontable et parfaitement fonctionnel.
Tous les ports sont facilement accessibles : USB, réseau, audio, HDMI, alimentation et microSD. Pour
accéder au port GPIO, il suffit d’enlever une des plaques latérales :

Vous pouvez vous le procurer en cliquant sur ce lien :

31
Commander des LED
Le Raspberry Pi 2 modèle B dispose un port d’extension de 40 broches mâles désigné sous le nom GPIO
(General Purpose Input Output, soit Entrées/sorties à usage général en français). Chacun des
connecteurs du GPIO est repéré par son numéro, compris entre 1 et 40, comme dans ce schéma :

Si vous disposez le Raspberry verticalement, connecteur GPIO à droite et connecteur Ethernet en bas
et à gauche, voici à quoi correspondent les 40 broches :

32
33
Pour avoir un aperçu de l’état des broches, 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 :

gpio readall

Voici le résultat :

Examinons les informations retournées par cette commande.

Nom Signification
BCM Ancienne numérotation des bornes
wPi Numérotation utilisée dans les commandes gpio
Name Nom des bornes
Mode En ce qui nous concerne, seuls les modes Entrée (IN) et Sortie (OUT) seront
utilisés
V 0 correspond à 0 Volt, 1 correspond à 3,3 Volts
Physical Numérotation physique des bornes

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.

34
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 :

35
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 :

36
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 :

37
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.

38
 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 :

Pour commander un relais, la carte 8 relais a besoin des connexions suivantes :

 GND : 0 Volt relié à la borne physique 9 du Raspberry


 VCC : 5 Volts relié à la borne physique 2 du Raspberry
 IN1 à IN8 selon le relais utilisé : une des bornes GPIO du Raspberry. Ici, la borne physique 7.

39
Chaque relais dispose de trois contacts en sortie. Nous utilisons deux d’entre eux pour ouvrir ou fermer
un circuit 220 Volts relié à une prise femelle. Le relais peut supporter jusqu’à 10 Ampères en 220 Volts.
Vous pourrez donc commander des appareils ayant une puissance maximale de 2200 Watts sur la prise
femelle.

Une fois le câblage réalisé, 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. Le relais se colle et la lampe de bureau s’allume. Pour
connaître l’état des bornes du GPIO, tapez cette commande et appuyez sur Entrée :

gpio readall

Voici le résultat :

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.

40
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 :

1) Vous créez un compte gratuit sur le site weaved.com.


2) Vous installez un service Weaved (Web, SSH ou VNC par exemple) sur votre Raspberry.
3) 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 :

41
Une nouvelle page s’affiche. Renseignez les informations demandées et cliquez sur VERIFY EMAIL :

42
Consultez votre messagerie. Vous devriez avoir reçu un email de donotreply@weaved.com dans lequel
un code de validation vous est fourni :

Retournez à votre navigateur Web. Entrez le code de vérification reçu par mail. Choisissez un mot de
passe et confirmez-le en cliquant sur SIGN UP.

43
Quelques instants plus tard, vous recevrez un message qui vous souhaite la bienvenue chez
Weaved.com :

44
Ç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

Mise à jour du dépôt de Jessie


Avant toute chose, vous allez mettre à jour le dépôt de Jessie. Cette phrase vous laisse peut-être
perplexe. Si vous vous demandez ce qu’est un dépôt, sachez qu’il s’agit d’un fichier assimilable à une
liste à deux entrées. Cette liste met en relation des logiciels et les adresses où télécharger les paquets
correspondants. Mais qu’est-ce qu’un paquet ? Eh bien, les paquets, aussi appelés paquetages ou
packages en anglais ne sont rien d’autre que des fichiers compressés qui contiennent les instructions et

45
tous les fichiers nécessaires à l’installation d’un logiciel. Dans Jessie, et plus généralement dans toutes
les distributions Linux, l’installation et la désinstallation de logiciels se fait en ligne de commande, en
invoquant le gestionnaire de paquets apt-get. Ce programme recherche l’adresse du ou des paquets
correspondants au logiciel à installer dans le dépôt de Jessie, rapatrie les fichiers correspondants, les
dézipe et installe les fichiers nécessaires.

Pour utiliser le gestionnaire de paquets, vous devez avoir les droits de l’administrateur. Cela se fait avec
la commande sudo. Par exemple, pour installer le logiciel hypothétique xyz, il suffit de taper la
commande suivante :

sudo apt-get xyz

Mais revenons à nos moutons. Dans un premier temps, vous allez mettre à jour le dépôt de Jessie.

Cliquez sur LXTerminal, à droite du bouton Menu. Une fenêtre LXTerminal s’ouvre. Tapez la commande
suivante pour mettre à jour la liste des packages et de leurs dépendances afin d’accéder aux dernières
versions en date des logiciels avec la commande apt-get :

sudo apt-get update

Installation de Weaved Connect sur le Raspberry


Tapez la commande suivante pour télécharger et installer Weaved Connect depuis le dépôt officiel :

sudo apt-get install weavedconnectd

Lorsque cette commande est exécutée, le message suivant s’affiche dans la fenêtre LXTerminal :

Run sudo weavedinstaller to add or remove Weaved remote connection services.

Installation du service SSH sur le Raspberry


Tapez la commande suivante et appuyez sur la touche Entrée du clavier :

46
sudo weavedinstaller

Quelques instants plus tard, la fenêtre de LXTerminal ressemble à ceci :

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 :

47
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 :

48
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éé :

49
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 :

50
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 :

51
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.

52
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 :

53
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

54
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 :

55
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

56
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 :

57
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

58
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 :

59
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 :

Vous disposez maintenant de deux accès Weaved au Raspberry : SSH et HTTP :

60
Tapez 3 et appuyez sur Entrée pour quitter le programme weavedinstaller.

Vérifiez votre boîte email. Vous y trouverez un message envoyé par le robot donotreply@weaved.com
qui vous informe qu’un nouveau service a été ajouté à votre compte Weaved.

Etape 3 - Accès au Raspberry depuis le Web


Vérifions que le serveur est bien accessible sur le Web.

Allez sur la page http://www.weaved.com, et connectez-vous. Désormais, deux services sont


accessibles : SSH et HTTP :

61
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.

Commander le GPIO en PHP


Pour commander le GPIO en PHP, vous utiliserez la fonction system() en lui transmettant la commande
gpio à exécuter. Par exemple, pour configurer la borne GPIO 7 en sortie, vous utiliserez cette instruction :

system("gpio mode 7 out");

Ou encore, pour affecter la valeur 0 à la borne GPIO 7, vous utiliserez cette instruction :

system("gpio write 7 1");

Supposons qu’une lampe soit branchée sur la prise femelle connectée au relais. Vous allez créer deux
petits programmes PHP pour allumer et pour éteindre cette lampe.

62
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 allumer.php et appuyez sur Entrée :

sudo nano allumer.php

Insérez ces instructions dans le fichier allumer.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.

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

63
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 :

64
Il n’y a rien de bien compliqué dans ce document HTML5.

L’en-tête définir le jeu de caractères utilisé du document. Le jeu de caractères UTF-8 est le plus
universellement utilisé sur le Web, car il permet d’afficher les caractères propres à quasiment toutes les
langues :

<head>

<meta charset="utf-8">

La ligne suivante définit le titre de la page :

<title>Commande à distance via le Raspberry Pi</title>

La partie comprise entre <body> et </body> définit ce qui est affiché sur l’écran. Les instructions PHP
indiquent que la borne GPIO 7 est en sortie et mettent cette borne à 1, ce qui provoque l’extinction de
la lampe, si elle était allumée :

<?php

system("gpio mode 7 out");

system("gpio write 7 1");

?>

La ligne suivante affiche une image issue du site http://www.mediaforma. Lorsque cette image est
cliquée, la page off.php s’affiche :

<a href="off.php"><img src="http://www.mediaforma.com/images/on.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.

Vous allez maintenant saisir le code du fichier off.php. Tapez la commande suivante et appuyez sur
Entrée :

65
sudo nano off.php

Insérez ces instructions dans le fichier off.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 :

66
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

67
 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 :

Vous pouvez également consulter la vidéo https://www.youtube.com/watch?v=Uhm9d_hrsxg pour


avoir un aperçu de cette application.

Le mot de la fin
Vous en savez maintenant bien assez pour commander n’importe quel appareil électrique connecté
sur une prise 220V commandée via des relais et les bornes GPIO du Raspberry.

Pour avoir des articles complémentaires concernant ce montage, une seule adresse :

68
http://www.mediaforma.com/raspberrypi/

Je vous rappelle que toutes les pièces permettant de construire ce projet ont été regroupées sur une
page Web unique :

http://www.mediaforma.com/commandez-tout-a-distance-avec-votre-raspberry-pi-equipement/

D’autres projets à base de Raspberry Pi sont proposés sur le site Mediaforma Learning :

 Création d’un ordinateur tout-en-un pour moins de 100 euros :


http://www.mediaforma.com/mon-ordinateur-pour-moins-de-100-euros/
 Une console de retrogaming à connecter au téléviseur du salon :
http://www.mediaforma.com/une-console-de-retrogaming-avec-un-raspberry-pi/
 Un Media Center dans mon salon :
http://www.mediaforma.com/un-media-center-dans-mon-salon/

Si vous voulez me contacter, une seule adresse : http://www.mediaforma.com/contact/

Vous pouvez également vous inscrire dans la zone membre de Mediaforma Learning. Vous pourrez ainsi
télécharger des produits gratuitement, vous serez informé de promotions régulières et vous recevrez la
newsletter hebdomadaire pour avoir des nouvelles fraiches des domaines qui vous intéressent.

Je vous souhaite de longues heures de détente avec votre Raspberry Pi !

69

Vous aimerez peut-être aussi