SlideShare a Scribd company logo
1 of 146
Download to read offline
Mohamed Bouhamed To be human you must to be Geek 
Raspberry PI & Arduino, domotique, 
robotique, et pleins de trucs en 
“ique” 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Sommaire : 
• Raspberry PI ~ 01 : Présentation 
• Raspberry PI ~ 02 : Exploration technique 
• Raspberry PI ~ 03 : Brancher et installer le Raspberry PI 
• Raspberry PI ~ 04 : Configurer en serveur 
• Raspberry PI ~ 05 : Protéger notre précieux 
• Raspberry PI ~ 06 : Utiliser le GPIO et Interagir avec le monde réel 
• Raspberry PI ~ 07 : Allumer/éteindre une vraie lampe OU comment faire de la 
domotique low cost. 
• Raspberry PI ~ 08 : Jouer avec les ondes radio 
• Raspberry PI ~ 09 : Créer une interface vocale 
• Raspberry PI ~ 10 : Commander le raspberry Pi par radio 
• Raspberry PI ~ 11 : Relier à un écran et afficher du texte 
• Raspberry PI ~ 12 : Allumer des prises à distance 
• Raspberry PI ~ 13 : Détecter l’ouverture des portes et fenêtres 
• Raspberry PI ~ 14 : Surveiller les performances du rpi depuis le web 
• Raspberry PI ~ 15 : Créer sa propre prise radio (et autres périphériques) pour 6€ 
• Raspberry PI ~ 16 : Mieux comprendre les pins avec Raspin’s 
• Raspberry PI ~ 17 : Un mini écran pour 2 2€ 
• Raspberry PI ~ 18 : Construire une sonde de température radio pour 7 € 
• Raspberry PI ~ 19 : Optimisation, trucs & Astuces 
• Raspberry PI ~ 20 : Créer un tableau de bord connecté au net (ou comment 
augmenter le nombre de GPIO) 
• Raspberry PI ~ 21 : Yana, un nouveau coeur domotique 
• Raspberry PI ~ 22 : Créer une porte domotique (Partie 1) 
• Raspberry PI ~ 23 : Créer une porte domotique (Partie 2) 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Raspberry PI ~ 01 : Présentation: 
Vous est il déjà arrivé de désirer ardemment quelque chose sans réellement savoir 
quelle utilisation vous en feriez ? C’est mon gros problème avec le raspberry pi… 
Le raspberry pi c’est quoi? 
Le raspberry Pi c’est, pour faire court, un pc de la taille d’une carte de crédit, pouvant supporter une 
distribution linux, pour le prix de …30 euros (+-10€). 
Le pi dispose de nombreux port/prises/capteurs , usb, ethernet, bluetooth … 
Vous l’aurez compris, les applications de ce genre de matos sont nombreuses (et peu coûteuses) 
d’ou l’objet de ma convoitise, et celle de quelques centaine de milliers de geeks. 
Imaginez les applications que vous pourriez faire d’un mini serveur dédié portable à 30€ !! 
Domotique : installer des serveur raspberry sur chaque machine Electroménager et contrôler 
chaque serveur depuis sont réseaux. 
Itinérance : Avoir dans son porte monnaie à chaque instant un serveur de fichiers accessible par 
wifi, et pourquoi pas via une solution logicielle échanger ces fichiers automatiquement avec tous les 
raspberry environnants. 
Piratage : The pirate bay pense même à fixer ce genre de matos sur des ballons stratosphériques 
pour mettre à l’abri ses torrents de la juridiction (évidemment c’est une joke de l’admin, mais je 
trouve le concept presque viable si on ne tient pas compte de l’autonomie, des variations 
climatiques, des volatiles, de la couverture réseau…) 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Evidemment, “recette victime de sont succès” comme dirais McDonald, l’achat est indisponible 
depuis février et ça me rend ma-la-de !! 
Mais il y a pire… toute une communauté s’est déjà fondée sur le pi, des tas de programmes, 
plugins, trip and tricks existent déjà… certains ont même inventé un magnifique boîtier : 
J’en veux j’en veux j’en veux !!!! 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Raspberry PI ~ 02 : Exploration technique 
commander cette merveille à l’adresse suivante : 
http://downloads.element14.com/raspberryPi1.html?isRedirect=true 
Voyons un peu ce que contient la ptite boite, après moultes déballages : 
Oaaaaw une carte électronique avec plein de bitoniaux, des prises partout et … 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
pas de câble associé arrrgghh… bon, je m’y attendais, les câbles (et la mémoire) sont à acheter à 
part, donc je fais un petit tour sur amazone et j’achète les éléments suivants : 
Je m’en tire pour 52 € afin d’acheter un câble Ethernet pour relier l’engin au net, une carte SD qui 
fera office de mémoire morte sur la machine, un câble hdmi/VGA(DVI, c’est plus sûr) permettant 
de connecter mes écrans au raspberry et un switch USB histoire de pouvoir brancher simultanément 
souris, clavier etc… (bien que le raspberry semble disposer de deux ports par défaut au lieu de 
l’unique port USB que j’attendais). 
Je devrais également acheter un câble micro USB (à 3€) pour me servir d’alim (attention, le câble 
devrat être alimenté en 5V pour fonctionner avec le raspberry), mais il me semble que j’en ai déjà 
un qui traîne (c’est sensiblement les même que pour nos smartphones). 
Bon, 30€ de raspberry + 52€ de fourniture = 82€ dans la vue, ça fait un peu cher mais je me dis que 
les fournitures peuvent être utilisé pour autre chose dans tous les cas (jme rassure ^^) et que je ne 
devrait rien acheter de plus (a part peut être boîtier stylé à 8€ si je craque). 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
En attendant mes fournitures, faisons un peu le tour de l’engin en lui même : 
Une face comportant un simple port HDMI, c’est donc pour la vidéo, et c’est donc la que je 
brancherais mon câble HDMI/VGA fraichement commandé et je relierais l’autre bout à mon écran 
(jusqu’ici, ça m’a l’air simple), rien d’autre à signaler de ce côté, tournons un peu la carte… 
Sur cette autre face, nous avons de gauche a droite : une sortie audio stéréo Jack 3,5 mm pour 
l’audio (personnellement je ne compte pas utiliser le raspberry comme centre multimédia donc je 
m’en tape), un port jaunâtre que je ne connais pas mais qui est visiblement un port vidéo 
analogique, donc utile uniquement si vous souhaitez relier le raspberry à votre vielle TV cathodique 
(useless) et une série de broches GPIO… 
Gnié? Gépéyo quoi? 
Les broches GPIO sont des ports d’entrée/sortie très utilisés dans le monde des microcontrôleurs, ils 
vous serviront ici uniquement si vous êtes un peu calé en électronique et que vous souhaitez 
raccorder le raspberry pi par exemple a une lumière ou a un interrupteur (peut être très intéressant si 
vous voulez faire de la domotique à pas cher dans votre maison). 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Voir une petite vidéo ici : http://www.raspberrypi.org/archives/1417 
Si vous n’avez rien compris à cette histoire de broches, ce n’est pas bien grave vous pourrez quand 
même profiter de votre raspberry en toute impunité, passons donc à la suite. 
De gauche à droite : un port Ethernet, c’est donc la que je brancherais le câble Ethernet que j’ai 
commandé afin de procurer le net au raspberry PI, l’autre bout du câble sera bien entendu branché à 
ma Freebox. Et enfin… deux magnifique port USB, ou je vais m’empresser de brancher mon switch 
USB histoire d’avoir 4 ports espacés au lieu de 2 (ben oui clavier+souris+clé wifi+ disque USB 
éventuel =4 ). 
La face restante comporte un port micro Usb qui servira à alimenter le raspberry (via le câble micro 
USB que je n’ai d’ailleurs pas acheté parce que je dois en avoir une vingtaine). 
Enfin dernière petite chose : Sous la carte se trouve un petit compartiment pour placer la fameuse 
carte SD que nous avons commandé (8 Go minimum recommandés). 
Je pense n’avoir rien oublié à part peux être le connecteur CSI (qui semble être utilisé dans le 
milieu de la vidéo) et le connecteur DSI (qui visiblement permet de brancher un touch screen si 
besoin est). 
Dans un prochain post et d’ici à ce que je reçoive mes fournitures amazones, nous verront comment 
brancher et installer la distribution linux adéquate (Raspbian “wheezy” , conçue spécifiquement 
pour raspberry ou la distribution Arch Linux ARM qui fonctionne aussi) sur la carte SD. 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Raspberry PI ~ 03 : Brancher et installer le Raspberry 
PI 
3 Os possibles à installer 
Nous allons commencer par installer sur la carte SD (16 go pour moi, 8 go minimum conseillés) le 
système d’exploitation qui n’est autre qu’une distribution linux. 
En gros trois distributions possibles : Debian squeeze, ARM Arch linux ou Raspian 
Visiblement Debian squeeze est le plus simple a prendre en main, malheureusement c’est également 
le moins optimisé pour le raspberry, donc beaucoup de pertes de perfs, on peux rayer celui la . 
Ca nous laisse deux Os auxquels je ne connais rien, donc a choisir, autant prendre celui qui a été 
“spécialement” conçu pour le raspberry j’ai nommé raspian. 
Je télécharge donc raspian “wheezy” ici : http://www.raspberrypi.org/downloads 
Pour l’installer sur la carte SD, j’utilise le programme utilitaire Win32DiskImager disponible ici : 
http://www.softpedia.com/get/CD-DVD-Tools/Data-CD-DVD-Burning/Win32-Disk-Imager.shtml 
J’exécute Win32DiskImager qui me demande le chemin vers l’image de raspian (.img) ainsi que le 
lecteur sur lequel je veut l’installer (donc ma carte sd précédemment entrée dans le port SD de mon 
portable) 
Un clic sur “write” puis sur “yes” (car un message bien flippant me disant que je pourrais perdre ou 
corrompre mes données de carte SD est apparus (je m’inquiète pas trop parce que quand même, il 
faut bien avouer que ladite carte est vierge)). 
Au bout de quelques secondes (qui vont vous sembler une éternité si vous êtes aussi fébriles que 
moi) l’os est déployé sur la carte. 
1 carte SSD à plugger 
J’enlève donc la carte SD de mon pc pour la brancher directement sur la prise prévue a cet effet 
située sous le raspberry. 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Je peux maintenant passer au branchement de mes câbles pour alimenter la bête :p !! 
5 câbles à brancher 
Dans le sens des aiguilles d’une montre (et en partant du câble le plus haut) nous devons brancher : 
• Le câbles HDMI (dont l’autre bout sera relié a votre écran par du DVI ou de l’HDMI en 
fonction du câble et de l’écran que vous avez sous la main) 
• Le câble micro USB, qui vous servira a alimenter votre raspberry PI (l’autre bout sera donc 
relié a un port usb de pc ou encore a une prise USB comme celle dont vous disposez pour 
vos smartphones) 
• Le câble USB simple, qui sera relié a votre switch USB (vous permettant de multiplier vos 
ports USB, avec mon switch, je passe de deux a 7 ports, ça fait plaisir :p) 
• Le câble Ethernet, qui sera relié a votre box ADSL et vous permettra par conséquent d’avoir 
le net. 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Une fois le bousin branché et alimenté, une inquiétante lumière rouge s’allume sur le raspberry puis 
une jaune, puis deux vertes, et la magie opère… 
…ou pas :p !! 
En effet chez moi aucun signal vidéo n’est émis. 
Après quelques recherches, cela viendrait de l’os qui se serait mal installé sur la carte, j’ai donc 
réinstallé raspian et ça fonctionne. 
…Et j’ai eu la chance d’obtenir une console de ce type sur mon écran : 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
1 identifiant en qwerty à taper 
Login : pi 
Mot de passe : rqspberry (car votre clavier est en anglais a ce moment précis) 
ça y est, vous êtes logué sur votre magnifique serveur et pouvez m’envoyer quelques petites 
commentaires narquois pour me rendre jaloux ^^ 
Nb: Sur les dernières versions, raspian nous mâche le travail en nous auto-loggant et en nous 
proposant plein de petites options avec un joli écran de configuration bleu de la mort. 
Je vous conseille d’aller directement mettre le clavier en azerty (clavier francais) via l’option du 
tableau configure_keyboard Set keyboard layout. 
Sélectionnez alors Generic 105-key (intl) PC puis Other puis French puis French puis The 
default for the keyboard layout puis No compose key puis No 
(oui je sais c’est vachement long pour un si ptit truc). Votre clavier est donc maintenant 
normalement en français, n’hésitez pas a rebooter si la modif n’a pas été prise en compte tout de 
suite. 
Notez que sur ce panneau bleu de configuration (accessible a tous moment depuis la ligne de 
commande “sudo raspi­config”) 
vous avez de nombreuses configurations importantes à faire 
comme le réglage de la langue du systeme (option change_locale Set locale) le fuseau horaire 
(option change_timezone Set timezone) etc… 
Une config qui est importante également c’est le redimensionnement de la partition système, en 
effet le système prend par défaut la quasi totalité de votre carte SD (ne me demandez pas pourquoi) 
qu’il n’utilise pas, en redimensionnant cette partition vous regagnez la place injustement pillée par 
le système. 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Le panneau de config à aussi pensé à ça et vous propose une option expand_rootfs Expand root 
partition to fill SD card, (mettez finish ok etc… ) votre système vas alors redémarrer avec bien plus 
de place à votre disposition. 
Pas très à l’aise avec la ligne de commande? Quittez l’ecran de config pour arriver sur la console, et 
tapez startx (ou stqrtx si vous n’avez pas encore changé la config clavier) pour lancer l’interface 
graphique. 
C’est quand même vachement plus sympa non ? Dans le prochain tuto, nous verrons comment 
installer les packages nécessaires pour transformer le raspberry en serveur web. 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Raspberry PI ~ 04 : Configurer en serveur 
Maintenant que nous avons installé le système d’exploitation Raspian sur notre Raspberry PI 
(Raspian n’étant autre qu’une distribution linux spécialement conçue pour le Raspberry PI) et que 
nous nous sommes logué (sisi, rappelez vous des identifiants par défauts –> login : pi , mot de passe 
rqspberry) nous allons pouvoir commencer les choses sérieuses !! 
En premier pensez à changer votre mot de passe administrateur : 
sudo passwd su 
1 sudo passwd su 
Puis faire un ptit update de vos paquets : 
sudo apt-get update 
12 
sudo apt-get update 
sudo apt-get 
upgrade 
Une fois ceci terminé, nous allons installer d’une traite apache (un serveur HTTP permettant de 
publier du contenu Html sur le web), PHP (langage serveur permettant le traitement dynamique 
d’informations) et MySQL (une base de donnée). 
Certains seraient tenté d’installer directement le paquet lamp-server qui englobe tous ces paquets, 
grossière erreur, le Raspberry ne l’entendrait pas de cette oreille, il vous faut donc installer les 
paquets séparément (mais en une seule ligne) 
sudo apt-get install apache2 php5 mysql-server libapache2-mod-php5 php5-mysql 
1 sudo apt-get install apache2 php5 mysql-server libapache2-mod-php5 php5-mysql 
Après quelques petites questions d’usage, votre serveur web est en place, pour le tester rien de plus 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
simple, tapez la commande : 
ifconfig 
1 ifconfig 
et repérez l’adresse IP réseau de votre Raspberry pi (très certainement une adresse commençant par 
192.168.*.*) 
Tapez cette adresse depuis un autre ordinateur banché sur le même réseaux local et TADDAA!! It 
works ! 
nb : si vous n’avez pas d’autres pc sur le réseau, passez en mode graphique sur votre Raspberry PI. 
startx 
1 startx 
Puis ouvrez le navigateur installé par défaut et tapez l’adresse suivante : 
http://127.0.0.1 
1 http://127.0.0.1 
Notez qu’a partir de maintenant, toutes les pages situées dans le dossier /var/www de votre 
Raspberry PI seront accessibles via l’adresse réseau tapée (uniquement depuis votre réseau) ou via 
l’adresse WAN (votre adresse extérieure) une fois que vous aurez débloqué le port 80 sur votre 
box/routeur pour l’adresse réseau du Raspberry. 
Pour plus d’information sur apache, MySQL et PHP je vous invite a lire la doc d’ubuntu : 
http://doc.ubuntu-fr.org/lamp nous ne traiterons pas plus en détail de cette partie étant donné qu’il 
ne s’agit pas de quelque chose de spécifique au Raspberry PI (libre a vous de m’envoyer vos 
questions par mail ou par commentaires pour ceux qui ne connaissent pas). 
Je vous conseille également l’installation du célèbre paquet phpMyAdmin, script php permettant de 
gérer facilement votre base de données MySQL depuis l’adresse http://votre.ip/phpmyadmin : 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
sudo apt-get install phpmyadmin 
1 sudo apt-get install phpmyadmin 
(Le login par défaut est root et le mot de passe est celui que vous avec renseigné lorsque vous avez 
installé MySQL) 
Note: L’installation de phpmyadmin ne crée pas le lien symbolique permettant d’accéder à phpmyadmin, 
il faut alors le créer manuellement : 
sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin 
Dans le prochain mini tuto sur le Raspberry PI, nous parlerons boitier pour les riches, et boitiers 
pour les pauvres (amen) puis dans le suivant nous explorerons (si dieu le veux) la dimension 
domotique de cet engin a travers la découverte des ports GPIO (enfin si d’ici la je gère un peu plus 
en électronique, n’oubliez pas que je découvre avec vous ) 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Raspberry PI ~ 05 : Protéger notre 
précieux 
Maintenant que nous disposons d’un raspberry PI en mode serveur fonctionnel, il serait d bon gout 
de penser à sa pérennité sur le long terme ! 
En effet un vilain coup de pied, un chat incontinent ou une chérie un peu gaffeuse (spéciale 
dédicace) est si vite arrivé et notre nouveau gadget (notre précieux) est encore fragile dans son état 
actuel. 
C’est pourquoi je dédie cette petite étape de tuto à la présentation des boitiers que vous pouvez 
acheter ou fabriquer pour l’engin. 
La communauté raspberry PI étant ce qu’elle est, des boitier spécialement conçu pour le rasp ont 
vus le jour, et je dois reconnaitre qu’ils font propre : 
Le plus coloré : Pibow 
Pibow est un ensemble de couches colorées a assembler sois même, vendu entre 15£ et 20£ selon 
l’endroit ou vous habitez (frais de ports variables), pour les ptit frenchies, ce sera 17.95£ 
Le gros avantage selon moi, c’est le couvercle transparent qui laisse une bonne visibilité sur le 
circuit imprimé à tout moment, le jeux de couleurs peut être disgracieux ou carrément avantageux 
selon vos penchants sexuels (blague, pas taper !! ). 
nb : Le boitier prévoit également des extensions pour les modules de caméra etc… et semble 
vouloir s’adapter aux futures évolution du rasp, bon point ! 
Le site de commande : http://www.pibow.com/ 
Le plus “pro” : Standard case for raspberry PI 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Ce boitier vous offrira pour la modique somme de 25.51€ quelque chose de tout à fait propre et 
légèrement plus sobre que le précédent . 
Il est également disponible en semi opaque mais pas de quoi casser trois pattes à un canard. 
L’avantage de ce boitier étant qu’il est assez simple a monter (deux parties a emboiter l’une dans 
l’autres) les manches du bricolages s’orienterons donc plus sur cette solution. 
Le site de commande :http://www.shapeways.com/model/565087/raspberry-pi-standard-case.html 
Le plus “design” : Raspberry design case 
Ce boitier semble être du même constructeur et offre un côté un peu plus “design” et réfléchis que 
son prédécesseur pour 32.75€. 
Les avantages que j’y vois au premier coup d’oeil, c’est qu’ils ont prévus pas mal d’aérations ainsi 
qu’un relais optique pour chacune des LED du raspberry PI. 
La version existe aussi en noir et en semi opaque. 
Je pense qu’il s’agit du boitier le plus adapté au raspberry, c’est en conséquence le plus cher. 
Le plus ”populaire” : ModMyPI 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
ModMyPI est une entrée de gamme qui a pour avantage de vous fournir un boitier “solide” (vous 
comprendrez avec le prochain boitier) pour une somme relativement réduite de 7.99£ 
A noter que si il est un peu moins design que les autres, il existe également en blanc, rouge, vert, 
bleu, gris, bicolor etc etc… 
Toutes les déclinaisons ici : https://www.modmypi.com/shop/raspberry-pi-cases 
Le plus ‘”low cost” : Punnet 
Punnet à ceci d’avantageux qu’il s’agit en fait d’un origami a plier sois même selon le patron 
suivant : http://squareitround.co.uk/Resources/Punnet_net_Mk1.pdf . 
Il ne vous coutera rien a l’exception d’une feuille cartonnée (perso je vais tenter de prendre un truc 
plastifié également). 
L’avantage est tout trouvé, c’est du gratuit et pour un prototype de test de rasp, ça me conviendras 
très bien , d’autant que nous aurons peut être a investir encore 30 € dans une carte d’extensions pour 
ceux qui me suivront dans la partie domotique donc autant faire des économies de bout de ficelles. 
C’est tout pour aujourd’hui, évidemment nous n’avons fait qu’un tour d’horizon, il existe 
évidemment d’autres boîtiers, mais je vous laisse un peu chercher histoire de vous faire vos propres 
avis sur la question (et puis j’ai la flemme de tous les répertorier ici). 
Nb : Avec le raspberry PI, tout est permis, faites fonctionner votre imagination, certains n’ont pas 
attendus pour construire leurs propre boitiers de Rasp et je dois reconnaitre que ça dégomme tout ! 
Dans le prochain tuto, nous nous initierons à la maitrise des PIN GPIO (les petites broches sur un 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
coin de la cartes) afin d’aborder la partie domotique, il faudra être indulgent, je découvre en même 
temps que vous, et l’électronique n’est pas du tout mon fort (d’ailleurs si certains de vous s’y 
connaissent un peu, qu’ils n’hésitent pas à me contacter). 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Raspberry PI ~ 06 : Utiliser le GPIO et 
Interagir avec le monde réel 
Chez lecteurs (lectrices) nous arrivons à la partie la plus intéressante, selon moi, de l’utilisation du 
raspberry PI. 
Il s’agit de l’utilisation des ports GPIO (les 26 broches situées en haut a droite de votre raspberry). 
Cela ne vous évoque rien ? Et bien dites vous qu’il s’agit simplement d’une porte permettant a vos 
programme d’interagir avec le monde réel… 
Je ne l’ai jamais caché, mon objectif concernant le raspberry est de pouvoir l’utiliser comme un 
outil de domotique à bas prix. 
Je souhaite donc utiliser ce dernier pour gérer dans un premier temps, mon système d’éclairage, et 
dans un second temps, d’autres appareils et systèmes électriques de mon appart. 
Comme je suis une pipe en électronique, j’ai commencé petit en construisant une “maquette” (le 
terme est pompeux vu la gueule de la maquette) de mon appart (aucune ressemblance avec le réel 
d’ailleurs) en me fixant pour défis de le piloter depuis une interface web. 
J’ai réussi, et pour vous filer l’eau a la bouche (ou vous faire carrément bailler selon vos intérêts) 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Pour ceux qui ne veulent pas de la vidéo, petit récap en images : 
J’ai développé une interface web PHP appelée depuis mon raspberry PI qui a cette tronche : 
Et une “maquette” papier de mon appart avec trois diodes électroluminescentes (LED) : 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Je peux activer/désactiver une LED de la maquette en appuyant sur la zone d’état de chaque lignes : 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Je peux également appuyer sur le bouton “Joyeux noël” qui m’allumera chaque diodes pendant une 
seconde à tour de rôle. 
Notez bien que pour suivre ce tutoriel, vous devez auparavant avoir fait le tutoriel : Raspberry PI ~ 
04 : Configurer en serveur ou avoir installé le serveur web apache par vos propres moyens sur le 
rapsberry pi 
Comment j’ai fait : 1. Partie électronique… 
Je me suis intéressé aux ports GPIO du raspberry PI, ce sont de petites broches (au nombre de 26) 
qui peuvent se comporter en entrée comme en sortie (recevoir une information ou en envoyer une) 
ces broches que nous appellerons PIN, ont deux états possibles : 0 (off) ou 1 (on). 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Dans la suite de ce tutoriel, nous nommerons chaque PIN par leur numéro d’ordre de haut en bas et 
de gauche à droite (en prenant pour repère que la carte SD représente le haut du raspberry PI) 
Ce serait une erreur de penser que chaque port GPIO est utilisable, car nombre d’entre eux sont 
réservés à d’autres tâches que de servir d’entrée sorties pour nous pauvres mortels. 
EN réalité, seuls 8 ports sur les 26 sont vraiment disponibles, ce qui nous laisse la possibilité de 
contrôler 8 matériels de notre appart diffèrent maximums, a moins d’acheter une carte d’extension 
des ports. 
Voila le schéma explicatif de chacun des PIN (source, le wiki de raspberry): 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Ça parait peut être compliqué comme ça pour les néophytes de l’électronique comme moi, mais ça 
ne l’est pas, voila les choses essentielles a retenir : 
• Les numéros sur le schéma ne correspondent pas du tout aux positions “physiques” des pins 
(c’est vrai, pourquoi se simplifier la vie après tout?) donc considérez que je vous donnerais 
toujours les numéro physique et ne tenez pas compte des numéro inscrit sur le schéma 
• Les pin 1 (en jaune) et 2 (en rouge) sont réservés a fournir du courant, le pin 1 fournis du 3,3 
volts, le pin 2 du 5 volts 
• Le pin 6 (en noir) est la masse (donc 0 volts), on s’en servira pour fermer notre circuit 
• Les pins 7,11,12,13,15,16,18 et 22 (en vert) sont les ports que nous pouvons utiliser pour nos 
magouilles 
• Les autres pins sont réservés pour des trucs qui nous dépassent, si il y a un électronicien 
dans la salle, je l’invite a nous fournir une petite explication 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Donc globalement pour allumer une diode nous utiliseront ? … 
Le pin de masse (pin 6 en noir) et un des pin entrée sorties (au choix 7,11,12,13,15,16,18,22 en 
verts). 
Nous allons monter notre circuit électronique de manière simplissime comme ça : 
On vas utiliser la broche 11 (position physique) et la mettre a 0 ou 1 (via notre programme php), 
lorsqu’elle sera sur 1, le courant passera dans une petite résistance de 270 Ohms (pour protéger la 
Led et éviter qu’elle claque) puis directement dans notre led qui s’éclairera. 
Enfin le circuit sera fermé a l’aide de la broche 6 qui sert de masse. 
ça c’est l’idéal, 2 différences sur mon circuit réel: 
1. Je n’ai pas de résistance, j’ai donc fait sans, ce qui rend la LED vulnérable si elle est allumée 
trop longtemps (j’entends déjà les électroniciens de l’assistance grogner au fond de la salle 
XD) 
2. Je n’ai pas branché une, mais 3 led (pour rendre ma maquette un peu plus vivante), pour se 
faire, rien de plus simple, j’utilise deux ports de plus et je relie tout a la masse : 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Pour monter votre circuit, de simples fils suffisent, cependant je vous conseille très vivement 
d’acheter ou de dégoter quelque part des connecteurs adaptés aux broches afin d’éviter les faux 
contacts avec le pin, un câble d’imprimante démonté comme le mien ferait l’affaire aussi : 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
pour relier l’autre bout de mes fils aux diodes, j’ai utilisé une table de connexion que j’avais acheté 
pour faire un peut d’électronique amateur, évidemment vous n’avez pas a investir vous aussi la 
dedans, c’est juste plus pratique que d’entortiller voir souder les fils autour des pattes de chaque led. 
Comment j’ai fait : 2. Partie programmation 
Une fois le montage électronique effectué, vous allez devoir signaler au raspberry PI d’ouvrir ou 
fermer les PIN (7 11 et 12 dans mon exemple) pour allumer/éteindre les LED que vous souhaitez. 
Pour nous faciliter la vie, nous allons installer une petite librairie toute bête qui nous permettra de 
faire ce genre de commandes dans la console du raspberry PI : 
gpio write 11 1 
1 gpio write 11 1 
qui signifiera : met l’état de la pin 11 à 1 
Une fois cette librairie installée, nous utiliserons mon petit script gratuitement mis a votre 
disposition afin de donner une interface web plus conviviale a ces lignes de commandes. 
La librairie se nomme wiring PI, pour l’installer depuis la ligne de commande de votre raspberry, 
suivez les instructions du lien. 
Si tout se passe bien et que votre circuit électronique est correctement monté, lorsque vous taperez : 
gpio mode 0 out 
1 gpio mode 0 out 
Cette ligne définira le PIN 11 comme une sortie 
gpio write 0 1 
1 gpio write 0 1 
La diode connectée a la PIN 11 devrait s’allumer, tapez alors 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
gpio write 0 0 
1 gpio write 0 0 
Pour l’éteindre 
Et la si vous suivez vous êtes en train de vous dire : “Attends un peu, il a mis “0” et pas “11” 
comme numéro de pin ?!!” 
C’est juste, seulement rappelez vous que les électroniciens “adorent” les numéro de PIN “logiques” 
qui ne correspondent pas aux numéro “physiques”, notre pin qui se situe physiquement a la 11 eme 
position est représenté dans l’ordinateur comme le numéro 0 
“Han mais comment savoir qui correspond à quoi maintenant?” 
A l’aide d’une super table de correspondance fournie par notre amis créateur de wiringPi : 
Les numéros centraux sont les positions physiques des PIN, les numéro de la colonne “wiringPI 
Pin” sont les correspondances que vous devrez appeler dans vos lignes de commandes, le reste ne 
vous en souciez pas ça risque de bien vous embrouiller. 
ainsi pour parler du pin 15 j’utiliserais le chiffre 3, pour le pin 12 le chiffre 1, pour le 11 le 0 etc… 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
“Ca vas être vraiment chiant à gérer tout ça” 
C’est la que ma petite interface PHP vous facilite la vie, j’y ai intégré la table des correspondances, 
vous n’aurez donc à vous soucier que des positions physiques des PIN. 
Mon script est disponible a l’adresse :http://idleman.fr/ressources/PHP/pihome.zip 
Téléchargez le et décompressez le dans le dossier /var/www de votre raspberry PI 
Puis accédez a l’adresse internet de votre raspberry PI (en tapant 127.0.0.1 dans un navigateur si 
vous êtes depuis le raspberry PI ou en tapant l’adresse IP réseaux du raspberry PI si vous êtes sur un 
autre PC du réseau). 
Si vous voulez ajouter/supprimer/modifier le nombre de LED, les ports utilisés etc… vous avez 
juste a modifier le fichier configuration.php aux lignes suivantes 
Ajoutez le libellé de la led et son numéro physique de PIN associé. 
C’est tout pour aujourd’hui, cette partie du rasp n’est pas facile à appréhender pour les gens qui ne 
viennent pas du monde informatique ou du monde électronique, n’hésitez donc pas a poser vos 
questions ici si vous avez le moindre soucis . 
Dans un prochain tuto, nous tenterons d’agrandir l’expérience et de contrôler non pas des LED mais 
de véritables lampes d’appartement en utilisant le même principe (mais un tout petit peu plus 
d’électronique) 
Edit : Si vous avez installé lightppd au lieud ‘apache, ça ne fonctionnera que si vous faites la manip 
suivante (partagée par Zescientist ): 
Hello, 
Suite à l’installation de Lighttpd (en suivant le tuto 19), je me retrouve avec ce tuto ici qui 
ne fonctionne plus. Après plusieurs heures de recherches, le problème vient du fait que 
Lighttpd exécute la commande system() uniquement pour les applications placées dans 
/usr/bin, or, en suivant ce tuto, la commande gpio est lancée à partir de /usr/local/bin… 
La solution a été de déplacer « l’application » gpio dans le bon dossier, ce qui n’est pas 
propre du tout mais je n’ai pas trouvé comment changer le dossier dans la config du 
serveur. 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Raspberry PI ~ 07 : Allumer/éteindre une 
vraie lampe OU comment faire de la domotique low 
cost. 
Mais peu importe, l’application est exactement la même, on se passera de lampe pour cet exercice 
(c’est la faute a ma chérie qui n’a pas voulu me laisser sa lampe de chevet “lapin crétin” comme 
sujet d’expérience, l’hérétique !!) 
Comme promis nous allons voir aujourd’hui comment utiliser le raspberry PI et plus précisément 
les ports GPIO (broches) de la carte pour contrôler un élément électrique de votre habitation, cet 
élément peut être n’importe quoi : une lampe/lumière, un réveil, un frigo, une tv, bref tout ce qui 
vous passe par la tête . 
EDIT : Désolé la vidéo est perdu ^^, vous pouvez mater les vidéos des tutos suivants pour avoir un 
exemple de ce qu’on vas faire, de mon coté je referais la vidéo quand j’aurais une tite minute à moi 
Prêt a tenter le coup? C’est vraiment pas compliqué, il suffit de s’accrocher un tout petit peu 
Voici les éléments requis pour cette expérience : 
- Un ordinateur, branché sur votre réseau 
- Un raspberry PI (~30€), à commander ici : http://fr.farnell.com/raspberry-pi 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
- Une carte 8 relais 5V 10A (20,49€), à commander ici : http://hackspark.fr/fr/8-channel-5v-relay-module- 
5v-250vac-10a.html. 
nb: Si la carte n’est plus disponible en stock, n’importe quelle carte relais de 5v avec une charge 
maximale assez haute (disons 10A) fera l’affaire. Une carte deux relais (au lieu de est disponible 
pour moins cher sur le même site si vous voulez faire des tests sur 2 lampes uniquement, vous 
pouvez aussi acheter une relais 1 seul canal pour 1.27€ ici, histoire de tester sans vous ruiner :), le 
montage est le même. Bref n’hésitez pas ç regarder régulièrement sur ebay dans les achats 
immédiats catégorie monde entier, il y a souvent d’excellent prix et livraison gratuite. 
- Un réveil (ou une lampe, ou ce que vous voulez) auquel vous ne tenez pas (ou vas couper du fil) 
Dans cet exercice nous ne contrôlerons qu’un seul appareil, mais notez bien qu’avec ces cartes vous 
pouvez en contrôler 8 simultanément, si vous avez suivis les précédents tutos sur les broches GPIO 
et que vous lisez attentivement celui ci, ça ne vous posera aucun problème de relier correctement les 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
fils. 
Dans notre précédent tuto Raspberry PI ~ 06 : Utiliser le GPIO et Interagir avec le monde réel nous 
avons allumé et éteint des diodes à l’aide d’une interface web, nous allons maintenant passer à la 
vitesse supérieure en remplaçant les LED par un réveil. 
Concrètement, le réveil est alimenté en 220V (branché a une prise de courant normale) et le 
raspberry peux fournir du … 5V maximum, il parait évident qu’il nous faut un “médiateur” entre les 
deux afin que le raspberry puisse contrôler le réveil. 
Ce médiateur s’appelle une “carte relais”, c’est tout simplement une carte qui vas servir 
d’interrupteur électronique pour le réveil, interrupteur commandé par le raspberry. 
Un petit schéma s’impose : 
Tout part du PC, on se connecte depuis le PC au site web qu’on a créé sur le raspberry PI (cf les 
tutos précédents) et on clique sur le bouton d’activation (crois rouge) du PIN 7 physique (qui 
correspond en fait au port GPIO 4 logique) de l’interface web. 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Ceci envoie un signal au raspberry qui met le port GPIO 4 à 1 (jusqu’a présent, il était a zéro). 
La carte relais est branchée de manière a ouvrir le circuit du réveil quand l’état du GPIO 4 est a zéro 
(donc le réveil est éteint) et a le fermer quand l’état est a 1 (donc le réveille s’allume). 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
La carte relais est donc un interrupteur commandé par le port GPIO4, mais comme cet interrupteur 
est électronique, il a besoin d’être alimenté, c’est pourquoi en plus du port GPIO4, deux fils (5v et 
masse) sont reliés a la carte pour alimenter celle ci en 5V. 
Pour être plus précis au niveau du raccordement, voila un autre schéma de ma composition : 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Notez bien que la carte relais supporte une puissance de 10A,soyez donc précautionneux en 
fonction de ce que vous y branchez, vous avez des risques de griller votre carte relais. 
Enfin très important : Si vous alimentez la carte relais avec votre rapsberry pi, en fonction de 
votre carte relais vous risquez a terme de griller les ports du rpi qui ne sont pas fait pour ça, aussi 
pour les tests ça passera mais pour une utilisation prolongée, utilisez une alimentation externe 
(même montage sauf que vous reliez le + et l – de la carte a l’alim externe et le – de la carte relais 
au rpi (pour fermer le circuit de commande) 
N’hésitez pas à poser vos questions dans les commentaires et a faire vos remarques, surtout ceux 
qui tâtent en électronique car j’imagine que j’ai dis et fait dans ces tuto pas mal d’hérésie et que 
même si ça marche ça peut grandement être amélioré. 
Dans les prochaines tutoriaux nous trouverons un moyen de packager tout ce beau monde dans une 
multiprise électrique (une multiprise connectée en quelque sorte) et nous verrons comment 
commander “vocalement” le système afin de remplacer l’interface web qui n’est pas très utile dans 
uen application domotique. 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Raspberry PI ~ 08 : Jouer avec les ondes 
radio 
Je vous avertis tout de suite, ce tuto est encore trop jeune pour aboutir sur une application concrète, 
il sera donc édité en deux parties. 
Le but de ce tuto en deux partie est simple : faire de la domotique pas cher avec le raspberry PI et 
par ondes radio. 
Les ondes radio ont de nombreux avantages et quelques inconvénients, nous verrons lesquels (mais 
je suis sûr que vous devinez bandes de ptit coquins). 
Cette première partie expliquera comment émettre et recevoir des ondes hertziennes avec le 
raspberry PI (en passant par une brève piqure de rappel de notions du collège que je pensais 
pourtant avoir soigneusement refoulées). 
Deux minutes de théorie ultra vulgarisée : 
Une onde radio c’est une onde électromagnétique qui, comme son nom l’indique, ondule….(si vous 
êtes déjà perdu, souriez et hochez la tête on y verra que du feu). 
Plus l’onde ondule vite, plus sa fréquence est dite “haute” et réciproquement. (j’entends au loin mon 
prof de physique s’étrangler de honte devant ma vulgarisation hérétique du phénomène). 
En gros une onde ressemble à ça : 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Si on augmente sa fréquence ça donne un truc comme ça : 
Si on la baisse : 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
(Merci a FramboisePI qui m’a fournis les graphique plus jolis que mes vieux gribouillis !) 
…bref zavez compris le principe, ça ne vous servira a rien dans cette première partie, en revanche 
ça sera utile plus tard 
Pour la petite précision, une fréquence à pour unité le hertz et se mesure grâce à la formule f = 1/T 
car c’est le temps que que met l’onde à faire une tite ondulation (nommée période si je ne m’abuse, 
sur la troisième photo l’onde n’a fait qu’une période en 1s on peux donc pensez que c’est une onde 
d’un hertz mais la je vous dis peut être une grosse connerie donc amis élétr(oni)ciens n’hésitez pas a 
me clasher dans les commentaires ) 
Plus la fréquence est haute, plus on peu passer d’information rapidement, mais plus l’onde est 
courte (ne me demandez pas pourquoi) 
Trêve de théorie chiante ! Passons à l’action ! 
Nous, nous allons utiliser une fréquence de 433,92 Mhz, ça n’est pas complètement innocent : 
1. 433,92 Mhz c’est une sorte de standard utilisé par de nombreux portails, stores, ouvertures 
centralisées, prises télécommandées etc… (vous commencez a voir l’intérêt du truc?) 
2. 433,92 Mhz c’est suffisamment haut comme fréquence pour envoyer quelques infos 
rapidement, et suffisamment bas pour que ça atteigne une trentaine de mètres de portée (voir 
plus avec antennes). 
3. 433,92 Mhz est compatible avec les récepteurs domotique low cost Chacon dont nous 
parlerons plus tard 
4. 433,92 Mhz C’est la radio qu’écoute tout les jours chuck norris dans son bain avec son 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
canard qui fait pouic pouic (ok, il lui faut une bonne ouïe mais on parle de chuck !!) 
Le matos !! 
Hé oui, il nous faudra encore investir dans cette étape, mais rassurez vous ça reste abordable ! Nous 
allons simplement acheter un kit émetteur/récepteur 433,92 Mhz 
J’ai acheté le mien sur conrad pour 15,95€ mais déjà a l’époque c’était de l’arnaque, et aujourd’hui 
ils l’ont encore augmenté, donc je vous conseille plutot ce modèle sur ebay à …1,5€ qui est 
exactement le même (à une patte près, dont nous ne nous servirons pas) 
Les schémas ci dessous sont pour le conrad, c’est quasiment similaire avec celui d’ebay mais la 
position des pattes n’est pas la même, donc fiez vous aux inscriptions “gnd”, “data” et “vcc” pour 
faire les branchements corrects (ou alors acceptez de vous faire enfler de 13.5€ ^^) 
Il faut faudra bien sûr vous munir de vôtre fidèle raspberry PI en complément et ça sera tout pour 
cette première partie de tuto. 
Les branchements 
C’est tellement enfantin que j’irais presque vous laisser lire la doc, mais comme je déteste lire les 
docs, je vais vous épargner ça… 
Nous allons brancher le récepteur sur une PIN GPIO du raspberry et l’émetteur sur une autre pin. 
Comme je suis un goret j’utilise encore une fois le jus du raspberry (wha le super jeux de mots qui 
tue !) pour alimenter l’émetteur et le récepteur mais je vous conseille vivement d’utiliser une alim 
5v externe si vous voulez utiliser ce montage sur la durée… 
Pourquoi? Et bien surtout pour une histoire de portée qui dépends du jus envoyé dans les cartes 
radio, plus vous alimenterez les cartes (en respectant le voltage max sur la fiche technique quand 
même, hein bande de gaufres :p) pour vous aurez de portée. 
Du coup comme le rpi alimente comme un naze (c’est l’une des grosse faiblesse de ce magnifique 
engin) il est possible que vous ayiez une portée minime (parfois quelques centimètres la ou vous 
devriez avoir 100 m, ça rigole pas) du coup pensez alim externe, mangez alim externe, vivez alim 
externe. 
Commençons par notre émetteur, petit bout de métal trop mimi qui tient sur le pouce : 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Comme vous le voyez : trois fils a souder : le fil 5V (fil qui fait bzz bzz) en rouge à relier a la borne 
5V du raspberry (borne 2), la masse en noir à relier a la borne de masse du raspberry (borne 6) et 
enfin la borne d’état logique (0 ou 1) à relier a un PIN GPIO valide (nous choisirons le 7, c’est une 
valeur sûre :p) 
ça donne ce montage la : 
Toujours en forme ? Bien ! Passons au récepteur !!! 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
De gauche a droite : le fil jaune = borne logique (0 ou 1) a relier au pin 13 du raspberry, le fil rouge 
= la phase, à relier a la borne 5V du raspberry, et le fil noir = la masse à relier à la masse du 
raspberry (c’est presque monotone tellement ya pas de challenge T_T) 
Vous avez compris, on vas le brancher exactement pareil que l’émetteur ( fil 5V et masse) mais sur 
une pin GPIO différente pour la borne logique : 
Notez bien que j’ai pris le(la) pin 13 parce que je suis un grand superstitieux mais libre à vous de 
choisir une autre des 8 bornes dispo si vous le souhaitez. 
Votre montage est maintenant terminé, plusieurs façon de le tester : 
1. Relier une diode entre la masse et la borne logique du récepteur, cette diode clignotera à 
chaque fois que vous recevrez un signal 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
2. Relier une diode entre la masse et la borne logique de l’émetteur, cette diode clignotera à 
chaque fois que vous enverrez un signal 
3. Créer un programme (php par exemple) avec une boucle qui pendant 10 secondes vas 
flooder le “gpio read 2” (2 correspondant a la borne physique 13) afin d’obtenir le(s) 
signal(aux) capté(s) 
Notez bien que si vous n’habitez pas la tchétchénie, il est possible que votre récepteur reçoive plein 
de signaux en continu alors que vous n’émettez pas, en effet de très nombreux appareil utilisant 
cette fréquence il est possible que vous receviez des émissions en 433,92 mhz de votre voisin ou 
même de votre téléphone fixe sans fil (ou que sais je encore ^^). 
Notez bien ² : La méthode de test la plus probante est encore de placer des led aux endroits que je 
vous ai indiqué, vous pourrez alors vous amuser a tester si vos clés de garages, vos interrupteurs 
de stores et autres diverses télécommandes font s’affoler la diode du récepteur quand vous les 
actionnez : 
si c’est le cas : vos machines sont en 433 mhz et nous pourrons bientôt les piloter depuis le 
Raspberry (enfin, si j’arrive a me dépatouiller avec la suite du tuto évidemment ;p) 
personnellement, la porte du garage de ma résidence ainsi que la voiture de ma copine sont sur du 
433,92 (hurk hurk hurk j’en connais un qui vas enfin prendre le contrôle de ce taudis). Notez 
(encore) que certain réseaux radio sont sécurisé avec des signaux changeants, surtout sur les 
voitures récentes, cas dans lequel nous ne pourront pas piloter l’engin. 
Encore une dernière recommandation : ne soyez pas aussi con que moi, n’essayez pas d’isoler 
votre récepteur des signaux extérieurs en l’entourant de papier alu XD, je sais pas pourquoi dans ma 
tête le papier alu c’était pas conducteur de chaleur donc ça conduisait pas le courant non plus, 
résultat : j’ai niqué un port USB et mon RPI à fait la gueule un certain temps. 
Si vous avez des problèmes de portées, de gros parasites, ou de mauvaise communication, pensez a 
faire ces deux choses : 
• Prendre une alim externe pour les cartes radio et les l’alimenter au maximum de ce qu’elles 
sont capables de faire (cf la clause “voltage max” de fiche technique, souvent c’est entre 5 et 
12V) 
• Souder un fil conducteur de 16.45 cm a l’émetteur et au récepteur pour servir d’antennes. 
Avec ces deux points, vous pouvez passer de quelques centimètres à plusieurs centaines de mètres 
de portée, la différence est vraiment flagrante. 
Merci a Yann PONSAR pour ses précieux tuyaux sur le sujet 
Dans le prochain tuto nous verrons pourquoi et comment générer un signal 32 bit capable d’allumer 
et d’éteindre tous les récepteur de la gamme chacon (sorte de relais récepteurs radio a bas prix qui 
s’adaptent a votre appart/maison sans avoir a couper ou casser quoique ce soit) 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Raspberry PI ~ 09 : Créer une interface vocale 
En effet si vous avez bien suivis mon article “Raspberry PI ~ 07 : Allumer/éteindre une vraie lampe 
OU comment faire de la domotique low cost.” vous devez pouvez allumer et éteindre une lampe 
grâce à votre interface web. 
Oui mais !! On à pas toujours une interface web sous la main pour commander le raspberry PI… 
alors que diriez vous de tout diriger par la voix ? 
Ce qu’on cherche à faire : 
Moi : “Yuri, allume la lampe du salon” 
Raspberry PI (oui je l’ai appelé Yuri ;p) : “jawohl mein kapitän !!” 
(oui je lui donne un accent allemand alors qu’il a un nom russe :p) 
*Lampe du salon s’allume* 
Moi : “Yuri quelle heure est il ?” 
Yuri : “Il est 18h41” 
Ma chérie : “Idle, arrête de jouer avec ce machin con de geek inutile, ton WAF baisse a vue d’oeil” 
Moi : “Yuri Insulte la“ 
Yuri : “L’insulte aléatoire est : espèce de cheveux sans racine” 
Bon okay on pourrait se passer d’aller aussi loin mais on vas le faire quand même, le but étant 
d’apprendre à simuler et a personnaliser une personnalité qui comprends vos ordres, effectue une 
action (contrôler une lampe, envoyer une requête, faire une recherche sur le web, dire un truc inutile 
etc…) et qui vous réponds en prime. 
Tenez une petite vidéo horriblement mal filmée à base de canard albinos et de drogue dure pour 
vous prouver que je n’affabule pas : 
https://vimeo.com/52886695 
Bref nous allons simuler une IA type Jarvis dans le film “Iron Man” ou Sarah dans la génialissime 
série “Eureka”, je dis bien simuler puisqu’au final, il n’y aura aucune intelligence derrière, juste une 
“bête machine à réagir” (mais c’est déjà pas mal pour cette fois :p). 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Ce qu’il vous faut : 
1. Un pc avec windows 7 ou vista minimum 
2. Un micro (celui de votre portable conviendra très bien) 
3. Votre raspberry PI configuré selon le tutoriel “Raspberry PI ~ 07 : Allumer/éteindre une 
vraie lampe OU comment faire de la domotique low cost.” 
Le principe : 
Votre PC vas utiliser(via notre petit programme) la librairie Speech To Text de Microsoft qui permet 
de faire de la reconnaissance vocale (le pc vous écoute), si la commande vocale est reconnue, il vas 
envoyer une requête web (http) à votre raspberry PI 
Votre raspberry PI vas recevoir la requête et effectuer l’action : ouvrir/fermer un port gpio (donc 
allumer/éteindre une lampe ou tout autre objet électrique raccordé), ou encore récupérer l’heure 
serveur et vous la retourner, aller chercher les films qui passent au ciné en ce moment etc… et 
retourner un texte de réponse a la librairie Text To speech de Windows qui fait de la synthèse vocale 
(le pc vous parle). 
Bref rien de sorcier en somme, certains déplorerons l’utilisation d’une librairie microsoft: c’est vrai 
que c’est bof, mais cette librairie a plusieurs avantages : 
• elle fonctionne bien 
• elle est installé par défaut sur tous les windows vista/seven et + (donc accessible à beaucoup 
de gens) 
• elle ne nécessite pas internet 
• elle fait la synthèse ET la reconnaissance vocale 
• elle est configurable avec de simples fichiers XML 
• il est possible d’avoir plusieurs voix et plusieurs langues gratuitement 
Et croyez moi pour trouver l’équivalent sous linux il faut se lever tôt (des lib comme sphinx et 
autres je ne veux plus en entendre parler, quand je dis lampe elle comprend canard albinos, c’est 
drôle les 10 premières minutes…) 
Okay mais il vas falloir développer un truc ne C# pour adapter tout ça non? 
C’est la que le génie de l’un de nos prédécesseur geeks entre en jeu : quelqu’un y a déjà pensé et a 
développé un petit programme au poil, S.A.R.A.H : pas d’installation, fonctionne avec micro simple 
ou avec kinect (meilleur reconnaissance), mots clés configurable avec de simple fichier xml etc… 
Le soucis c’est que le mec utilise un serveur nodejs, et qu’il ne manoeuvre aucun rpi avec, donc j’ai 
modifié et surtout beaucoup allégé S.A.R.A.H pour créer Y.U.R.I qui fonctionne avec apache, et qui 
est un peu plus léger. 
nb : Je tiens a préciser que le code source est intégralement de sarah, seuls quelques binaires 
(nodejs standalone, phantom etc..) ont été enlevés et quelques xml modifiés 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Assez discutaillé : au boulot !! 
Installation de Y.U.R.I sur le PC 
• Téléchargez Y.U.R.I : idleman.fr/ressources/PHP/interface%20vocale/YURI.rar 
• Décompressez le .zip 
• Ouvrez le dossier ./macroscontenant les XML de configuration et éditez le fichier rpi.xml 
• Modifiez l’adresse http://mon.rpi.fr/yuri.php par votre adresse de serveur rpi+/yuri.php ( ex : 
http://192.168.0.47/yuri.php ) 
Nb : Vérifiez que votre pc Windows et votre raspberry PI sont bien sur le même réseau et que vous 
pouvez bien accéder aux pages web de votre raspberry PI depuis le navigateur web de votre pc 
Windows 
Installation de Y.U.R.I sur le raspberry PI 
• Téléchargez le script yuri.php : idleman.fr/ressources/PHP/interface%20vocale/yuri-web.rar 
• Décompresser et placez le script dans le répertoire web de votre raspberry PI (/var/www par 
défaut) 
• Vérifiez que le port GPIO 7 est bien branché a votre carte relais comme définis dans le 
tutoriel 7 de ce blog. 
Test du programme 
• Sur votre PC, Cliquez sur l’exécutable micro.exe à la racine du dossier pour lancer Y.U.R.I 
• Prononcez “Yuri, allume la lampe du salon”, YURI vas bien envoyer une requête vers votre 
page de Rapsberry PI qui vas allumer votre lampe 
Et voila !! Enjoy !! 
Pour ajouter des action vous même, il vous suffira de créer un nouveau fichier xml avec la requête 
et les ordres associés, et de créer l’action qui correspond dans yuri.php, vous pourrez ainsi pousser 
les choses très loin, le concepteur de S.A.R.A.H a créé plusieurs requêtes d’exemples pour 
récupérer la météo, gérer un google agenda, trouver les films sur allociné etc… 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Raspberry PI ~ 10 : Commander le raspberry Pi par 
radio 
Nous avions brièvement abordé l’émission/transmission radio via le raspberry pi lors de notre 
tutoriel n°8. 
Je vous avais promis une application concrète et plus poussée, nous allons donc aujourd’hui donner 
des ordres au raspberry PI via une télécommande radio achetée dans le commerce. 
Commander le raspberry Pi par radio from idleman on Vimeo. 
Tenté par l’idée de reproduire ça chez vous ? Bien ! Mettons nous au travail !! 
<!> NB : Vous devez avoir suivis les tutoriaux 04, 06,07 et 08 minimum avant d’aller plus loin. 
Le Matériel : 
Si vous avez bien suivi le tuto 8, la pluparts de ces éléments sont déjà en votre possession 
1. Un raspberry PI en état de marche 
2. un kit émetteur/récepteur 433,92 Mhz j’ai acheté le mien à 15,95€ sur conrad mais je me 
suis fait avoir je vous conseille ce modèle a 1.5€ sur ebay qui fonctionne pareille et qui à 
200m de portée 
NB :Vous pouvez n’acheter que le récepteur pour ce tuto, mais nous auront besoin de 
l’émetteur dans le tutos suivant donc autant grouper. 
3. Un kit télécommande + 3 prises D – IO by chacon modèle 54795 vendu 29,95€, encore une 
fois, nous n’utiliseront dans le tuto que la télécommande, mais dans le prochaine nous nous 
occuperons des prises donc autant grouper. 
<!> Prenez bien le même modèle que moi, car il semblerais que le protocole radio varie 
légèrement d’un modèle a un autre 
1. Vous voila équipé bande de veinards !! 
Installation : 
Branchez le récepteur au raspberry PI en suivant les instructions du tuto N°8, ceci permettra au 
raspberry de capter les ondes radios sur la fréquence 433 mhz 
Si vous avez suivis le tuto N°7, vous pouvez également brancher votre carte relais sur l’une des 
bornes du raspberry PI afin d’allumer/éteindre une lampe/un réveil comme dans la vidéo, sinon, 
vous vous contenterez de la partie envois de mail et affichage des codes de la télécommande. 
C’est tout pour les branchements , maintenant voyons le code ! 
Assurez vous que la librairie wiringPi (qui permet de gérer facilement l’état 0 ou 1 des ports GPIO 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
du raspberry PI) est bien installé sur votre raspberry PI. 
Téléchargez mon petit programme de réception en C + PHP nommé originalement radioReception 
idleman.fr/ressources/PHP/chaconPI/radioReception.zip 
Décompressez le tout dans le répertoire /var/www de votre raspberry PI 
• LICENCE et README :Les infos sur la licence et autres du code. 
• radioReception :l’exécutable C qui vas parser les infos sur port gpio de réception et les 
envoyer au fichier PHP 
• radioReception.css :la source du programme C, vous pouvez le supprimer si vous ne 
comptez pas modifier le code. 
• radioReception.php : Le fichier PHP qui vas être exécuté par le programme C, recevoir les 
infos du signal, et effectuer une action en conséquence. 
Utilisation : 
positionnez vous dans le répertoire du programme, 
cd /var/www/radioReception 
définissez que le programme peut être exécuté avec un chmod (je sais, on peux faire moins 
permissif) 
sudo chmod 777 radioReception 
puis lancez le programme C avec la commande suivante : 
./radioReception /var/www/radioReception/radioReception.php 7 
/var/www/radioReception/radioReception.php : Chemin vers le fichier PHP qui traitera les 
informations reçues (identifiant de la télécommande, numéro du bouton, état on/off etc..) 
7 : Numéro WiringPi du PIN Gpio auquel est branché le récepteur 433 mhz 
Vous pouvez maintenant appuyer sur les boutons de la télécommandes et constater les actions 
effectuées par le PHP. 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
chaque action exécute le fichier PHP initialement entré en paramètre et lui fournis les informations 
suivantes : 
• $sender: l’identifiant de la télécommande 
• $group: Si c’est une commande de groupe (1) ou non (0), avec cette télécommande, cette 
valeur sera toujours à 0. 
• $state: si le bouton est on (1) ou off (0) 
• $interruptor : l’identifiant de la rangée de bouton de la télécommande 
A vous de modifier le PHP et de développer les actions qui vous semblent intéressantes, je n’ai 
laissé que l’exemple d’ouverture/fermeture du port gpio 3 (15 em port physique) dans les sources. 
Si vous avez des problèmes de portées, de gros parasites, ou de mauvaise communication, pensez a 
faire ces deux choses : 
• Prendre une alim externe pour les cartes radio et les l’alimenter au maximum de ce qu’elles 
sont capables de faire (cf la clause “voltage max” de fiche technique, souvent c’est entre 5 et 
12V) 
• Souder un fil conducteur de 17.3 cm a l’émetteur et au récepteur pour servir d’antennes. 
Avec ces deux points, vous pouvez passer de quelques centimètres à plusieurs centaines de mètres 
de portée, la différence est vraiment flagrante. 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
C’est tout pour ce tuto !! Si vous ne voulez pas comprendre ce que vous faites, vous pouvez vous 
arrêter ici ^^, sinon je vous invite a entrer avec moi dans les subtilités du protocole radio utilisé en 
lisant les paragraphes ci dessous. 
Dans le prochain tuto nous tenterons le processus inverse, à savoir émettre avec le raspberry PI pour 
allumer/éteindre les prises chacon (et on pourra jeter cette vilaine télécommande XD) 
Comprendre plus en profondeur : 
C’est une chose d’appliquer bêtement un tuto, c’en est une autre de comprendre entièrement ses 
tenants et ses aboutissants, pour les curieux qui voudraient comprendre plus en détail comment nous 
récupérons et nous traitons le signal radio, voila quelques explications… 
Zallez voir, c’est pas ultra compliqué quand on a toutes les infos bout à bout (ce que j’ai passé 2 
mois a réunir) mais il faut s’accrocher un minimum 
Concrètement qu’envoie la télécommande chacon ? 
Cette télécommande envoie un signal radio sur la fréquence 433.92 mhz, ce signal respecte (plus ou 
moins) le protocole radio domotique home easy (très mal documenté au passage). 
Le protocole home easy transmet les informations sous la forme d’un signal de 32 bits, un bit étant 
un 1 ou un 0 (ça tombe bien, les ports GPIO peuvent lire les 1 et le 0 ) 
il y a donc un signal de 32 : 0 ou 1 par exemple : 00011000101001010010100100010110 
Vous noterez l’utilisation de zoulies ptites couleurs , ce n’est pas pour rien : 
Les 26 premiers bits (en bleu) correspondent à l’identifiant de la télécommande 
Le 27em bit (en violet) correspond au numéro de groupe (information que nous n’utiliseront pas) 
Le 28em bit (en rouge), correspond à l’état (ON ou OFF) envoyé, 0=off, 1=on 
Les bits 29 à 32 (en vert) correspondent au numéro du bouton de la télécommande appuyé 
La télécommande vas donc envoyer le signal en fonction du bouton appuyé, de la télécommande et 
de l’état ON ou OFF de ce bouton. 
1. Okay mais on a un seul pin branché au récepteur non ? comment on vas capter tout ces 
0 et ces 1 d’un coup ? 
C’est une bonne question !! En fait toutes les infos vont être envoyé par le récepteur sur le même 
pin (dans notre exemple, le pin 7) mais avec des délais entre chaque 0 ou 1 afin de bien les 
distinguer les uns des autres ! 
Mais alors le signal vas être long à capter non ? 
Pas du tout ! En effet les délais dont je vous parlais sont de l’ordre de la micro seconde ! Donc un 
signal dans son intégralité a peu de chance de dépasser la milli-seconde ce qui est totalement 
ridicule pour la perception humaine :). 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Bon, et t’as mis 2 mois pour comprendre ça ? 
En réalité, nous ne sommes pas au bout de nos peines, c’est un peu plus compliqué que ca , 
admettons que la télécommande nous envoie le code : 
00011000101001010010100100010110 
Nous recevrions en réalité quelque chose comme ça : 
01010101010101010101010101010101010101010101010101010101010101010101010101010101 
010101010101010101010101010101010101010101010101 
que nous traduirions en ça : 
0101011010010101100110010110011001011001100101100101011001101001 
et enfin en ça : 
00011000101001010010100100010110 
(on fait moins le malin la pas vrai ? ) 
Hum, j’y comprends plus rien la… tu nous a bien enflé avec ton histoire de 32 bits ! 
C’est juste , mais il fallait simplifier pour ne pas vous perdre dès le début ^^, en réalité le signal est 
bien de 32 bits, mais il est “traduit” deux fois avant émission et réception pour les raisons que nous 
allons voir ci dessous. 
La première traduction, est liée a ce qu’on appelle le “codage de manchester” derrière ce nom 
étrange se cache un principe tout simple : on vas convertir les 0 en 01 et les 1 en 10. 
Donc le code de la télécommande 
00011000101001010010100100010110 
vas se transformer (avant d’être émis) en ce signal de 64 (car 32*2) bits : 
0101011010010101100110010110011001011001100101100101011001101001 
Mais pourquoi se compliquent t’ils la vie avec leurs codage de machin chose? 
Dans notre contexte, le code de manchester est utilisé pour diverses raisons mais essentiellement 
pour éviter les parasites, et croyez moi, des parasite radio, nous en sommes blindés ! Bref je ne vais 
pas m’étaler sur le principe, les infos sont sur wikipedia mais en gros si une paire de bit est égale a 
11 ou 00 le programme comprendras qu’il s’agit d’un parasite (car en prenant les bits par paire 
depuis el début du signal, on ne peux avoir que des 10 ou des 01 si le signal n’est pas un parasite). 
Ok donc on à juste une petite conversion à faire, c’est pas méchant, mais c’est quoi la 
deuxième traduction alors ? 
Et bien la seconde traduction, c’est tout simplement la transformation en “onde”, c’est ce dont nous 
parlions tout à l’heure avec les délais, par exemple pour que la télécommande émette “1” il lui faut 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
envoyer une impulsion (impulsion qui n’est autre qu’un passage de 0 à 1 ) avec un certain délais 
entre le 0 et le 1 (pour signifie qu’on envoie un 1 et pas un zero. 
Donc envoyer un 1 reviendrais a envoyer ce genre de signal : 
C’est le délais en micro seconde ou le signal est bas qui définit si un 1 ou un 0 a été envoyé. 
Attention nous disons ici qu’un 1 a été envoyé, mais comme nous respectons le codage de 
Manchester nous devons envoyer “10” : 
Comme vous pouvez le voir sur le schéma pas du tout précis, le premier “front bas” (qui représente 
le 1) est plus court que le second (qui représente le 0), leurs somme fait “10” qui, en codage 
Manchester signifie “1” 
Je suppose que vous êtes sur les rotules, mais soyez fiers de vous, il n’y a plus rien à comprendre 
par la suite (vous pouvez imaginer maintenant pourquoi j’ai mis un peu de temps à décrypter le 
protocole de cette fichue télécommande sans la moindre doc et sans connaitre les lois de la radio 
transmission). 
Voila un petit graphique pour résumer le chemin d’un signal : 
Et voila un petit script tout droit sortis de mes petites papattes pour vous aider a visualiser un 
signal : http://domotique.idleman.fr/radiograph.htm 
Notez une dernière chose importante ! 
Le protocol home easy, contient encore une petite subtilité : les verrous. 
Les verrous sont des bits émis par la télécommande avant et après le signal afin d’annoncer au 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
récepteur que le signal commence et se termine (ce qui permet également de distinguer un signal 
d’un parasite). 
Ces verrous sont au nombre de 3 : deux avant le signal, un a la fin. Les pulsations de ces verrous 
sont très long (pour les distinguer des pulsations de bits d’informations) de l’ordre d’une centaine 
de micro secondes. 
Bon, j’ai bien tout compris, mais tu as oublié de nous donner quelque chose d’important : les 
délais de chaque pulsation (0, 1 et verrous) !!? 
C’est bien !! Vous suivez !! Et vous avez raison je ne vous les ai pas donnés pour la raison 
suivante : je ne les connais pas ! Ha ha ha ha !! 
En fait c’est la que le manque de doc se fait ressentir sur le protocole home easy : 
1. Aucune doc n’est complète 
2. Les docs se contredisent entre elles pour les délais 
3. La marque Dio by chacon semble altérer légèrement les délais d’un modèle à un autre (pour 
brouiller les pistes?) 
Bref on ne peux qu’estimer les valeurs de chaque délais, c’est la raison pour laquelle vous noterez 
que mon programme ne capte pas à tout les coups, les délais étant encore mal calibrés, libre a vous 
de tester les délais et de me faire vos retours si vous parvenez a être plus précis, voila mes délais 
actuels : 
Verrou 1 : Entre 2700 et 2800 micro secondes 
Verrou 2 : ? 
0 : Entre 180 et 420 micro secondes 
1 : Entre 1280 et 1480 micro secondes 
Verrou 3 : ? 
Vous noterez aussi que dans mon code, je n’ai pas tenu compte des verrous 2 et 3, qui ne sont pas 
indispensables dans ce cas précis (même si ce serait mieux de les demander), en revanche quand 
nous émettrons depuis le raspberry PI, il nous faudra être plus rigoureux. 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Raspberry PI ~ 11 : Relier à un écran et afficher 
du texte 
Aujourd’hui nous allons apprendre à faire ça : 
Mais non pas la boite bande de péquenauds incultes (wink wink nudge nudge), mais ce magnifique 
écran LCD, à l’origine utilisé sur les vieux téléphones nokia (ben oui on est pas des nouilles 
molles). 
Le but de ce tuto sera donc de brancher un petit écran LCD rétro éclairé (a 2,50€ sur ebay cela dit) 
et d’y afficher un texte choisis. 
Je suis partis du principe que je voulais, lorsque je branche mon raspberry au labo ou autre part, 
récupérer l’adresse ip qui lui est automatiquement attribué par le réseau sur lequel je me connecte, 
et l’afficher sur l’écran afin que je puisse me connecter au rpi en ssh sans avoir a demander a 
l’admin du réseau cette fameuse ip. 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
(oui je sais la ça n’est pas une IP réseau mais j’ai perdu l’autre photo alors on vas s’en contenter ) 
Ce sera donc notre fil rouge , je vous rassure tout de suite, l’intro est longue, mais le tuto lui est très 
court, je m’en voudrait de vous tuer une seconde fois après le tuto sur la réception radio . 
Le matériel 
1. Un raspberry Pi (holala quelle surprise ! ) 
2. Un écran LCD nokia 5110 à 10€ sur sparkfun, 4,89 € sur ebay, voir même à 2,50€ si vous 
cherchez encore sur ebay et peut être moins cher ailleurs 
3. Quelques fils qui trainent, un peu d’étain, et un fer à souder 
Les branchements 
Notez que l’écran possède deux rangée de 8 Trous à l’opposée l’une de l’autre, vous pouvez utiliser 
l’une ou l’autre des rangées ça ne fais aucune différence, nous utiliserons celle avec les inscriptions 
de chaque pin afin d’être sûr de ne pas faire d’erreurs. 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Les 4 trous sur les coins sont uniquement la a titre de fixation, ils ne sont reliés à rien 
Voila le branchement en image, fiez vous aux couleurs pour le fils qui sont un peu cachés : 
ATTENTION : sur mon écran l’alimentation principale est en 5V, cependant il semble que 
plusieurs sous modèle de la même référence n”acceptent que du 3v en entrée, aussi ne reliez comme 
ci dessous qu’après avoir regardé la fiche technique de votre écran. 
Si votre écran n’accepte que du 3V, reliez le fil rouge coté rpi au pin 1 et non au pin 2. 
Le programme 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Pour installer le programme , ouvrez la console SSH de votre rpi, et tapez les commandes 
suivantes : 
Téléchargement du programme 
nb: la source est dans le zip pour ceux qui voudraient comprendre plus en détail le fonctionnement 
du script :). 
sudo wget http://idleman.fr/ressources/PHP/piScreen/lcd.zip 
1 sudo wget http://idleman.fr/ressources/PHP/piScreen/lcd.zip 
Décompression 
sudo unzip lcd.zip 
1 sudo unzip lcd.zip 
Déplacement 
sudo mv lcd /etc/lcd 
1 sudo mv lcd /etc/lcd 
Le programme est installé 
Utilisation 
En ligne de commande 
/etc/lcd/screen -p "Hello world" 
1 /etc/lcd/screen -p "Hello world" 
Options 
• -hcommande d’aide 
• -iaffiche l’ip LAN de la machine courante à l’écran 
• -naffiche le nom de la machine courante (hostname) à l’écran 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
• -p[text] affiche le texte spécifié à l’écran 
• -p [text] [0-10] affiche le texte spécifié à l’écran et définis le contraste de l’écran 
Obtenir son IP sur l’écran lorsqu’on se connecte a un réseau 
Comme vous avez u le voir dans les options, la commande 
/etc/lcd/screen -i 
1 /etc/lcd/screen -i 
Il nous suffit donc de lancer un CRON (une tâche planifiée) qui vas lancer cette commande toutes 
les x minutes (moi j’ai mis toutes les 1 minutes, mais bon c’est mieux d’augmenter un peu histoire 
de ne pas flooder non plus). 
Ouvrez votre crontab 
crontab -e 
1 crontab -e 
Ajoutez la ligne 
* * * * * /etc/lcd/screen -i 
1 * * * * * /etc/lcd/screen -i 
Enregistrez, fermez et hop ! Tuto terminé 
A voir aussi 
La même chose, avec un écran couleur et tactile de 36€ pour ceux qui ont les moyens 
Encore la même chose, avec un écran moins cher (mais du coup de moindre capacité) a base de 
librairie python, très bien expliqué par notre amis Zem 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Raspberry PI ~ 12 : Allumer des prises à 
distance 
Avant que la fin du monde (un peu tardive), ou une trop grosse cuite du nouvel an ne nous sépare, je 
tenais à vous offrir ce petit tuto sur le “télécommandage” (ça se dit ça?) de prises électriques depuis 
le raspberry PI. 
Nous allons donc reproduire notre tuto 7 “éteindre/allumer une lampe avec le raspberry PI” mais 
cette fois ci, sans utiliser de fils. 
Démonstration 
Quelques screenshots de l’application web évoquée dans la vidéo : 
Accueil des périphériques, par pièces 
Espace de configuration sans utilisation de base de données 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Interface adaptables tablettes/smartphone 
Points forts / Points faibles 
(de l’utilisation des ondes radio) 
Ce montage est similaire au montage filaire que nous avons déjà vu, mais il a pour différences les 
points suivants. 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
FORCES : 
• Intégrable à votre appartement/maison sans avoir à démonter les murs ou à abîmer quoique 
ce soit 
• Ne prend qu’un seul PIN GPIO sur le rpi au lieu d’un par relais, il est donc possible de gérer 
une quantité infinie de périphérique (enfin 2^30 soit 1073741824 périphériques en fait :p) en 
n’utilisant qu’un seul pin 
• Le circuit de commande est dynamique, vous pouvez ajouter, déplacer, supprimer vos 
périphérique sans aucune modification à faire en terme d’électrique/électronique 
• Il est plus simple de permuter la commande classique (interrupteur simple) et la commande 
via le Raspberry PI afin d’utiliser simultanément les deux, ainsi si vôtre rpi grille, vous 
pourrez encore vous servir de votre système électrique de manière classique 
• Niveau esthétique, c’est plus discret qu’une 30 aine de fils qui se baladent 
• Le système est “portable” d’une habitation à une autre :), vous pouvez donc déménager 
facilement sans démonter les murs 
• Le système peut traverser la plupart des murs/obstacles/matières il vous est donc possible de 
gérer des périphériques dans des endroits peu accessibles 
FAIBLESSES : 
• La portée de l’émetteur que l’on a acheté est d’environ 30M (edit: si vous prenez celle 
d’ebay et une bonne alimentaiotn externe et que vous fixez un fil d’antenne, vous pouvez 
atteindre 200m de portée), peut être plus avec une bonne antenne, il vous faudra donc peut 
être plusieurs émetteur ou une bonne antenne ou encore un émetteur de meilleure qualité si 
vous avez une grande maison 
• Le système radio est au système filaire ce que le wifi est aux câbles Ethernet, donc moins 
sécurisé, bien que le signal soit sur 32 bits (auquel j’enlève les 2 bits d’état et de groupe) ce 
qui fait 1 073 741 824 combinaisons possibles par périphérique, dans le doute, faites mois 
plaisir : ne raccordez quand même pas des trucs qui craignent genre votre robinet à gaz 
• Avec ce montage, vous êtes sujet aux parasites radio, si il y en a beaucoup dans votre 
environnement, le signal peut être parfois mal capté (même si il est envoyé 5 fois et qu’on 
utilise le codage de Manchester ce qui réduit fortement le risque) 
Le matériel requis 
Si vous avez suivis le précédent tuto sur la radio, vous devriez déjà tout avoir : 
• Un raspberry PI modèle A ou B ~30€ 
• Un set de 3 prises chacon + télécommande (~30€, vous pouvez acheter une prise seule mais 
ça coûte super cher (~20€ la prise), autant grouper) 
• Un émetteur RF 433Mhz (j’ai acheté le mien 15€ mais je me suis fait arnaquer, vous pouvez 
en trouver à beaucoup moins cher, par exemple à 3€ ici ou sur ebay à 1.3€) 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Ce qui nous fait un coût domotique entre 30€ et 65€ par la, en fonction du nombre de machines que 
vous voulez commander et des prix que vous trouvez sur le net. 
Notez que par la suite si vous souhaitez équiper d’autres pièces vous n’aurez pas à racheter de 
Raspberry PI ni d’émetteur (à moins d’habiter un palace auquel cas le prix ne vous posera pas 
problème) du coup vous paierez entre 15€ et 30€ pour équiper une pièce supplémentaire (en 
fonction du nombre de prises, des réductions, des frais de ports etc…). 
Le montage 
Le montage rpi + émetteur 433 mhz a déjà été expliqué dans notre premier tuto sur RPI+radio, mais 
comme je suis un chic type et que j’adore faire des gribouillis, je répète le schéma ici : 
nb : Une antenne de 17.3 cm serait la taille optimale (merci à Ju pour la précision) 
Le code 
Le code de l’interface web+programme C qui émet les signaux radio est téléchargeable ici : 
http://idleman.fr/ressources/PHP/hcc/hcc.zip 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
1. Dé-zippez le code dans un répertoire var/www/hcc 
2. Faites un sudo chown -R www-data:www-data /var/www/hcc 
sur tous le dossier hcc (changez /var/www/hcc si votre chemin est différent, important sinon 
rien ne fonctionnera) 
3. Faites 
sudo chown root:www-data /var/www/hcc/radioEmission 
puis un 
sudo chmod 4777 radioEmission 
sur l’exécutable nommé radioEmission (important sinon l’interface web ne fonctionnera pas) 
4. Le script est installé !! 
L’utilisation 
Vous pouvez envoyer un signal de deux façon différentes : 
En ligne de commande linux : 
/var/www/hcc/radioEmission 0 12325261 1 on 
0 = le numéro WiringPi du PIN du Raspberry relié a la carte émetteur 433mhz (ici zéro, qui 
correspond au pin physique 11 du rpi) 
12325261 = Un code de télécommande que nous attribuons arbitrairement au raspberry PI, ca 
permet aux prises de n’obéir qu’a ce code et donc qu’a votre raspberry. 
1 = code du récepteur (choisis arbitrairement, c’est ce qui permettra au récepteur de savoir si c’est à 
lui qu’on donne l’ordre ou a un autre) 
on = état de la prise souhaité on ou off 
nb : Le ./ est obligatoire devant quand vous exécutez le programme depuis le répertoire courant, si 
vous ne le faite pas vous risquez de tomber sur un “commande not found” 
Depuis l’interface web : 
qui en réalité se contente d’exécuter la commande précédente (pourquoi faire compliqué) lorsque 
vous cliquez sur un item. 
Pour vous connecter, les logins et mot de passe par défaut sont : 
login : admin 
mdp : admin 
Ces identifiants peuvent être changé en éditant le fichier constant.php situé dans le répertoire hcc 
Notez bien que vous ne pourrez rien piloter tant que les prises n’auront pas fait l’apprentissage du 
signal que vous envoyez (expliqué un peu plus ci dessous). 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
La liaison émetteur/récepteur 
Les prises électriques Chacon ont un module d’apprentissage de signaux intégré, ce qui veux dire 
que lorsque vous les brancherez, elles “écouteront” pendant 5 secondes les signaux envoyés et 
reconnaîtrons ces signaux pas la suite. 
Il vous faut donc pour chaque prise, la brancher et émettre le signal avec le Raspberry PI (via 
l’interface web disponible sur http://wotre.raspberry.pi/hcc ou par ligne de commande) avant 5 
secondes pour qu’elle soit par la suite liée au signal. 
Vous reconnaîtrez des clic clac successifs vous avertissant que la télécommande a bien reçu votre 
signal et l’a mémorisé. 
En résumé 
Il y a donc trois façons de piloter l’installation : 
pilotage classique : je passe par les interrupteurs Chacon (télécommande ou télécommande sous 
forme d’interrupteur) pour allumer/éteindre mes lampes 
pilotage par interface web : j’allume/éteint mes lampes via une interface web sur navigateur 
internet de tablettes/pc/smartphone 
pilotage par reconnaissance vocale :Lorsque je prononce une phrase définie, mon pc envoie 
directement une requête au Raspberry PI qui allume ou éteint les lampes 
Pour ce dernier, je me suis contenté de mélanger mon tuto sur la reconnaissance vocale (raspberry 
pi 09). Je vous invite à faire la même chose, le résultat est plutôt propre. 
Pour configurer yuri selon votre interface : 
1. Créez vos périphériques sur l’interface 
2. Allez dans configuration, puis onglet divers 
3. Cliquez sur télécharger le xml 
4. Le XML est à placer dans le répertoire macros de votre YURI 
le mot clé de reconnaissance vocale, sera le nom que vous avez donné au périphérique 
Si vous avez des problèmes de portées, de gros parasites, ou de mauvaise communication, pensez a 
faire ces deux choses : 
• Prendre une alim externe pour les cartes radio et les l’alimenter au maximum de ce qu’elles 
sont capables de faire (cf la clause “voltage max” de fiche technique, souvent c’est entre 5 et 
12V) 
• Souder un fil conducteur de 17.3 cm a l’émetteur et au récepteur pour servir d’antennes. 
Avec ces deux points, vous pouvez passer de quelques centimètres à plusieurs centaines de mètres 
de portée, la différence est vraiment flagrante. 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Raspberry PI ~ 13 : Détecter l’ouverture des 
portes et fenêtres 
En attendant que je parvienne à trouver la motivation pour monter la vidéo sur la sonde température 
radio (j’ai la vidéo, mais mon monteur est en plein partiels et je n’ai aucune notion d’adobe 
première ^^), je vous lance ce ptit tuto à vous mettre sous la dent. 
Aujourd’hui nous allons voir comment détecter l’ouverture d’une porte, d’une fenêtre, ou de quoi 
que ce soit qui s’ouvre ou qui se ferme, avec le raspberry PI et un petit composant à environ 3€. 
L’état de la porte (ouverte/fermée) sera visible depuis une interface web, ou depuis notre interface 
de reconnaissance/synthèse vocale YURI (implantée dans les précédents tutoriaux sur le raspberry 
PI) 
Le principe : 
Un mini aimant est fixé sur le bord de la partie mobile votre porte (que nous appellerons le battant), 
et un petit capteur sera fixé sur la partie fixe de la porte (que nous appellerons tenant), ce capteur est 
nommé “capteur à effet de hall”. 
C’est quoi ce composant cheulou au nom barbare ? 
Un capteur à effet de hall est simplement un composant qui vas renvoyer 1 ou 0 si il est, ou non, à 
proximité d’un champs magnétique (par exemple émis par un aimant) 
D’une certaine manière, c’est un bête interrupteur, à ceci près qu’il ne réagit pas à une pression mais 
à une “magnétisation” proche. 
Mais alors, pas besoin d’un composant, pourquoi ne pas utiliser juste deux fils qui se touchent 
? 
Et bien surtout à cause du frottement, l’avantage du capteur a effet de hall est qu’il n’y a aucun 
contact “physique” puisque celui ci est magnétique donc : 
1. Pas de risque que le montage bloque la porte 
2. Pas de risque que l’usure du frottement abime le circuit 
3. Moins casse gueule et moche qu’un bête système de fils 
4. Sur la partie mobile, pas besoin de fils, d’alimentation, ou du moindre circuit : un aimant est 
en moyenne actif 400 ans, ne nécessite aucune alimentation,ne coute rien, et peut être 
minuscule. 
Vous l’aurez compris, ce capteur à effet de hall sera branché au raspberry PI et lui enverra du 0 
(l’aimant est lointain donc la porte est ouverte) ou sur 1 (l’aimant est proche donc la porte est 
fermée), le rapsberry Pi mettra à jour sa base de données (ici un simple fichier texte) qui sera alors 
consulté par l’interface web et par YURI. 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Ce que je ne vous dis pas 
Oai je sais, c’est con puisqu’au final je vous le dis, mais respectez mon style littéraire bande de 
gaufres ! 
J’ai dis plus haut que le capteur renvoyait une valeur digitale (0 ou un 1) et fonctionnait un peu 
comme un interrupteur, je vous ai mentis 
En réalité le capteur seul est plus une “résistance” qui vas varier en fonction de la proximité du 
champs magnétique et renvoyer une valeur analogique (0.2,1.4 etc…), et c’est un problème pour 
nous qui avons besoin d’un 0 ou d’un 1. 
C’est la raison pour laquelle nous avons commandé un capteur avec un petit circuit associé, ce 
circuit comportes quelques autres composants qui vont traiter la valeur analogique et, a partir d’un 
certain seuil, définir qu’elle envoie un 0 ou un 1 (ex : si la résistance est entre 0 et 2,5 on envoie 0, 
sinon on envoie 1) . 
Et la ou cette petite carte est top, c’est que vous avez la possibilité de régler ce seuil !! En effet un 
ptit potentiomètre qui se présente sous la forme d’une vis (donc réglable avec un tournevis plat) 
permet de faire varier ce seuil, ainsi nous pourrons agir sur la sensibilité de notre détection de porte 
en fonction de la porte et de la puissance de l’aimant choisis. 
Je vous conseille bien évidemment de commander les aimants conseillés ci dessous qui sont 
minuscules et surpuissants, mais sur la théorie n’importe quel aimant avec un peu de portée fait 
l’affaire :). 
Le matériel : 
• Votre fidèle raspberry PI 
• 1 Capteur à effet de hall~3€ (mais il y a moyens de trouver moins cher je pense) edit: le lien 
semble mort, vous pouvez prendre celui la, qui est sensiblement identique ou encore ce 
modèle non ajustable à 1,7€ (fdpin) : http://dx.com/p/hall-magnetic-sensor-module-for-arduino- 
dc-5v-135033 
• 1 Aimant Rare earth surpuissant ~1€ les 5 
Le montage : 
Une grand mère unijambiste pourrait faire ce montage dans le noir mais je vais quand même vous le 
spécifier histoire que les lecteurs les moins sobres puissent nous suivre : 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
nb : J’ai choisis de relier les données sur le pin physique 11 du raspberry, qui correspond au numéro 
“0” avec la librairie wiring PI. 
Le code : 
On vas avoir : 
Un programme en C qui vas vérifier toutes les x secondes l’état du pin “0” (qui sera donc à 0 ou 1 
en fonction de si la porte est ouverte ou fermée) et envoyer l’état a une page php. 
Une page php qui vas enregistrer la valeur dans une base de données (ici un fichier texte) 
Enfin une page html basique qui vas faire un appel ajax au fichier texte de la base de donnée toutes 
les x secondes et afficher “porte fermée” ou “porte ouverte” en fonction du contenu du fichier texte. 
Notez que dans le fichier PHP nous avons aussi prévu quelques lignes pour yuri (yuri requête sur la 
page php, qui vas vérifier l’état du fichier et retourner à yuri la phrase a dire en conséquence “porte 
fermée” ou “porte ouverte”). 
1. idleman.fr/ressources/PHP/capteurOuverture.zip 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
2. Décompressez son contenu dans /var/www/capteurOuverture 
3. Réglez les permissions des fichiers (sudo chmod -R 777 /var/www/capteurOuvertureou 
moins bourrin avec un 775 ou un chown www-data) 
4. Si vous voulez utiliser YURI, copiez le xml ouverture.xml du zip dans votre répertoire 
macros de yuri, et éditez le en remplaçant “votre.raspberry.pi” par l’adresse réseau de 
votre raspberry PI 
L’utilisation 
Lancez le programme en C avec les paramètres : 
1. Adresse de la page php 
2. Numéro wiring Pi du pin auquel vous avez relié le capteur 
ex : ./capteurOuverture /var/www/capteurOuverture/capteurOuverture.php 0 
Lancez l’adresse http://votre.raspberry.pi/capteurOuverture (en remplaçant évidemment 
“votre.raspberry.pi” par l’adresse réseau de votre raspberry PI) 
Ouvrez/fermez votre porte et visualisez le résultat sur l’interface web 
Interrogez yuri en ouvrant/fermant votre porte 
C’est tout pour aujourd’hui bisous mes poulets, moi je part fêter mon quart de siècle ! 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Raspberry PI ~ 14 : Surveiller les performances 
du rpi depuis le web 
C’est bien beau de traficoter tout un tas de truc avec notre raspberry PI ! Mais celui ci étant une 
frêle petite bébête, il peut être intéressant de le contrôler un peu question performances. 
Et ça tombe bien, il existe une interface web mimi comme tout justement faite pour ça !! 
RaspControl vous permettra de monitorer de nombreuses infos sur l’état de santé de votre raspberry 
pi,n’importe quand et n’importe ou. 
Ce petit logiciel en PHP est “standalone” c’est à dire qu’il peux tourner sans que vous ayez au 
préalable installé un serveur web. 
Avec raspcontrol, vous pourrez consulter des informations mais aussi effectuer quelques actions 
comme redémarrer le système, redémarrer /stopper/démarrer apache, consulter vos fichiers de logs, 
mettre à jour les paquets, mettre à jour le firmware, relancer ssh etc..etc… 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Installation 
Tenté par raspcontrol ? Alors installons tout ça !! 
EDIT : Comme l’équipe de dev de ce programme s’amuse à changer son archi tout les 4 
matins, il est possible que ce qui suit ne corresponde plus à la réalité, je vous conseille donc de 
vous reporter au tuto d’instal officiel pour plus de sûreté :) 
N’oublions par avant tout de faire une mise à jour générale des paquets 
sudo apt-get update sudo apt-get upgrade 
12 
sudo apt-get update 
sudo apt-get 
upgrade 
On installe ensuite le paquet php5-cli qui permet simplement de faire du php en ligne de commande 
sudo apt-get install php5-cli 
1 sudo apt-get install php5-cli 
On se place dans un répertoire quelconque, on télécharge l’archive de raspcontrol et on la 
décompresse 
cd /home/pi/ wget https://github.com/Bioshox/Raspcontrol/zipball/master unzip master 
123 
cd /home/pi/ 
wget 
https://github 
.com/Biosho 
x/Raspcontro 
l/zipball/mas 
ter 
unzip master 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Le dossier décompressé à un nom barbare, donc on le renomme “monitoring” (ou autre, comme 
vous voulez) 
mv Bioshox-Raspcontrol-694435b/ monitoring 
1 mv Bioshox-Raspcontrol-694435b/ monitoring 
Théoriquement, on peux lancer le programme à ce stade, le problème c’es qu’il vas se lancer sur le 
port 80, qui est déjà utilisé par notre serveur web (apache, lighthttpd ou nginx…) donc on chance le 
port en éditant le fichier d’exécution du programme : 
cd monitoring nano start.sh 
cd monitoring 
nano start.sh 
Remplacez 
12 
HOST=0.0.0.0 PORT=80 
HOST=0.0.0.0 
PORT=80 
Par 
12 
HOST=0.0.0.0 PORT=8080 
12 
HOST=0.0.0.0 
PORT=8080 
(ou un autre port en fonction de ce qui est déjà pris chez vous) et enregistrez (ctrl+x, Y puis entrée) 
Vous pouvez ensuite lancer le programme avec la commande : 
sh ./start.sh 
1 sh ./start.sh 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
(vous devez être situé dans le répertoire “monitoring”, si ce n’est pas le cas, il faut taper le chemin 
complet vers start.sh) 
Vous pouvez alors accéder via un navigateur a votre panel de contrôle à l’adresse : 
http://votre.adresse.raspberry.pi :8080 
(remplacez “votre adresse raspberry pi” par l’adresse réseau de votre rpi) 
A la première connexion, raspcontrol vous demande de créer un compte, entrez donc un identifiant 
et un mot de passe 
Cliquez sur “create account”, vous retombez alors sur un écran similaire qui vous demande de vous 
identifier, remettez les même identifiants puis “login”, ça y est, vous êtes sur le monitoring !! 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
L’installation/utilisation est terminée, cependant si vous ne voulez pas être embêté très prochaine, il 
vous faudra faire une petite manip !! 
En effet vous remarquerez que si vous fermez votre terminal, le star.sh s’arrête et vous ne pouvez 
plus accéder à votre monitoring (zut !). 
Pour résoudre ce problème, il existe plusieurs manières de faire (non vous n’allez pas laisser votre 
console ouverte 24/24h 7/7j bande de gougnafiers ^^) la plus simple reste encore d’utiliser Screen. 
Screen est un petit utilitaire qui permet d’ouvrir une console en “tâche de fond”, ainsi vous pouvez 
y lancer des programmes sans avoir a garder votre terminal ouvert. 
Installons d’abord Screen 
sudo apt-get install screen 
1 sudo apt-get install screen 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Puis lançons notre monitoring à travers Screen 
screen -dmS Raspcontrol sh ./start.sh 
1 screen -dmS Raspcontrol sh ./start.sh 
Vous verrez alors que vous pouvez fermer votre console sans interrompre le programme ! Sympa 
non ? 
Mais un dernier problème se pose !! ( hé hé hé ) Que se passera t’il quand votre raspberry PI vas 
redémarrer ? Plus de screen en tâche de fond, donc plus de monitoring, obligé de relancer la 
commande ci dessus (fuck !!) 
On vas donc créer une petite tâche planifiée qui vas se lancer automatiquement au reboot du 
rapsberry et qui vas exécuter notre commande screen. 
On ouvre notre gestionnaire de tâche planifiée 
crontab -e 
1 crontab -e 
On y ajoute la ligne suivante à la fin du fichier 
@reboot cd /home/pi/monitoring &amp;&amp; screen -dmS monitoring sh ./start.sh 
1 @reboot cd /home/pi/monitoring &amp;&amp; screen -dmS monitoring sh ./start.sh 
On sauvegarde (ctrl+X, Y, puis entrée) et c’est bon !! 
Notez bien que le combo screen + cron au démarrage est très puissant et vous permet de lancer tout 
un tas de programmes automatiquement et en tâche de fond au démarrage de votre raspberry pi (par 
exemple la commande startx pour afficher un bureau visuel ou autres…) 
Si vous voulez accéder a votre interface de monitoring depuis autre part que votre réseau, pensez a 
débloquer le port 8080 de votre box . 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Notez bien que cette application est codée avec les pieds, mais qu’elle à le mérite d’exister, de 
fonctionner relativement bien et qu’elle pose les bases de la récupération d’infos importantes pour 
monitorer le rasp . 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Raspberry PI ~ 15 : Créer sa propre prise radio 
(et autres périphériques) pour 6€ 
Mercredi, 13 février 2013 
Ce post est le quinzième d’une liste de tutoriels sur le raspberry PI, cliquez ici pour accéder au 
sommaire ! 
Suite à nos précédents tutos sur le Raspberry PI et la domotique contrôlée par radio (et notamment 
le tuto 12), certains d’entre vous m’ont demandé si il n’était pas possible de se passer de prises 
Chacon, d’autres m’ont demandé si des multiprises existaient sur le même principe, quant à moi je 
souhaitais de débarrasser de Chacon pour diverses raisons : 
• Je voudrais, sur le long terme, personnaliser le protocole radio (inclure une notion d’état de 
la prise, en retour de consommation d’énergie etc..) 
• J’aimerais construire de A à Z mon système domotique dans une optique pédagogique 
(100% DIY) 
• J’aimerais ajouter quelques gadgets dans ma prise (pourquoi pas un capteur de température 
ou de consommation de courant ? :D) 
C’est pourquoi nous allons aujourd’hui construire notre propre prototype de prise radio (pouvant 
facilement être transformée en multiprise) commandée par le Raspberry PI 
Année 2014­2015 
Geek
Mohamed Bouhamed To be human you must to be Geek 
Je parle de “prototype” pour une bonne raison, bien que le montage fonctionne parfaitement, il peux 
être amélioré au niveau du “packaging” (boitier). 
Notez bien que vous devez au moins avoir lu le tuto 12 pour comprendre celui ci 
Vous êtes chaud patate pour commencer ? Voyons voir un peu le matos à se procurer 
Le matériel 
Pour aller plus loin, il vous faudra les curieuses bêbêtes suivantes : 
• Votre télécommande chacon OU votre rpi configuré comme dans le tuto 12 
• 1 carte arduino duemilanove(c’est la moins chère 15€) 
• 1 Micro contrôleur ATmega 328-pu avec bootloader inclus(2.55€) (nb:le bootloader inclus 
est important, si vous achetez une puce vierge par mégarde, il faudra la flasher vous même) 
• 1 Résonateur ZTT 16.00mx(1.11€ les 5) 
• 1 Résistance 1.27Ω (brun rouge violet gris rouge) (enfin c’est ce que j’ai pris mais il 
semblerais qu’une 10k convienne mieux. 
• 1 Récepteur RF 433,92 mhz(1.28€ avec l’émetteur dont on ne se servira pas ici) 
• 1 Carte relais 5V 1 canal(1.26€) 
• 1 LED quelconque et sa résistance associée (j’ai pris une led au hasard + résistance 8.21MΩ 
(gris rouge brun doré) ces composants sont optionnels et servent juste de repères visuel lors 
du fonctionnement 
Notez bien que vous n’aurez à Acheter la carte arduino qu’une fois, elle nous servira de 
programmateur pour construire toute nos futures prises, de même, les résonateurs sont par lots de 5 
et nous n’en avons besoin que d’un par prises. 
Vous en aurez donc environ pour 6€ par prises radio par la suite, notez que je ne compte pas l’alim 
(un vieux chargeur de portable récupéré fera l’affaire) ni le boitier (bah oui la vas falloir se 
dépatouiller avec un Tupperware qui traine XD), nous ne faisons pas vraiment ça pour le prix mais 
il faut souligner qu’on y gagne quand même par rapport au commerce (d’autant qu’il est possible de 
faire des multiprises avec ce montage et donc de réduire encore le cout par prises, on peux aussi 
remplacer/supprimer certains composants en bricolant (suppression du résonateur,remplacement de 
l’atmega par une Attiny etc..) mais je vais pas tout vous faire non plus :p). 
Attends attends…C’est quoi ton Arduino la ? 
Dans ce tuto nous introduirons les carte de programmation “Arduino” et leurs micro contrôleur 
Atmega qui nous permettrons de créer tous nos périphériques à bas cout sans avoir à acheter un 
raspberry à chaque fois ^^. 
Petite explication rapide sur l’arduino donc 
Année 2014­2015 
Geek
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi
 raspberry pi

More Related Content

What's hot

Traitement d'image sous Matlab
Traitement d'image sous Matlab  Traitement d'image sous Matlab
Traitement d'image sous Matlab Hajer Dahech
 
Intelligence artificielle et robotique
Intelligence artificielle et robotiqueIntelligence artificielle et robotique
Intelligence artificielle et robotiqueSKYWARE COMPAGNY
 
Intelligence artificielle etroite introduction
Intelligence artificielle etroite introductionIntelligence artificielle etroite introduction
Intelligence artificielle etroite introductionSmals
 
Programmation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationProgrammation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationECAM Brussels Engineering School
 
Conception et réalisation d’un MINI SMART HOME
Conception et réalisation  d’un MINI SMART HOMEConception et réalisation  d’un MINI SMART HOME
Conception et réalisation d’un MINI SMART HOMESoukainawarach
 
raspberry pi and robots
raspberry pi and robotsraspberry pi and robots
raspberry pi and robotschikkujacob
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionInes Ouaz
 
Tp1 architecture m.zarboubi
Tp1 architecture m.zarboubiTp1 architecture m.zarboubi
Tp1 architecture m.zarboubiMOHAMED ZARBOUBI
 
Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Hajer Dahech
 
Installation d’un système de vidéosurveillance
Installation d’un système de vidéosurveillanceInstallation d’un système de vidéosurveillance
Installation d’un système de vidéosurveillanceLassaad BENSAAD
 
Rapport PFE DOUIEB_HMIDANI
Rapport PFE DOUIEB_HMIDANIRapport PFE DOUIEB_HMIDANI
Rapport PFE DOUIEB_HMIDANIOtmaneDouieb
 
Cours #9 L'Internet des objets
Cours #9 L'Internet des objetsCours #9 L'Internet des objets
Cours #9 L'Internet des objetsAlexandre Moussier
 
Programmation de systèmes embarqués : Systèmes temps réel et PRUSS
Programmation de systèmes embarqués : Systèmes temps réel et PRUSSProgrammation de systèmes embarqués : Systèmes temps réel et PRUSS
Programmation de systèmes embarqués : Systèmes temps réel et PRUSSECAM Brussels Engineering School
 

What's hot (20)

Traitement d'image sous Matlab
Traitement d'image sous Matlab  Traitement d'image sous Matlab
Traitement d'image sous Matlab
 
Réseau lora
Réseau loraRéseau lora
Réseau lora
 
Intelligence artificielle et robotique
Intelligence artificielle et robotiqueIntelligence artificielle et robotique
Intelligence artificielle et robotique
 
Intelligence artificielle etroite introduction
Intelligence artificielle etroite introductionIntelligence artificielle etroite introduction
Intelligence artificielle etroite introduction
 
Programmation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communicationProgrammation de systèmes embarqués : Bus et périphériques de communication
Programmation de systèmes embarqués : Bus et périphériques de communication
 
Conception et réalisation d’un MINI SMART HOME
Conception et réalisation  d’un MINI SMART HOMEConception et réalisation  d’un MINI SMART HOME
Conception et réalisation d’un MINI SMART HOME
 
raspberry pi and robots
raspberry pi and robotsraspberry pi and robots
raspberry pi and robots
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correction
 
Tp1 architecture m.zarboubi
Tp1 architecture m.zarboubiTp1 architecture m.zarboubi
Tp1 architecture m.zarboubi
 
Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32
 
Installation d’un système de vidéosurveillance
Installation d’un système de vidéosurveillanceInstallation d’un système de vidéosurveillance
Installation d’un système de vidéosurveillance
 
Rasp berry Pi
Rasp berry PiRasp berry Pi
Rasp berry Pi
 
Raspberry-Pi
Raspberry-PiRaspberry-Pi
Raspberry-Pi
 
Rapport PFE DOUIEB_HMIDANI
Rapport PFE DOUIEB_HMIDANIRapport PFE DOUIEB_HMIDANI
Rapport PFE DOUIEB_HMIDANI
 
Internet Of Things
Internet Of Things Internet Of Things
Internet Of Things
 
DSP
DSPDSP
DSP
 
Automatisation de la génération des cartes couverture des réseaux mobiles Par...
Automatisation de la génération des cartes couverture des réseaux mobiles Par...Automatisation de la génération des cartes couverture des réseaux mobiles Par...
Automatisation de la génération des cartes couverture des réseaux mobiles Par...
 
Cours #9 L'Internet des objets
Cours #9 L'Internet des objetsCours #9 L'Internet des objets
Cours #9 L'Internet des objets
 
Programmation de systèmes embarqués : Systèmes temps réel et PRUSS
Programmation de systèmes embarqués : Systèmes temps réel et PRUSSProgrammation de systèmes embarqués : Systèmes temps réel et PRUSS
Programmation de systèmes embarqués : Systèmes temps réel et PRUSS
 
Présentation pfe finale
Présentation pfe finalePrésentation pfe finale
Présentation pfe finale
 

Viewers also liked

Présentation Raspberry Pi (cocoaheads remix)
Présentation Raspberry Pi (cocoaheads remix)Présentation Raspberry Pi (cocoaheads remix)
Présentation Raspberry Pi (cocoaheads remix)Arnaud Boudou
 
Sophia conf 2013 - Le monde du Raspberry
Sophia conf 2013 - Le monde du RaspberrySophia conf 2013 - Le monde du Raspberry
Sophia conf 2013 - Le monde du RaspberryNicolas Hennion
 
Gateway d’un système de monitoring
Gateway d’un système de monitoringGateway d’un système de monitoring
Gateway d’un système de monitoringGhassen Chaieb
 
Hacker son appareil photo avec des outils libres
Hacker son appareil photo avec des outils libresHacker son appareil photo avec des outils libres
Hacker son appareil photo avec des outils libresRobert Viseur
 
Présentation Projet de fin d'année
Présentation Projet de fin d'annéePrésentation Projet de fin d'année
Présentation Projet de fin d'annéeYassine DAHMANE
 
Formation Infoagri 05092008 Lt
Formation Infoagri 05092008 LtFormation Infoagri 05092008 Lt
Formation Infoagri 05092008 Ltmorenoperalto
 
Android presentation
Android presentationAndroid presentation
Android presentationElyes Naouar
 
Rapport stage IP-MSAN Tunisie télécom
Rapport stage IP-MSAN Tunisie télécomRapport stage IP-MSAN Tunisie télécom
Rapport stage IP-MSAN Tunisie télécomSiwar GUEMRI
 
Raspberry pi : an introduction
Raspberry pi : an introductionRaspberry pi : an introduction
Raspberry pi : an introductionLTG Oxford
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaNazih Heni
 
I don't always write reactive application but when I do, it run on raspberry pi
I don't always write reactive application but when I do, it run on raspberry piI don't always write reactive application but when I do, it run on raspberry pi
I don't always write reactive application but when I do, it run on raspberry piadelegue
 
Rapport Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatiqueHicham Ben
 
La whistlebox - présentation
La whistlebox - présentationLa whistlebox - présentation
La whistlebox - présentationMehdi Guiraud
 
[JS Kongress 2016] KittyCam.js - Raspberry Pi Camera w/ Cat Facial Detection
[JS Kongress 2016] KittyCam.js - Raspberry Pi Camera w/ Cat Facial Detection[JS Kongress 2016] KittyCam.js - Raspberry Pi Camera w/ Cat Facial Detection
[JS Kongress 2016] KittyCam.js - Raspberry Pi Camera w/ Cat Facial DetectionTomomi Imura
 

Viewers also liked (20)

Présentation Raspberry Pi (cocoaheads remix)
Présentation Raspberry Pi (cocoaheads remix)Présentation Raspberry Pi (cocoaheads remix)
Présentation Raspberry Pi (cocoaheads remix)
 
Sophia conf 2013 - Le monde du Raspberry
Sophia conf 2013 - Le monde du RaspberrySophia conf 2013 - Le monde du Raspberry
Sophia conf 2013 - Le monde du Raspberry
 
Gateway d’un système de monitoring
Gateway d’un système de monitoringGateway d’un système de monitoring
Gateway d’un système de monitoring
 
Athos grenoble
Athos grenobleAthos grenoble
Athos grenoble
 
Hacker son appareil photo avec des outils libres
Hacker son appareil photo avec des outils libresHacker son appareil photo avec des outils libres
Hacker son appareil photo avec des outils libres
 
Présentation Projet de fin d'année
Présentation Projet de fin d'annéePrésentation Projet de fin d'année
Présentation Projet de fin d'année
 
Raspberry
RaspberryRaspberry
Raspberry
 
Formation Infoagri 05092008 Lt
Formation Infoagri 05092008 LtFormation Infoagri 05092008 Lt
Formation Infoagri 05092008 Lt
 
Android presentation
Android presentationAndroid presentation
Android presentation
 
Rapport stage IP-MSAN Tunisie télécom
Rapport stage IP-MSAN Tunisie télécomRapport stage IP-MSAN Tunisie télécom
Rapport stage IP-MSAN Tunisie télécom
 
Raspberry pi : an introduction
Raspberry pi : an introductionRaspberry pi : an introduction
Raspberry pi : an introduction
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédia
 
Les systèmes embarqués arduino
Les systèmes embarqués arduinoLes systèmes embarqués arduino
Les systèmes embarqués arduino
 
I don't always write reactive application but when I do, it run on raspberry pi
I don't always write reactive application but when I do, it run on raspberry piI don't always write reactive application but when I do, it run on raspberry pi
I don't always write reactive application but when I do, it run on raspberry pi
 
Rapport Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatique
 
Présentation des IoT
Présentation des IoTPrésentation des IoT
Présentation des IoT
 
Facedetect
FacedetectFacedetect
Facedetect
 
RaspberryPiPresentation
RaspberryPiPresentationRaspberryPiPresentation
RaspberryPiPresentation
 
La whistlebox - présentation
La whistlebox - présentationLa whistlebox - présentation
La whistlebox - présentation
 
[JS Kongress 2016] KittyCam.js - Raspberry Pi Camera w/ Cat Facial Detection
[JS Kongress 2016] KittyCam.js - Raspberry Pi Camera w/ Cat Facial Detection[JS Kongress 2016] KittyCam.js - Raspberry Pi Camera w/ Cat Facial Detection
[JS Kongress 2016] KittyCam.js - Raspberry Pi Camera w/ Cat Facial Detection
 

Similar to raspberry pi

Monter son pc pour les nuls
Monter son pc pour les nulsMonter son pc pour les nuls
Monter son pc pour les nulsYoussef Bensafi
 
My trafficlights - Mets le feu avec ton Ruby
My trafficlights - Mets le feu avec  ton RubyMy trafficlights - Mets le feu avec  ton Ruby
My trafficlights - Mets le feu avec ton RubyNicolas Ledez
 
Easy Hard(ware) with Arduino
Easy Hard(ware) with ArduinoEasy Hard(ware) with Arduino
Easy Hard(ware) with ArduinoYannick CHIRON
 
Programmez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdf
Programmez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdfProgrammez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdf
Programmez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdflaminemhamed
 
CWIN17 Morocco / IoT - arduino, the brain knot rachid el ayadi
CWIN17 Morocco / IoT - arduino, the brain knot rachid el ayadiCWIN17 Morocco / IoT - arduino, the brain knot rachid el ayadi
CWIN17 Morocco / IoT - arduino, the brain knot rachid el ayadiCapgemini
 
Kit de survie pour l'IoT façon DIY
Kit de survie pour l'IoT façon DIYKit de survie pour l'IoT façon DIY
Kit de survie pour l'IoT façon DIYlaurenthuet
 
Hacking your Home @bdx.io
Hacking your Home @bdx.ioHacking your Home @bdx.io
Hacking your Home @bdx.iolaurenthuet
 
Réalité virtuelle + Open source = &lt;3
Réalité virtuelle + Open source = &lt;3Réalité virtuelle + Open source = &lt;3
Réalité virtuelle + Open source = &lt;3Yannick Comte
 
The iTronics Internet of things Workshop 27-05-2017 - get started
The iTronics Internet of things Workshop 27-05-2017 - get startedThe iTronics Internet of things Workshop 27-05-2017 - get started
The iTronics Internet of things Workshop 27-05-2017 - get startedRomaric Saounde Tsopnang
 
Présentation Arduino
Présentation ArduinoPrésentation Arduino
Présentation ArduinoArnaud Boudou
 
Vente P Business Multimédia Pas Cher
Vente P Business Multimédia Pas Cher
Vente P Business Multimédia Pas Cher
Vente P Business Multimédia Pas Cher supremeinstinct54
 
Support formation vidéo : Prototypage Matlab et Raspberry Pi
Support formation vidéo : Prototypage Matlab et Raspberry Pi Support formation vidéo : Prototypage Matlab et Raspberry Pi
Support formation vidéo : Prototypage Matlab et Raspberry Pi SmartnSkilled
 
Architecture et Bonnes pratiques Android #DevoxxFr2016 Part1
Architecture et Bonnes pratiques Android #DevoxxFr2016 Part1Architecture et Bonnes pratiques Android #DevoxxFr2016 Part1
Architecture et Bonnes pratiques Android #DevoxxFr2016 Part1Mathias Seguy
 
2012 11 Toulibre - Open Hardware
2012 11 Toulibre - Open Hardware2012 11 Toulibre - Open Hardware
2012 11 Toulibre - Open HardwareSylvain Wallez
 

Similar to raspberry pi (20)

Le raspberry pi
Le raspberry piLe raspberry pi
Le raspberry pi
 
Raspberry Pi: Les utilisations
Raspberry Pi: Les utilisationsRaspberry Pi: Les utilisations
Raspberry Pi: Les utilisations
 
Monter son pc pour les nuls
Monter son pc pour les nulsMonter son pc pour les nuls
Monter son pc pour les nuls
 
My trafficlights - Mets le feu avec ton Ruby
My trafficlights - Mets le feu avec  ton RubyMy trafficlights - Mets le feu avec  ton Ruby
My trafficlights - Mets le feu avec ton Ruby
 
Easy Hard(ware) with Arduino
Easy Hard(ware) with ArduinoEasy Hard(ware) with Arduino
Easy Hard(ware) with Arduino
 
Programmez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdf
Programmez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdfProgrammez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdf
Programmez un Raspberry Pi - Initiation avec Python (Simon Monk) (z-lib.org).pdf
 
SAPIENS2009 - Module 2
SAPIENS2009 - Module 2SAPIENS2009 - Module 2
SAPIENS2009 - Module 2
 
Supports de stockage
Supports de stockageSupports de stockage
Supports de stockage
 
Nicolas's hacks
Nicolas's hacksNicolas's hacks
Nicolas's hacks
 
CWIN17 Morocco / IoT - arduino, the brain knot rachid el ayadi
CWIN17 Morocco / IoT - arduino, the brain knot rachid el ayadiCWIN17 Morocco / IoT - arduino, the brain knot rachid el ayadi
CWIN17 Morocco / IoT - arduino, the brain knot rachid el ayadi
 
Kit de survie pour l'IoT façon DIY
Kit de survie pour l'IoT façon DIYKit de survie pour l'IoT façon DIY
Kit de survie pour l'IoT façon DIY
 
Hacking your Home @bdx.io
Hacking your Home @bdx.ioHacking your Home @bdx.io
Hacking your Home @bdx.io
 
Réalité virtuelle + Open source = &lt;3
Réalité virtuelle + Open source = &lt;3Réalité virtuelle + Open source = &lt;3
Réalité virtuelle + Open source = &lt;3
 
The iTronics Internet of things Workshop 27-05-2017 - get started
The iTronics Internet of things Workshop 27-05-2017 - get startedThe iTronics Internet of things Workshop 27-05-2017 - get started
The iTronics Internet of things Workshop 27-05-2017 - get started
 
Raspberry PI Guide
Raspberry PI GuideRaspberry PI Guide
Raspberry PI Guide
 
Présentation Arduino
Présentation ArduinoPrésentation Arduino
Présentation Arduino
 
Vente P Business Multimédia Pas Cher
Vente P Business Multimédia Pas Cher
Vente P Business Multimédia Pas Cher
Vente P Business Multimédia Pas Cher
 
Support formation vidéo : Prototypage Matlab et Raspberry Pi
Support formation vidéo : Prototypage Matlab et Raspberry Pi Support formation vidéo : Prototypage Matlab et Raspberry Pi
Support formation vidéo : Prototypage Matlab et Raspberry Pi
 
Architecture et Bonnes pratiques Android #DevoxxFr2016 Part1
Architecture et Bonnes pratiques Android #DevoxxFr2016 Part1Architecture et Bonnes pratiques Android #DevoxxFr2016 Part1
Architecture et Bonnes pratiques Android #DevoxxFr2016 Part1
 
2012 11 Toulibre - Open Hardware
2012 11 Toulibre - Open Hardware2012 11 Toulibre - Open Hardware
2012 11 Toulibre - Open Hardware
 

More from TECOS

Bouhamed vuejs-meetup-tecos
Bouhamed vuejs-meetup-tecosBouhamed vuejs-meetup-tecos
Bouhamed vuejs-meetup-tecosTECOS
 
D3 js-last
D3 js-lastD3 js-last
D3 js-lastTECOS
 
Summer internship
Summer internshipSummer internship
Summer internshipTECOS
 
Mohamed bouhamed - ccna2
Mohamed bouhamed  - ccna2Mohamed bouhamed  - ccna2
Mohamed bouhamed - ccna2TECOS
 
Mohamed bouhamed - ccna1
Mohamed bouhamed  -  ccna1Mohamed bouhamed  -  ccna1
Mohamed bouhamed - ccna1TECOS
 
Mobile certified
Mobile certifiedMobile certified
Mobile certifiedTECOS
 
Analytics certified
Analytics certifiedAnalytics certified
Analytics certifiedTECOS
 
Ad words certified
Ad words certifiedAd words certified
Ad words certifiedTECOS
 
Télémétrie d’openstack
Télémétrie d’openstackTélémétrie d’openstack
Télémétrie d’openstackTECOS
 
cloudu certification
cloudu certificationcloudu certification
cloudu certificationTECOS
 
Internship report
Internship reportInternship report
Internship reportTECOS
 
Gsm presntation
Gsm presntationGsm presntation
Gsm presntationTECOS
 
Td gsm iit
Td gsm iitTd gsm iit
Td gsm iitTECOS
 
Complément réseaux informatiques
Complément réseaux informatiquesComplément réseaux informatiques
Complément réseaux informatiquesTECOS
 
Cours réseauxs gsm
Cours réseauxs gsmCours réseauxs gsm
Cours réseauxs gsmTECOS
 
Cours sécurité 2_asr
Cours sécurité 2_asrCours sécurité 2_asr
Cours sécurité 2_asrTECOS
 
chapitre 1
chapitre 1chapitre 1
chapitre 1TECOS
 
Serveur web iit_asr_p2i
Serveur web iit_asr_p2iServeur web iit_asr_p2i
Serveur web iit_asr_p2iTECOS
 
Examen
Examen Examen
Examen TECOS
 

More from TECOS (20)

Bouhamed vuejs-meetup-tecos
Bouhamed vuejs-meetup-tecosBouhamed vuejs-meetup-tecos
Bouhamed vuejs-meetup-tecos
 
D3 js-last
D3 js-lastD3 js-last
D3 js-last
 
Mta
MtaMta
Mta
 
Summer internship
Summer internshipSummer internship
Summer internship
 
Mohamed bouhamed - ccna2
Mohamed bouhamed  - ccna2Mohamed bouhamed  - ccna2
Mohamed bouhamed - ccna2
 
Mohamed bouhamed - ccna1
Mohamed bouhamed  -  ccna1Mohamed bouhamed  -  ccna1
Mohamed bouhamed - ccna1
 
Mobile certified
Mobile certifiedMobile certified
Mobile certified
 
Analytics certified
Analytics certifiedAnalytics certified
Analytics certified
 
Ad words certified
Ad words certifiedAd words certified
Ad words certified
 
Télémétrie d’openstack
Télémétrie d’openstackTélémétrie d’openstack
Télémétrie d’openstack
 
cloudu certification
cloudu certificationcloudu certification
cloudu certification
 
Internship report
Internship reportInternship report
Internship report
 
Gsm presntation
Gsm presntationGsm presntation
Gsm presntation
 
Td gsm iit
Td gsm iitTd gsm iit
Td gsm iit
 
Complément réseaux informatiques
Complément réseaux informatiquesComplément réseaux informatiques
Complément réseaux informatiques
 
Cours réseauxs gsm
Cours réseauxs gsmCours réseauxs gsm
Cours réseauxs gsm
 
Cours sécurité 2_asr
Cours sécurité 2_asrCours sécurité 2_asr
Cours sécurité 2_asr
 
chapitre 1
chapitre 1chapitre 1
chapitre 1
 
Serveur web iit_asr_p2i
Serveur web iit_asr_p2iServeur web iit_asr_p2i
Serveur web iit_asr_p2i
 
Examen
Examen Examen
Examen
 

Recently uploaded

rapport stage OCP : Elaboration plan des machines : La machine stockeuse et ...
rapport stage OCP : Elaboration plan des machines :  La machine stockeuse et ...rapport stage OCP : Elaboration plan des machines :  La machine stockeuse et ...
rapport stage OCP : Elaboration plan des machines : La machine stockeuse et ...NiHad27
 
webinaire eBIS n°9 La génétique du Méthane_01_20240321_DBoichard_contexte.pdf
webinaire eBIS n°9 La génétique du Méthane_01_20240321_DBoichard_contexte.pdfwebinaire eBIS n°9 La génétique du Méthane_01_20240321_DBoichard_contexte.pdf
webinaire eBIS n°9 La génétique du Méthane_01_20240321_DBoichard_contexte.pdfInstitut de l'Elevage - Idele
 
webinaire eBIS n°9 La génétique du Méthane_02_20240321_SFresco_Methabreed.pdf
webinaire eBIS n°9 La génétique du Méthane_02_20240321_SFresco_Methabreed.pdfwebinaire eBIS n°9 La génétique du Méthane_02_20240321_SFresco_Methabreed.pdf
webinaire eBIS n°9 La génétique du Méthane_02_20240321_SFresco_Methabreed.pdfInstitut de l'Elevage - Idele
 
QCM Réseaux informatique V19.02.2017.pdf
QCM Réseaux informatique V19.02.2017.pdfQCM Réseaux informatique V19.02.2017.pdf
QCM Réseaux informatique V19.02.2017.pdfAyoub893663
 
webinaire eBIS n°9 La génétique du Méthane_03_20240321_JPromp_presentation_Mé...
webinaire eBIS n°9 La génétique du Méthane_03_20240321_JPromp_presentation_Mé...webinaire eBIS n°9 La génétique du Méthane_03_20240321_JPromp_presentation_Mé...
webinaire eBIS n°9 La génétique du Méthane_03_20240321_JPromp_presentation_Mé...Institut de l'Elevage - Idele
 
2021 - Rapport STAGE BASSAM 4eme GEII ULT
2021 - Rapport STAGE BASSAM 4eme GEII ULT2021 - Rapport STAGE BASSAM 4eme GEII ULT
2021 - Rapport STAGE BASSAM 4eme GEII ULTBassamRhouma
 
2022-PRESENTATION DE PROJET FIN D'ETUDE-REHOUMA BASSEM.pptx
2022-PRESENTATION DE PROJET FIN D'ETUDE-REHOUMA BASSEM.pptx2022-PRESENTATION DE PROJET FIN D'ETUDE-REHOUMA BASSEM.pptx
2022-PRESENTATION DE PROJET FIN D'ETUDE-REHOUMA BASSEM.pptxBassamRhouma
 

Recently uploaded (7)

rapport stage OCP : Elaboration plan des machines : La machine stockeuse et ...
rapport stage OCP : Elaboration plan des machines :  La machine stockeuse et ...rapport stage OCP : Elaboration plan des machines :  La machine stockeuse et ...
rapport stage OCP : Elaboration plan des machines : La machine stockeuse et ...
 
webinaire eBIS n°9 La génétique du Méthane_01_20240321_DBoichard_contexte.pdf
webinaire eBIS n°9 La génétique du Méthane_01_20240321_DBoichard_contexte.pdfwebinaire eBIS n°9 La génétique du Méthane_01_20240321_DBoichard_contexte.pdf
webinaire eBIS n°9 La génétique du Méthane_01_20240321_DBoichard_contexte.pdf
 
webinaire eBIS n°9 La génétique du Méthane_02_20240321_SFresco_Methabreed.pdf
webinaire eBIS n°9 La génétique du Méthane_02_20240321_SFresco_Methabreed.pdfwebinaire eBIS n°9 La génétique du Méthane_02_20240321_SFresco_Methabreed.pdf
webinaire eBIS n°9 La génétique du Méthane_02_20240321_SFresco_Methabreed.pdf
 
QCM Réseaux informatique V19.02.2017.pdf
QCM Réseaux informatique V19.02.2017.pdfQCM Réseaux informatique V19.02.2017.pdf
QCM Réseaux informatique V19.02.2017.pdf
 
webinaire eBIS n°9 La génétique du Méthane_03_20240321_JPromp_presentation_Mé...
webinaire eBIS n°9 La génétique du Méthane_03_20240321_JPromp_presentation_Mé...webinaire eBIS n°9 La génétique du Méthane_03_20240321_JPromp_presentation_Mé...
webinaire eBIS n°9 La génétique du Méthane_03_20240321_JPromp_presentation_Mé...
 
2021 - Rapport STAGE BASSAM 4eme GEII ULT
2021 - Rapport STAGE BASSAM 4eme GEII ULT2021 - Rapport STAGE BASSAM 4eme GEII ULT
2021 - Rapport STAGE BASSAM 4eme GEII ULT
 
2022-PRESENTATION DE PROJET FIN D'ETUDE-REHOUMA BASSEM.pptx
2022-PRESENTATION DE PROJET FIN D'ETUDE-REHOUMA BASSEM.pptx2022-PRESENTATION DE PROJET FIN D'ETUDE-REHOUMA BASSEM.pptx
2022-PRESENTATION DE PROJET FIN D'ETUDE-REHOUMA BASSEM.pptx
 

raspberry pi

  • 1. Mohamed Bouhamed To be human you must to be Geek Raspberry PI & Arduino, domotique, robotique, et pleins de trucs en “ique” Année 2014­2015 Geek
  • 2. Mohamed Bouhamed To be human you must to be Geek Sommaire : • Raspberry PI ~ 01 : Présentation • Raspberry PI ~ 02 : Exploration technique • Raspberry PI ~ 03 : Brancher et installer le Raspberry PI • Raspberry PI ~ 04 : Configurer en serveur • Raspberry PI ~ 05 : Protéger notre précieux • Raspberry PI ~ 06 : Utiliser le GPIO et Interagir avec le monde réel • Raspberry PI ~ 07 : Allumer/éteindre une vraie lampe OU comment faire de la domotique low cost. • Raspberry PI ~ 08 : Jouer avec les ondes radio • Raspberry PI ~ 09 : Créer une interface vocale • Raspberry PI ~ 10 : Commander le raspberry Pi par radio • Raspberry PI ~ 11 : Relier à un écran et afficher du texte • Raspberry PI ~ 12 : Allumer des prises à distance • Raspberry PI ~ 13 : Détecter l’ouverture des portes et fenêtres • Raspberry PI ~ 14 : Surveiller les performances du rpi depuis le web • Raspberry PI ~ 15 : Créer sa propre prise radio (et autres périphériques) pour 6€ • Raspberry PI ~ 16 : Mieux comprendre les pins avec Raspin’s • Raspberry PI ~ 17 : Un mini écran pour 2 2€ • Raspberry PI ~ 18 : Construire une sonde de température radio pour 7 € • Raspberry PI ~ 19 : Optimisation, trucs & Astuces • Raspberry PI ~ 20 : Créer un tableau de bord connecté au net (ou comment augmenter le nombre de GPIO) • Raspberry PI ~ 21 : Yana, un nouveau coeur domotique • Raspberry PI ~ 22 : Créer une porte domotique (Partie 1) • Raspberry PI ~ 23 : Créer une porte domotique (Partie 2) Année 2014­2015 Geek
  • 3. Mohamed Bouhamed To be human you must to be Geek Raspberry PI ~ 01 : Présentation: Vous est il déjà arrivé de désirer ardemment quelque chose sans réellement savoir quelle utilisation vous en feriez ? C’est mon gros problème avec le raspberry pi… Le raspberry pi c’est quoi? Le raspberry Pi c’est, pour faire court, un pc de la taille d’une carte de crédit, pouvant supporter une distribution linux, pour le prix de …30 euros (+-10€). Le pi dispose de nombreux port/prises/capteurs , usb, ethernet, bluetooth … Vous l’aurez compris, les applications de ce genre de matos sont nombreuses (et peu coûteuses) d’ou l’objet de ma convoitise, et celle de quelques centaine de milliers de geeks. Imaginez les applications que vous pourriez faire d’un mini serveur dédié portable à 30€ !! Domotique : installer des serveur raspberry sur chaque machine Electroménager et contrôler chaque serveur depuis sont réseaux. Itinérance : Avoir dans son porte monnaie à chaque instant un serveur de fichiers accessible par wifi, et pourquoi pas via une solution logicielle échanger ces fichiers automatiquement avec tous les raspberry environnants. Piratage : The pirate bay pense même à fixer ce genre de matos sur des ballons stratosphériques pour mettre à l’abri ses torrents de la juridiction (évidemment c’est une joke de l’admin, mais je trouve le concept presque viable si on ne tient pas compte de l’autonomie, des variations climatiques, des volatiles, de la couverture réseau…) Année 2014­2015 Geek
  • 4. Mohamed Bouhamed To be human you must to be Geek Evidemment, “recette victime de sont succès” comme dirais McDonald, l’achat est indisponible depuis février et ça me rend ma-la-de !! Mais il y a pire… toute une communauté s’est déjà fondée sur le pi, des tas de programmes, plugins, trip and tricks existent déjà… certains ont même inventé un magnifique boîtier : J’en veux j’en veux j’en veux !!!! Année 2014­2015 Geek
  • 5. Mohamed Bouhamed To be human you must to be Geek Raspberry PI ~ 02 : Exploration technique commander cette merveille à l’adresse suivante : http://downloads.element14.com/raspberryPi1.html?isRedirect=true Voyons un peu ce que contient la ptite boite, après moultes déballages : Oaaaaw une carte électronique avec plein de bitoniaux, des prises partout et … Année 2014­2015 Geek
  • 6. Mohamed Bouhamed To be human you must to be Geek pas de câble associé arrrgghh… bon, je m’y attendais, les câbles (et la mémoire) sont à acheter à part, donc je fais un petit tour sur amazone et j’achète les éléments suivants : Je m’en tire pour 52 € afin d’acheter un câble Ethernet pour relier l’engin au net, une carte SD qui fera office de mémoire morte sur la machine, un câble hdmi/VGA(DVI, c’est plus sûr) permettant de connecter mes écrans au raspberry et un switch USB histoire de pouvoir brancher simultanément souris, clavier etc… (bien que le raspberry semble disposer de deux ports par défaut au lieu de l’unique port USB que j’attendais). Je devrais également acheter un câble micro USB (à 3€) pour me servir d’alim (attention, le câble devrat être alimenté en 5V pour fonctionner avec le raspberry), mais il me semble que j’en ai déjà un qui traîne (c’est sensiblement les même que pour nos smartphones). Bon, 30€ de raspberry + 52€ de fourniture = 82€ dans la vue, ça fait un peu cher mais je me dis que les fournitures peuvent être utilisé pour autre chose dans tous les cas (jme rassure ^^) et que je ne devrait rien acheter de plus (a part peut être boîtier stylé à 8€ si je craque). Année 2014­2015 Geek
  • 7. Mohamed Bouhamed To be human you must to be Geek En attendant mes fournitures, faisons un peu le tour de l’engin en lui même : Une face comportant un simple port HDMI, c’est donc pour la vidéo, et c’est donc la que je brancherais mon câble HDMI/VGA fraichement commandé et je relierais l’autre bout à mon écran (jusqu’ici, ça m’a l’air simple), rien d’autre à signaler de ce côté, tournons un peu la carte… Sur cette autre face, nous avons de gauche a droite : une sortie audio stéréo Jack 3,5 mm pour l’audio (personnellement je ne compte pas utiliser le raspberry comme centre multimédia donc je m’en tape), un port jaunâtre que je ne connais pas mais qui est visiblement un port vidéo analogique, donc utile uniquement si vous souhaitez relier le raspberry à votre vielle TV cathodique (useless) et une série de broches GPIO… Gnié? Gépéyo quoi? Les broches GPIO sont des ports d’entrée/sortie très utilisés dans le monde des microcontrôleurs, ils vous serviront ici uniquement si vous êtes un peu calé en électronique et que vous souhaitez raccorder le raspberry pi par exemple a une lumière ou a un interrupteur (peut être très intéressant si vous voulez faire de la domotique à pas cher dans votre maison). Année 2014­2015 Geek
  • 8. Mohamed Bouhamed To be human you must to be Geek Voir une petite vidéo ici : http://www.raspberrypi.org/archives/1417 Si vous n’avez rien compris à cette histoire de broches, ce n’est pas bien grave vous pourrez quand même profiter de votre raspberry en toute impunité, passons donc à la suite. De gauche à droite : un port Ethernet, c’est donc la que je brancherais le câble Ethernet que j’ai commandé afin de procurer le net au raspberry PI, l’autre bout du câble sera bien entendu branché à ma Freebox. Et enfin… deux magnifique port USB, ou je vais m’empresser de brancher mon switch USB histoire d’avoir 4 ports espacés au lieu de 2 (ben oui clavier+souris+clé wifi+ disque USB éventuel =4 ). La face restante comporte un port micro Usb qui servira à alimenter le raspberry (via le câble micro USB que je n’ai d’ailleurs pas acheté parce que je dois en avoir une vingtaine). Enfin dernière petite chose : Sous la carte se trouve un petit compartiment pour placer la fameuse carte SD que nous avons commandé (8 Go minimum recommandés). Je pense n’avoir rien oublié à part peux être le connecteur CSI (qui semble être utilisé dans le milieu de la vidéo) et le connecteur DSI (qui visiblement permet de brancher un touch screen si besoin est). Dans un prochain post et d’ici à ce que je reçoive mes fournitures amazones, nous verront comment brancher et installer la distribution linux adéquate (Raspbian “wheezy” , conçue spécifiquement pour raspberry ou la distribution Arch Linux ARM qui fonctionne aussi) sur la carte SD. Année 2014­2015 Geek
  • 9. Mohamed Bouhamed To be human you must to be Geek Raspberry PI ~ 03 : Brancher et installer le Raspberry PI 3 Os possibles à installer Nous allons commencer par installer sur la carte SD (16 go pour moi, 8 go minimum conseillés) le système d’exploitation qui n’est autre qu’une distribution linux. En gros trois distributions possibles : Debian squeeze, ARM Arch linux ou Raspian Visiblement Debian squeeze est le plus simple a prendre en main, malheureusement c’est également le moins optimisé pour le raspberry, donc beaucoup de pertes de perfs, on peux rayer celui la . Ca nous laisse deux Os auxquels je ne connais rien, donc a choisir, autant prendre celui qui a été “spécialement” conçu pour le raspberry j’ai nommé raspian. Je télécharge donc raspian “wheezy” ici : http://www.raspberrypi.org/downloads Pour l’installer sur la carte SD, j’utilise le programme utilitaire Win32DiskImager disponible ici : http://www.softpedia.com/get/CD-DVD-Tools/Data-CD-DVD-Burning/Win32-Disk-Imager.shtml J’exécute Win32DiskImager qui me demande le chemin vers l’image de raspian (.img) ainsi que le lecteur sur lequel je veut l’installer (donc ma carte sd précédemment entrée dans le port SD de mon portable) Un clic sur “write” puis sur “yes” (car un message bien flippant me disant que je pourrais perdre ou corrompre mes données de carte SD est apparus (je m’inquiète pas trop parce que quand même, il faut bien avouer que ladite carte est vierge)). Au bout de quelques secondes (qui vont vous sembler une éternité si vous êtes aussi fébriles que moi) l’os est déployé sur la carte. 1 carte SSD à plugger J’enlève donc la carte SD de mon pc pour la brancher directement sur la prise prévue a cet effet située sous le raspberry. Année 2014­2015 Geek
  • 10. Mohamed Bouhamed To be human you must to be Geek Je peux maintenant passer au branchement de mes câbles pour alimenter la bête :p !! 5 câbles à brancher Dans le sens des aiguilles d’une montre (et en partant du câble le plus haut) nous devons brancher : • Le câbles HDMI (dont l’autre bout sera relié a votre écran par du DVI ou de l’HDMI en fonction du câble et de l’écran que vous avez sous la main) • Le câble micro USB, qui vous servira a alimenter votre raspberry PI (l’autre bout sera donc relié a un port usb de pc ou encore a une prise USB comme celle dont vous disposez pour vos smartphones) • Le câble USB simple, qui sera relié a votre switch USB (vous permettant de multiplier vos ports USB, avec mon switch, je passe de deux a 7 ports, ça fait plaisir :p) • Le câble Ethernet, qui sera relié a votre box ADSL et vous permettra par conséquent d’avoir le net. Année 2014­2015 Geek
  • 11. Mohamed Bouhamed To be human you must to be Geek Une fois le bousin branché et alimenté, une inquiétante lumière rouge s’allume sur le raspberry puis une jaune, puis deux vertes, et la magie opère… …ou pas :p !! En effet chez moi aucun signal vidéo n’est émis. Après quelques recherches, cela viendrait de l’os qui se serait mal installé sur la carte, j’ai donc réinstallé raspian et ça fonctionne. …Et j’ai eu la chance d’obtenir une console de ce type sur mon écran : Année 2014­2015 Geek
  • 12. Mohamed Bouhamed To be human you must to be Geek 1 identifiant en qwerty à taper Login : pi Mot de passe : rqspberry (car votre clavier est en anglais a ce moment précis) ça y est, vous êtes logué sur votre magnifique serveur et pouvez m’envoyer quelques petites commentaires narquois pour me rendre jaloux ^^ Nb: Sur les dernières versions, raspian nous mâche le travail en nous auto-loggant et en nous proposant plein de petites options avec un joli écran de configuration bleu de la mort. Je vous conseille d’aller directement mettre le clavier en azerty (clavier francais) via l’option du tableau configure_keyboard Set keyboard layout. Sélectionnez alors Generic 105-key (intl) PC puis Other puis French puis French puis The default for the keyboard layout puis No compose key puis No (oui je sais c’est vachement long pour un si ptit truc). Votre clavier est donc maintenant normalement en français, n’hésitez pas a rebooter si la modif n’a pas été prise en compte tout de suite. Notez que sur ce panneau bleu de configuration (accessible a tous moment depuis la ligne de commande “sudo raspi­config”) vous avez de nombreuses configurations importantes à faire comme le réglage de la langue du systeme (option change_locale Set locale) le fuseau horaire (option change_timezone Set timezone) etc… Une config qui est importante également c’est le redimensionnement de la partition système, en effet le système prend par défaut la quasi totalité de votre carte SD (ne me demandez pas pourquoi) qu’il n’utilise pas, en redimensionnant cette partition vous regagnez la place injustement pillée par le système. Année 2014­2015 Geek
  • 13. Mohamed Bouhamed To be human you must to be Geek Le panneau de config à aussi pensé à ça et vous propose une option expand_rootfs Expand root partition to fill SD card, (mettez finish ok etc… ) votre système vas alors redémarrer avec bien plus de place à votre disposition. Pas très à l’aise avec la ligne de commande? Quittez l’ecran de config pour arriver sur la console, et tapez startx (ou stqrtx si vous n’avez pas encore changé la config clavier) pour lancer l’interface graphique. C’est quand même vachement plus sympa non ? Dans le prochain tuto, nous verrons comment installer les packages nécessaires pour transformer le raspberry en serveur web. Année 2014­2015 Geek
  • 14. Mohamed Bouhamed To be human you must to be Geek Raspberry PI ~ 04 : Configurer en serveur Maintenant que nous avons installé le système d’exploitation Raspian sur notre Raspberry PI (Raspian n’étant autre qu’une distribution linux spécialement conçue pour le Raspberry PI) et que nous nous sommes logué (sisi, rappelez vous des identifiants par défauts –> login : pi , mot de passe rqspberry) nous allons pouvoir commencer les choses sérieuses !! En premier pensez à changer votre mot de passe administrateur : sudo passwd su 1 sudo passwd su Puis faire un ptit update de vos paquets : sudo apt-get update 12 sudo apt-get update sudo apt-get upgrade Une fois ceci terminé, nous allons installer d’une traite apache (un serveur HTTP permettant de publier du contenu Html sur le web), PHP (langage serveur permettant le traitement dynamique d’informations) et MySQL (une base de donnée). Certains seraient tenté d’installer directement le paquet lamp-server qui englobe tous ces paquets, grossière erreur, le Raspberry ne l’entendrait pas de cette oreille, il vous faut donc installer les paquets séparément (mais en une seule ligne) sudo apt-get install apache2 php5 mysql-server libapache2-mod-php5 php5-mysql 1 sudo apt-get install apache2 php5 mysql-server libapache2-mod-php5 php5-mysql Après quelques petites questions d’usage, votre serveur web est en place, pour le tester rien de plus Année 2014­2015 Geek
  • 15. Mohamed Bouhamed To be human you must to be Geek simple, tapez la commande : ifconfig 1 ifconfig et repérez l’adresse IP réseau de votre Raspberry pi (très certainement une adresse commençant par 192.168.*.*) Tapez cette adresse depuis un autre ordinateur banché sur le même réseaux local et TADDAA!! It works ! nb : si vous n’avez pas d’autres pc sur le réseau, passez en mode graphique sur votre Raspberry PI. startx 1 startx Puis ouvrez le navigateur installé par défaut et tapez l’adresse suivante : http://127.0.0.1 1 http://127.0.0.1 Notez qu’a partir de maintenant, toutes les pages situées dans le dossier /var/www de votre Raspberry PI seront accessibles via l’adresse réseau tapée (uniquement depuis votre réseau) ou via l’adresse WAN (votre adresse extérieure) une fois que vous aurez débloqué le port 80 sur votre box/routeur pour l’adresse réseau du Raspberry. Pour plus d’information sur apache, MySQL et PHP je vous invite a lire la doc d’ubuntu : http://doc.ubuntu-fr.org/lamp nous ne traiterons pas plus en détail de cette partie étant donné qu’il ne s’agit pas de quelque chose de spécifique au Raspberry PI (libre a vous de m’envoyer vos questions par mail ou par commentaires pour ceux qui ne connaissent pas). Je vous conseille également l’installation du célèbre paquet phpMyAdmin, script php permettant de gérer facilement votre base de données MySQL depuis l’adresse http://votre.ip/phpmyadmin : Année 2014­2015 Geek
  • 16. Mohamed Bouhamed To be human you must to be Geek sudo apt-get install phpmyadmin 1 sudo apt-get install phpmyadmin (Le login par défaut est root et le mot de passe est celui que vous avec renseigné lorsque vous avez installé MySQL) Note: L’installation de phpmyadmin ne crée pas le lien symbolique permettant d’accéder à phpmyadmin, il faut alors le créer manuellement : sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin Dans le prochain mini tuto sur le Raspberry PI, nous parlerons boitier pour les riches, et boitiers pour les pauvres (amen) puis dans le suivant nous explorerons (si dieu le veux) la dimension domotique de cet engin a travers la découverte des ports GPIO (enfin si d’ici la je gère un peu plus en électronique, n’oubliez pas que je découvre avec vous ) Année 2014­2015 Geek
  • 17. Mohamed Bouhamed To be human you must to be Geek Raspberry PI ~ 05 : Protéger notre précieux Maintenant que nous disposons d’un raspberry PI en mode serveur fonctionnel, il serait d bon gout de penser à sa pérennité sur le long terme ! En effet un vilain coup de pied, un chat incontinent ou une chérie un peu gaffeuse (spéciale dédicace) est si vite arrivé et notre nouveau gadget (notre précieux) est encore fragile dans son état actuel. C’est pourquoi je dédie cette petite étape de tuto à la présentation des boitiers que vous pouvez acheter ou fabriquer pour l’engin. La communauté raspberry PI étant ce qu’elle est, des boitier spécialement conçu pour le rasp ont vus le jour, et je dois reconnaitre qu’ils font propre : Le plus coloré : Pibow Pibow est un ensemble de couches colorées a assembler sois même, vendu entre 15£ et 20£ selon l’endroit ou vous habitez (frais de ports variables), pour les ptit frenchies, ce sera 17.95£ Le gros avantage selon moi, c’est le couvercle transparent qui laisse une bonne visibilité sur le circuit imprimé à tout moment, le jeux de couleurs peut être disgracieux ou carrément avantageux selon vos penchants sexuels (blague, pas taper !! ). nb : Le boitier prévoit également des extensions pour les modules de caméra etc… et semble vouloir s’adapter aux futures évolution du rasp, bon point ! Le site de commande : http://www.pibow.com/ Le plus “pro” : Standard case for raspberry PI Année 2014­2015 Geek
  • 18. Mohamed Bouhamed To be human you must to be Geek Ce boitier vous offrira pour la modique somme de 25.51€ quelque chose de tout à fait propre et légèrement plus sobre que le précédent . Il est également disponible en semi opaque mais pas de quoi casser trois pattes à un canard. L’avantage de ce boitier étant qu’il est assez simple a monter (deux parties a emboiter l’une dans l’autres) les manches du bricolages s’orienterons donc plus sur cette solution. Le site de commande :http://www.shapeways.com/model/565087/raspberry-pi-standard-case.html Le plus “design” : Raspberry design case Ce boitier semble être du même constructeur et offre un côté un peu plus “design” et réfléchis que son prédécesseur pour 32.75€. Les avantages que j’y vois au premier coup d’oeil, c’est qu’ils ont prévus pas mal d’aérations ainsi qu’un relais optique pour chacune des LED du raspberry PI. La version existe aussi en noir et en semi opaque. Je pense qu’il s’agit du boitier le plus adapté au raspberry, c’est en conséquence le plus cher. Le plus ”populaire” : ModMyPI Année 2014­2015 Geek
  • 19. Mohamed Bouhamed To be human you must to be Geek ModMyPI est une entrée de gamme qui a pour avantage de vous fournir un boitier “solide” (vous comprendrez avec le prochain boitier) pour une somme relativement réduite de 7.99£ A noter que si il est un peu moins design que les autres, il existe également en blanc, rouge, vert, bleu, gris, bicolor etc etc… Toutes les déclinaisons ici : https://www.modmypi.com/shop/raspberry-pi-cases Le plus ‘”low cost” : Punnet Punnet à ceci d’avantageux qu’il s’agit en fait d’un origami a plier sois même selon le patron suivant : http://squareitround.co.uk/Resources/Punnet_net_Mk1.pdf . Il ne vous coutera rien a l’exception d’une feuille cartonnée (perso je vais tenter de prendre un truc plastifié également). L’avantage est tout trouvé, c’est du gratuit et pour un prototype de test de rasp, ça me conviendras très bien , d’autant que nous aurons peut être a investir encore 30 € dans une carte d’extensions pour ceux qui me suivront dans la partie domotique donc autant faire des économies de bout de ficelles. C’est tout pour aujourd’hui, évidemment nous n’avons fait qu’un tour d’horizon, il existe évidemment d’autres boîtiers, mais je vous laisse un peu chercher histoire de vous faire vos propres avis sur la question (et puis j’ai la flemme de tous les répertorier ici). Nb : Avec le raspberry PI, tout est permis, faites fonctionner votre imagination, certains n’ont pas attendus pour construire leurs propre boitiers de Rasp et je dois reconnaitre que ça dégomme tout ! Dans le prochain tuto, nous nous initierons à la maitrise des PIN GPIO (les petites broches sur un Année 2014­2015 Geek
  • 20. Mohamed Bouhamed To be human you must to be Geek coin de la cartes) afin d’aborder la partie domotique, il faudra être indulgent, je découvre en même temps que vous, et l’électronique n’est pas du tout mon fort (d’ailleurs si certains de vous s’y connaissent un peu, qu’ils n’hésitent pas à me contacter). Année 2014­2015 Geek
  • 21. Mohamed Bouhamed To be human you must to be Geek Raspberry PI ~ 06 : Utiliser le GPIO et Interagir avec le monde réel Chez lecteurs (lectrices) nous arrivons à la partie la plus intéressante, selon moi, de l’utilisation du raspberry PI. Il s’agit de l’utilisation des ports GPIO (les 26 broches situées en haut a droite de votre raspberry). Cela ne vous évoque rien ? Et bien dites vous qu’il s’agit simplement d’une porte permettant a vos programme d’interagir avec le monde réel… Je ne l’ai jamais caché, mon objectif concernant le raspberry est de pouvoir l’utiliser comme un outil de domotique à bas prix. Je souhaite donc utiliser ce dernier pour gérer dans un premier temps, mon système d’éclairage, et dans un second temps, d’autres appareils et systèmes électriques de mon appart. Comme je suis une pipe en électronique, j’ai commencé petit en construisant une “maquette” (le terme est pompeux vu la gueule de la maquette) de mon appart (aucune ressemblance avec le réel d’ailleurs) en me fixant pour défis de le piloter depuis une interface web. J’ai réussi, et pour vous filer l’eau a la bouche (ou vous faire carrément bailler selon vos intérêts) Année 2014­2015 Geek
  • 22. Mohamed Bouhamed To be human you must to be Geek Pour ceux qui ne veulent pas de la vidéo, petit récap en images : J’ai développé une interface web PHP appelée depuis mon raspberry PI qui a cette tronche : Et une “maquette” papier de mon appart avec trois diodes électroluminescentes (LED) : Année 2014­2015 Geek
  • 23. Mohamed Bouhamed To be human you must to be Geek Je peux activer/désactiver une LED de la maquette en appuyant sur la zone d’état de chaque lignes : Année 2014­2015 Geek
  • 24. Mohamed Bouhamed To be human you must to be Geek Je peux également appuyer sur le bouton “Joyeux noël” qui m’allumera chaque diodes pendant une seconde à tour de rôle. Notez bien que pour suivre ce tutoriel, vous devez auparavant avoir fait le tutoriel : Raspberry PI ~ 04 : Configurer en serveur ou avoir installé le serveur web apache par vos propres moyens sur le rapsberry pi Comment j’ai fait : 1. Partie électronique… Je me suis intéressé aux ports GPIO du raspberry PI, ce sont de petites broches (au nombre de 26) qui peuvent se comporter en entrée comme en sortie (recevoir une information ou en envoyer une) ces broches que nous appellerons PIN, ont deux états possibles : 0 (off) ou 1 (on). Année 2014­2015 Geek
  • 25. Mohamed Bouhamed To be human you must to be Geek Dans la suite de ce tutoriel, nous nommerons chaque PIN par leur numéro d’ordre de haut en bas et de gauche à droite (en prenant pour repère que la carte SD représente le haut du raspberry PI) Ce serait une erreur de penser que chaque port GPIO est utilisable, car nombre d’entre eux sont réservés à d’autres tâches que de servir d’entrée sorties pour nous pauvres mortels. EN réalité, seuls 8 ports sur les 26 sont vraiment disponibles, ce qui nous laisse la possibilité de contrôler 8 matériels de notre appart diffèrent maximums, a moins d’acheter une carte d’extension des ports. Voila le schéma explicatif de chacun des PIN (source, le wiki de raspberry): Année 2014­2015 Geek
  • 26. Mohamed Bouhamed To be human you must to be Geek Ça parait peut être compliqué comme ça pour les néophytes de l’électronique comme moi, mais ça ne l’est pas, voila les choses essentielles a retenir : • Les numéros sur le schéma ne correspondent pas du tout aux positions “physiques” des pins (c’est vrai, pourquoi se simplifier la vie après tout?) donc considérez que je vous donnerais toujours les numéro physique et ne tenez pas compte des numéro inscrit sur le schéma • Les pin 1 (en jaune) et 2 (en rouge) sont réservés a fournir du courant, le pin 1 fournis du 3,3 volts, le pin 2 du 5 volts • Le pin 6 (en noir) est la masse (donc 0 volts), on s’en servira pour fermer notre circuit • Les pins 7,11,12,13,15,16,18 et 22 (en vert) sont les ports que nous pouvons utiliser pour nos magouilles • Les autres pins sont réservés pour des trucs qui nous dépassent, si il y a un électronicien dans la salle, je l’invite a nous fournir une petite explication Année 2014­2015 Geek
  • 27. Mohamed Bouhamed To be human you must to be Geek Donc globalement pour allumer une diode nous utiliseront ? … Le pin de masse (pin 6 en noir) et un des pin entrée sorties (au choix 7,11,12,13,15,16,18,22 en verts). Nous allons monter notre circuit électronique de manière simplissime comme ça : On vas utiliser la broche 11 (position physique) et la mettre a 0 ou 1 (via notre programme php), lorsqu’elle sera sur 1, le courant passera dans une petite résistance de 270 Ohms (pour protéger la Led et éviter qu’elle claque) puis directement dans notre led qui s’éclairera. Enfin le circuit sera fermé a l’aide de la broche 6 qui sert de masse. ça c’est l’idéal, 2 différences sur mon circuit réel: 1. Je n’ai pas de résistance, j’ai donc fait sans, ce qui rend la LED vulnérable si elle est allumée trop longtemps (j’entends déjà les électroniciens de l’assistance grogner au fond de la salle XD) 2. Je n’ai pas branché une, mais 3 led (pour rendre ma maquette un peu plus vivante), pour se faire, rien de plus simple, j’utilise deux ports de plus et je relie tout a la masse : Année 2014­2015 Geek
  • 28. Mohamed Bouhamed To be human you must to be Geek Pour monter votre circuit, de simples fils suffisent, cependant je vous conseille très vivement d’acheter ou de dégoter quelque part des connecteurs adaptés aux broches afin d’éviter les faux contacts avec le pin, un câble d’imprimante démonté comme le mien ferait l’affaire aussi : Année 2014­2015 Geek
  • 29. Mohamed Bouhamed To be human you must to be Geek pour relier l’autre bout de mes fils aux diodes, j’ai utilisé une table de connexion que j’avais acheté pour faire un peut d’électronique amateur, évidemment vous n’avez pas a investir vous aussi la dedans, c’est juste plus pratique que d’entortiller voir souder les fils autour des pattes de chaque led. Comment j’ai fait : 2. Partie programmation Une fois le montage électronique effectué, vous allez devoir signaler au raspberry PI d’ouvrir ou fermer les PIN (7 11 et 12 dans mon exemple) pour allumer/éteindre les LED que vous souhaitez. Pour nous faciliter la vie, nous allons installer une petite librairie toute bête qui nous permettra de faire ce genre de commandes dans la console du raspberry PI : gpio write 11 1 1 gpio write 11 1 qui signifiera : met l’état de la pin 11 à 1 Une fois cette librairie installée, nous utiliserons mon petit script gratuitement mis a votre disposition afin de donner une interface web plus conviviale a ces lignes de commandes. La librairie se nomme wiring PI, pour l’installer depuis la ligne de commande de votre raspberry, suivez les instructions du lien. Si tout se passe bien et que votre circuit électronique est correctement monté, lorsque vous taperez : gpio mode 0 out 1 gpio mode 0 out Cette ligne définira le PIN 11 comme une sortie gpio write 0 1 1 gpio write 0 1 La diode connectée a la PIN 11 devrait s’allumer, tapez alors Année 2014­2015 Geek
  • 30. Mohamed Bouhamed To be human you must to be Geek gpio write 0 0 1 gpio write 0 0 Pour l’éteindre Et la si vous suivez vous êtes en train de vous dire : “Attends un peu, il a mis “0” et pas “11” comme numéro de pin ?!!” C’est juste, seulement rappelez vous que les électroniciens “adorent” les numéro de PIN “logiques” qui ne correspondent pas aux numéro “physiques”, notre pin qui se situe physiquement a la 11 eme position est représenté dans l’ordinateur comme le numéro 0 “Han mais comment savoir qui correspond à quoi maintenant?” A l’aide d’une super table de correspondance fournie par notre amis créateur de wiringPi : Les numéros centraux sont les positions physiques des PIN, les numéro de la colonne “wiringPI Pin” sont les correspondances que vous devrez appeler dans vos lignes de commandes, le reste ne vous en souciez pas ça risque de bien vous embrouiller. ainsi pour parler du pin 15 j’utiliserais le chiffre 3, pour le pin 12 le chiffre 1, pour le 11 le 0 etc… Année 2014­2015 Geek
  • 31. Mohamed Bouhamed To be human you must to be Geek “Ca vas être vraiment chiant à gérer tout ça” C’est la que ma petite interface PHP vous facilite la vie, j’y ai intégré la table des correspondances, vous n’aurez donc à vous soucier que des positions physiques des PIN. Mon script est disponible a l’adresse :http://idleman.fr/ressources/PHP/pihome.zip Téléchargez le et décompressez le dans le dossier /var/www de votre raspberry PI Puis accédez a l’adresse internet de votre raspberry PI (en tapant 127.0.0.1 dans un navigateur si vous êtes depuis le raspberry PI ou en tapant l’adresse IP réseaux du raspberry PI si vous êtes sur un autre PC du réseau). Si vous voulez ajouter/supprimer/modifier le nombre de LED, les ports utilisés etc… vous avez juste a modifier le fichier configuration.php aux lignes suivantes Ajoutez le libellé de la led et son numéro physique de PIN associé. C’est tout pour aujourd’hui, cette partie du rasp n’est pas facile à appréhender pour les gens qui ne viennent pas du monde informatique ou du monde électronique, n’hésitez donc pas a poser vos questions ici si vous avez le moindre soucis . Dans un prochain tuto, nous tenterons d’agrandir l’expérience et de contrôler non pas des LED mais de véritables lampes d’appartement en utilisant le même principe (mais un tout petit peu plus d’électronique) Edit : Si vous avez installé lightppd au lieud ‘apache, ça ne fonctionnera que si vous faites la manip suivante (partagée par Zescientist ): Hello, Suite à l’installation de Lighttpd (en suivant le tuto 19), je me retrouve avec ce tuto ici qui ne fonctionne plus. Après plusieurs heures de recherches, le problème vient du fait que Lighttpd exécute la commande system() uniquement pour les applications placées dans /usr/bin, or, en suivant ce tuto, la commande gpio est lancée à partir de /usr/local/bin… La solution a été de déplacer « l’application » gpio dans le bon dossier, ce qui n’est pas propre du tout mais je n’ai pas trouvé comment changer le dossier dans la config du serveur. Année 2014­2015 Geek
  • 32. Mohamed Bouhamed To be human you must to be Geek Raspberry PI ~ 07 : Allumer/éteindre une vraie lampe OU comment faire de la domotique low cost. Mais peu importe, l’application est exactement la même, on se passera de lampe pour cet exercice (c’est la faute a ma chérie qui n’a pas voulu me laisser sa lampe de chevet “lapin crétin” comme sujet d’expérience, l’hérétique !!) Comme promis nous allons voir aujourd’hui comment utiliser le raspberry PI et plus précisément les ports GPIO (broches) de la carte pour contrôler un élément électrique de votre habitation, cet élément peut être n’importe quoi : une lampe/lumière, un réveil, un frigo, une tv, bref tout ce qui vous passe par la tête . EDIT : Désolé la vidéo est perdu ^^, vous pouvez mater les vidéos des tutos suivants pour avoir un exemple de ce qu’on vas faire, de mon coté je referais la vidéo quand j’aurais une tite minute à moi Prêt a tenter le coup? C’est vraiment pas compliqué, il suffit de s’accrocher un tout petit peu Voici les éléments requis pour cette expérience : - Un ordinateur, branché sur votre réseau - Un raspberry PI (~30€), à commander ici : http://fr.farnell.com/raspberry-pi Année 2014­2015 Geek
  • 33. Mohamed Bouhamed To be human you must to be Geek - Une carte 8 relais 5V 10A (20,49€), à commander ici : http://hackspark.fr/fr/8-channel-5v-relay-module- 5v-250vac-10a.html. nb: Si la carte n’est plus disponible en stock, n’importe quelle carte relais de 5v avec une charge maximale assez haute (disons 10A) fera l’affaire. Une carte deux relais (au lieu de est disponible pour moins cher sur le même site si vous voulez faire des tests sur 2 lampes uniquement, vous pouvez aussi acheter une relais 1 seul canal pour 1.27€ ici, histoire de tester sans vous ruiner :), le montage est le même. Bref n’hésitez pas ç regarder régulièrement sur ebay dans les achats immédiats catégorie monde entier, il y a souvent d’excellent prix et livraison gratuite. - Un réveil (ou une lampe, ou ce que vous voulez) auquel vous ne tenez pas (ou vas couper du fil) Dans cet exercice nous ne contrôlerons qu’un seul appareil, mais notez bien qu’avec ces cartes vous pouvez en contrôler 8 simultanément, si vous avez suivis les précédents tutos sur les broches GPIO et que vous lisez attentivement celui ci, ça ne vous posera aucun problème de relier correctement les Année 2014­2015 Geek
  • 34. Mohamed Bouhamed To be human you must to be Geek fils. Dans notre précédent tuto Raspberry PI ~ 06 : Utiliser le GPIO et Interagir avec le monde réel nous avons allumé et éteint des diodes à l’aide d’une interface web, nous allons maintenant passer à la vitesse supérieure en remplaçant les LED par un réveil. Concrètement, le réveil est alimenté en 220V (branché a une prise de courant normale) et le raspberry peux fournir du … 5V maximum, il parait évident qu’il nous faut un “médiateur” entre les deux afin que le raspberry puisse contrôler le réveil. Ce médiateur s’appelle une “carte relais”, c’est tout simplement une carte qui vas servir d’interrupteur électronique pour le réveil, interrupteur commandé par le raspberry. Un petit schéma s’impose : Tout part du PC, on se connecte depuis le PC au site web qu’on a créé sur le raspberry PI (cf les tutos précédents) et on clique sur le bouton d’activation (crois rouge) du PIN 7 physique (qui correspond en fait au port GPIO 4 logique) de l’interface web. Année 2014­2015 Geek
  • 35. Mohamed Bouhamed To be human you must to be Geek Ceci envoie un signal au raspberry qui met le port GPIO 4 à 1 (jusqu’a présent, il était a zéro). La carte relais est branchée de manière a ouvrir le circuit du réveil quand l’état du GPIO 4 est a zéro (donc le réveil est éteint) et a le fermer quand l’état est a 1 (donc le réveille s’allume). Année 2014­2015 Geek
  • 36. Mohamed Bouhamed To be human you must to be Geek La carte relais est donc un interrupteur commandé par le port GPIO4, mais comme cet interrupteur est électronique, il a besoin d’être alimenté, c’est pourquoi en plus du port GPIO4, deux fils (5v et masse) sont reliés a la carte pour alimenter celle ci en 5V. Pour être plus précis au niveau du raccordement, voila un autre schéma de ma composition : Année 2014­2015 Geek
  • 37. Mohamed Bouhamed To be human you must to be Geek Notez bien que la carte relais supporte une puissance de 10A,soyez donc précautionneux en fonction de ce que vous y branchez, vous avez des risques de griller votre carte relais. Enfin très important : Si vous alimentez la carte relais avec votre rapsberry pi, en fonction de votre carte relais vous risquez a terme de griller les ports du rpi qui ne sont pas fait pour ça, aussi pour les tests ça passera mais pour une utilisation prolongée, utilisez une alimentation externe (même montage sauf que vous reliez le + et l – de la carte a l’alim externe et le – de la carte relais au rpi (pour fermer le circuit de commande) N’hésitez pas à poser vos questions dans les commentaires et a faire vos remarques, surtout ceux qui tâtent en électronique car j’imagine que j’ai dis et fait dans ces tuto pas mal d’hérésie et que même si ça marche ça peut grandement être amélioré. Dans les prochaines tutoriaux nous trouverons un moyen de packager tout ce beau monde dans une multiprise électrique (une multiprise connectée en quelque sorte) et nous verrons comment commander “vocalement” le système afin de remplacer l’interface web qui n’est pas très utile dans uen application domotique. Année 2014­2015 Geek
  • 38. Mohamed Bouhamed To be human you must to be Geek Raspberry PI ~ 08 : Jouer avec les ondes radio Je vous avertis tout de suite, ce tuto est encore trop jeune pour aboutir sur une application concrète, il sera donc édité en deux parties. Le but de ce tuto en deux partie est simple : faire de la domotique pas cher avec le raspberry PI et par ondes radio. Les ondes radio ont de nombreux avantages et quelques inconvénients, nous verrons lesquels (mais je suis sûr que vous devinez bandes de ptit coquins). Cette première partie expliquera comment émettre et recevoir des ondes hertziennes avec le raspberry PI (en passant par une brève piqure de rappel de notions du collège que je pensais pourtant avoir soigneusement refoulées). Deux minutes de théorie ultra vulgarisée : Une onde radio c’est une onde électromagnétique qui, comme son nom l’indique, ondule….(si vous êtes déjà perdu, souriez et hochez la tête on y verra que du feu). Plus l’onde ondule vite, plus sa fréquence est dite “haute” et réciproquement. (j’entends au loin mon prof de physique s’étrangler de honte devant ma vulgarisation hérétique du phénomène). En gros une onde ressemble à ça : Année 2014­2015 Geek
  • 39. Mohamed Bouhamed To be human you must to be Geek Si on augmente sa fréquence ça donne un truc comme ça : Si on la baisse : Année 2014­2015 Geek
  • 40. Mohamed Bouhamed To be human you must to be Geek (Merci a FramboisePI qui m’a fournis les graphique plus jolis que mes vieux gribouillis !) …bref zavez compris le principe, ça ne vous servira a rien dans cette première partie, en revanche ça sera utile plus tard Pour la petite précision, une fréquence à pour unité le hertz et se mesure grâce à la formule f = 1/T car c’est le temps que que met l’onde à faire une tite ondulation (nommée période si je ne m’abuse, sur la troisième photo l’onde n’a fait qu’une période en 1s on peux donc pensez que c’est une onde d’un hertz mais la je vous dis peut être une grosse connerie donc amis élétr(oni)ciens n’hésitez pas a me clasher dans les commentaires ) Plus la fréquence est haute, plus on peu passer d’information rapidement, mais plus l’onde est courte (ne me demandez pas pourquoi) Trêve de théorie chiante ! Passons à l’action ! Nous, nous allons utiliser une fréquence de 433,92 Mhz, ça n’est pas complètement innocent : 1. 433,92 Mhz c’est une sorte de standard utilisé par de nombreux portails, stores, ouvertures centralisées, prises télécommandées etc… (vous commencez a voir l’intérêt du truc?) 2. 433,92 Mhz c’est suffisamment haut comme fréquence pour envoyer quelques infos rapidement, et suffisamment bas pour que ça atteigne une trentaine de mètres de portée (voir plus avec antennes). 3. 433,92 Mhz est compatible avec les récepteurs domotique low cost Chacon dont nous parlerons plus tard 4. 433,92 Mhz C’est la radio qu’écoute tout les jours chuck norris dans son bain avec son Année 2014­2015 Geek
  • 41. Mohamed Bouhamed To be human you must to be Geek canard qui fait pouic pouic (ok, il lui faut une bonne ouïe mais on parle de chuck !!) Le matos !! Hé oui, il nous faudra encore investir dans cette étape, mais rassurez vous ça reste abordable ! Nous allons simplement acheter un kit émetteur/récepteur 433,92 Mhz J’ai acheté le mien sur conrad pour 15,95€ mais déjà a l’époque c’était de l’arnaque, et aujourd’hui ils l’ont encore augmenté, donc je vous conseille plutot ce modèle sur ebay à …1,5€ qui est exactement le même (à une patte près, dont nous ne nous servirons pas) Les schémas ci dessous sont pour le conrad, c’est quasiment similaire avec celui d’ebay mais la position des pattes n’est pas la même, donc fiez vous aux inscriptions “gnd”, “data” et “vcc” pour faire les branchements corrects (ou alors acceptez de vous faire enfler de 13.5€ ^^) Il faut faudra bien sûr vous munir de vôtre fidèle raspberry PI en complément et ça sera tout pour cette première partie de tuto. Les branchements C’est tellement enfantin que j’irais presque vous laisser lire la doc, mais comme je déteste lire les docs, je vais vous épargner ça… Nous allons brancher le récepteur sur une PIN GPIO du raspberry et l’émetteur sur une autre pin. Comme je suis un goret j’utilise encore une fois le jus du raspberry (wha le super jeux de mots qui tue !) pour alimenter l’émetteur et le récepteur mais je vous conseille vivement d’utiliser une alim 5v externe si vous voulez utiliser ce montage sur la durée… Pourquoi? Et bien surtout pour une histoire de portée qui dépends du jus envoyé dans les cartes radio, plus vous alimenterez les cartes (en respectant le voltage max sur la fiche technique quand même, hein bande de gaufres :p) pour vous aurez de portée. Du coup comme le rpi alimente comme un naze (c’est l’une des grosse faiblesse de ce magnifique engin) il est possible que vous ayiez une portée minime (parfois quelques centimètres la ou vous devriez avoir 100 m, ça rigole pas) du coup pensez alim externe, mangez alim externe, vivez alim externe. Commençons par notre émetteur, petit bout de métal trop mimi qui tient sur le pouce : Année 2014­2015 Geek
  • 42. Mohamed Bouhamed To be human you must to be Geek Comme vous le voyez : trois fils a souder : le fil 5V (fil qui fait bzz bzz) en rouge à relier a la borne 5V du raspberry (borne 2), la masse en noir à relier a la borne de masse du raspberry (borne 6) et enfin la borne d’état logique (0 ou 1) à relier a un PIN GPIO valide (nous choisirons le 7, c’est une valeur sûre :p) ça donne ce montage la : Toujours en forme ? Bien ! Passons au récepteur !!! Année 2014­2015 Geek
  • 43. Mohamed Bouhamed To be human you must to be Geek De gauche a droite : le fil jaune = borne logique (0 ou 1) a relier au pin 13 du raspberry, le fil rouge = la phase, à relier a la borne 5V du raspberry, et le fil noir = la masse à relier à la masse du raspberry (c’est presque monotone tellement ya pas de challenge T_T) Vous avez compris, on vas le brancher exactement pareil que l’émetteur ( fil 5V et masse) mais sur une pin GPIO différente pour la borne logique : Notez bien que j’ai pris le(la) pin 13 parce que je suis un grand superstitieux mais libre à vous de choisir une autre des 8 bornes dispo si vous le souhaitez. Votre montage est maintenant terminé, plusieurs façon de le tester : 1. Relier une diode entre la masse et la borne logique du récepteur, cette diode clignotera à chaque fois que vous recevrez un signal Année 2014­2015 Geek
  • 44. Mohamed Bouhamed To be human you must to be Geek 2. Relier une diode entre la masse et la borne logique de l’émetteur, cette diode clignotera à chaque fois que vous enverrez un signal 3. Créer un programme (php par exemple) avec une boucle qui pendant 10 secondes vas flooder le “gpio read 2” (2 correspondant a la borne physique 13) afin d’obtenir le(s) signal(aux) capté(s) Notez bien que si vous n’habitez pas la tchétchénie, il est possible que votre récepteur reçoive plein de signaux en continu alors que vous n’émettez pas, en effet de très nombreux appareil utilisant cette fréquence il est possible que vous receviez des émissions en 433,92 mhz de votre voisin ou même de votre téléphone fixe sans fil (ou que sais je encore ^^). Notez bien ² : La méthode de test la plus probante est encore de placer des led aux endroits que je vous ai indiqué, vous pourrez alors vous amuser a tester si vos clés de garages, vos interrupteurs de stores et autres diverses télécommandes font s’affoler la diode du récepteur quand vous les actionnez : si c’est le cas : vos machines sont en 433 mhz et nous pourrons bientôt les piloter depuis le Raspberry (enfin, si j’arrive a me dépatouiller avec la suite du tuto évidemment ;p) personnellement, la porte du garage de ma résidence ainsi que la voiture de ma copine sont sur du 433,92 (hurk hurk hurk j’en connais un qui vas enfin prendre le contrôle de ce taudis). Notez (encore) que certain réseaux radio sont sécurisé avec des signaux changeants, surtout sur les voitures récentes, cas dans lequel nous ne pourront pas piloter l’engin. Encore une dernière recommandation : ne soyez pas aussi con que moi, n’essayez pas d’isoler votre récepteur des signaux extérieurs en l’entourant de papier alu XD, je sais pas pourquoi dans ma tête le papier alu c’était pas conducteur de chaleur donc ça conduisait pas le courant non plus, résultat : j’ai niqué un port USB et mon RPI à fait la gueule un certain temps. Si vous avez des problèmes de portées, de gros parasites, ou de mauvaise communication, pensez a faire ces deux choses : • Prendre une alim externe pour les cartes radio et les l’alimenter au maximum de ce qu’elles sont capables de faire (cf la clause “voltage max” de fiche technique, souvent c’est entre 5 et 12V) • Souder un fil conducteur de 16.45 cm a l’émetteur et au récepteur pour servir d’antennes. Avec ces deux points, vous pouvez passer de quelques centimètres à plusieurs centaines de mètres de portée, la différence est vraiment flagrante. Merci a Yann PONSAR pour ses précieux tuyaux sur le sujet Dans le prochain tuto nous verrons pourquoi et comment générer un signal 32 bit capable d’allumer et d’éteindre tous les récepteur de la gamme chacon (sorte de relais récepteurs radio a bas prix qui s’adaptent a votre appart/maison sans avoir a couper ou casser quoique ce soit) Année 2014­2015 Geek
  • 45. Mohamed Bouhamed To be human you must to be Geek Raspberry PI ~ 09 : Créer une interface vocale En effet si vous avez bien suivis mon article “Raspberry PI ~ 07 : Allumer/éteindre une vraie lampe OU comment faire de la domotique low cost.” vous devez pouvez allumer et éteindre une lampe grâce à votre interface web. Oui mais !! On à pas toujours une interface web sous la main pour commander le raspberry PI… alors que diriez vous de tout diriger par la voix ? Ce qu’on cherche à faire : Moi : “Yuri, allume la lampe du salon” Raspberry PI (oui je l’ai appelé Yuri ;p) : “jawohl mein kapitän !!” (oui je lui donne un accent allemand alors qu’il a un nom russe :p) *Lampe du salon s’allume* Moi : “Yuri quelle heure est il ?” Yuri : “Il est 18h41” Ma chérie : “Idle, arrête de jouer avec ce machin con de geek inutile, ton WAF baisse a vue d’oeil” Moi : “Yuri Insulte la“ Yuri : “L’insulte aléatoire est : espèce de cheveux sans racine” Bon okay on pourrait se passer d’aller aussi loin mais on vas le faire quand même, le but étant d’apprendre à simuler et a personnaliser une personnalité qui comprends vos ordres, effectue une action (contrôler une lampe, envoyer une requête, faire une recherche sur le web, dire un truc inutile etc…) et qui vous réponds en prime. Tenez une petite vidéo horriblement mal filmée à base de canard albinos et de drogue dure pour vous prouver que je n’affabule pas : https://vimeo.com/52886695 Bref nous allons simuler une IA type Jarvis dans le film “Iron Man” ou Sarah dans la génialissime série “Eureka”, je dis bien simuler puisqu’au final, il n’y aura aucune intelligence derrière, juste une “bête machine à réagir” (mais c’est déjà pas mal pour cette fois :p). Année 2014­2015 Geek
  • 46. Mohamed Bouhamed To be human you must to be Geek Ce qu’il vous faut : 1. Un pc avec windows 7 ou vista minimum 2. Un micro (celui de votre portable conviendra très bien) 3. Votre raspberry PI configuré selon le tutoriel “Raspberry PI ~ 07 : Allumer/éteindre une vraie lampe OU comment faire de la domotique low cost.” Le principe : Votre PC vas utiliser(via notre petit programme) la librairie Speech To Text de Microsoft qui permet de faire de la reconnaissance vocale (le pc vous écoute), si la commande vocale est reconnue, il vas envoyer une requête web (http) à votre raspberry PI Votre raspberry PI vas recevoir la requête et effectuer l’action : ouvrir/fermer un port gpio (donc allumer/éteindre une lampe ou tout autre objet électrique raccordé), ou encore récupérer l’heure serveur et vous la retourner, aller chercher les films qui passent au ciné en ce moment etc… et retourner un texte de réponse a la librairie Text To speech de Windows qui fait de la synthèse vocale (le pc vous parle). Bref rien de sorcier en somme, certains déplorerons l’utilisation d’une librairie microsoft: c’est vrai que c’est bof, mais cette librairie a plusieurs avantages : • elle fonctionne bien • elle est installé par défaut sur tous les windows vista/seven et + (donc accessible à beaucoup de gens) • elle ne nécessite pas internet • elle fait la synthèse ET la reconnaissance vocale • elle est configurable avec de simples fichiers XML • il est possible d’avoir plusieurs voix et plusieurs langues gratuitement Et croyez moi pour trouver l’équivalent sous linux il faut se lever tôt (des lib comme sphinx et autres je ne veux plus en entendre parler, quand je dis lampe elle comprend canard albinos, c’est drôle les 10 premières minutes…) Okay mais il vas falloir développer un truc ne C# pour adapter tout ça non? C’est la que le génie de l’un de nos prédécesseur geeks entre en jeu : quelqu’un y a déjà pensé et a développé un petit programme au poil, S.A.R.A.H : pas d’installation, fonctionne avec micro simple ou avec kinect (meilleur reconnaissance), mots clés configurable avec de simple fichier xml etc… Le soucis c’est que le mec utilise un serveur nodejs, et qu’il ne manoeuvre aucun rpi avec, donc j’ai modifié et surtout beaucoup allégé S.A.R.A.H pour créer Y.U.R.I qui fonctionne avec apache, et qui est un peu plus léger. nb : Je tiens a préciser que le code source est intégralement de sarah, seuls quelques binaires (nodejs standalone, phantom etc..) ont été enlevés et quelques xml modifiés Année 2014­2015 Geek
  • 47. Mohamed Bouhamed To be human you must to be Geek Assez discutaillé : au boulot !! Installation de Y.U.R.I sur le PC • Téléchargez Y.U.R.I : idleman.fr/ressources/PHP/interface%20vocale/YURI.rar • Décompressez le .zip • Ouvrez le dossier ./macroscontenant les XML de configuration et éditez le fichier rpi.xml • Modifiez l’adresse http://mon.rpi.fr/yuri.php par votre adresse de serveur rpi+/yuri.php ( ex : http://192.168.0.47/yuri.php ) Nb : Vérifiez que votre pc Windows et votre raspberry PI sont bien sur le même réseau et que vous pouvez bien accéder aux pages web de votre raspberry PI depuis le navigateur web de votre pc Windows Installation de Y.U.R.I sur le raspberry PI • Téléchargez le script yuri.php : idleman.fr/ressources/PHP/interface%20vocale/yuri-web.rar • Décompresser et placez le script dans le répertoire web de votre raspberry PI (/var/www par défaut) • Vérifiez que le port GPIO 7 est bien branché a votre carte relais comme définis dans le tutoriel 7 de ce blog. Test du programme • Sur votre PC, Cliquez sur l’exécutable micro.exe à la racine du dossier pour lancer Y.U.R.I • Prononcez “Yuri, allume la lampe du salon”, YURI vas bien envoyer une requête vers votre page de Rapsberry PI qui vas allumer votre lampe Et voila !! Enjoy !! Pour ajouter des action vous même, il vous suffira de créer un nouveau fichier xml avec la requête et les ordres associés, et de créer l’action qui correspond dans yuri.php, vous pourrez ainsi pousser les choses très loin, le concepteur de S.A.R.A.H a créé plusieurs requêtes d’exemples pour récupérer la météo, gérer un google agenda, trouver les films sur allociné etc… Année 2014­2015 Geek
  • 48. Mohamed Bouhamed To be human you must to be Geek Raspberry PI ~ 10 : Commander le raspberry Pi par radio Nous avions brièvement abordé l’émission/transmission radio via le raspberry pi lors de notre tutoriel n°8. Je vous avais promis une application concrète et plus poussée, nous allons donc aujourd’hui donner des ordres au raspberry PI via une télécommande radio achetée dans le commerce. Commander le raspberry Pi par radio from idleman on Vimeo. Tenté par l’idée de reproduire ça chez vous ? Bien ! Mettons nous au travail !! <!> NB : Vous devez avoir suivis les tutoriaux 04, 06,07 et 08 minimum avant d’aller plus loin. Le Matériel : Si vous avez bien suivi le tuto 8, la pluparts de ces éléments sont déjà en votre possession 1. Un raspberry PI en état de marche 2. un kit émetteur/récepteur 433,92 Mhz j’ai acheté le mien à 15,95€ sur conrad mais je me suis fait avoir je vous conseille ce modèle a 1.5€ sur ebay qui fonctionne pareille et qui à 200m de portée NB :Vous pouvez n’acheter que le récepteur pour ce tuto, mais nous auront besoin de l’émetteur dans le tutos suivant donc autant grouper. 3. Un kit télécommande + 3 prises D – IO by chacon modèle 54795 vendu 29,95€, encore une fois, nous n’utiliseront dans le tuto que la télécommande, mais dans le prochaine nous nous occuperons des prises donc autant grouper. <!> Prenez bien le même modèle que moi, car il semblerais que le protocole radio varie légèrement d’un modèle a un autre 1. Vous voila équipé bande de veinards !! Installation : Branchez le récepteur au raspberry PI en suivant les instructions du tuto N°8, ceci permettra au raspberry de capter les ondes radios sur la fréquence 433 mhz Si vous avez suivis le tuto N°7, vous pouvez également brancher votre carte relais sur l’une des bornes du raspberry PI afin d’allumer/éteindre une lampe/un réveil comme dans la vidéo, sinon, vous vous contenterez de la partie envois de mail et affichage des codes de la télécommande. C’est tout pour les branchements , maintenant voyons le code ! Assurez vous que la librairie wiringPi (qui permet de gérer facilement l’état 0 ou 1 des ports GPIO Année 2014­2015 Geek
  • 49. Mohamed Bouhamed To be human you must to be Geek du raspberry PI) est bien installé sur votre raspberry PI. Téléchargez mon petit programme de réception en C + PHP nommé originalement radioReception idleman.fr/ressources/PHP/chaconPI/radioReception.zip Décompressez le tout dans le répertoire /var/www de votre raspberry PI • LICENCE et README :Les infos sur la licence et autres du code. • radioReception :l’exécutable C qui vas parser les infos sur port gpio de réception et les envoyer au fichier PHP • radioReception.css :la source du programme C, vous pouvez le supprimer si vous ne comptez pas modifier le code. • radioReception.php : Le fichier PHP qui vas être exécuté par le programme C, recevoir les infos du signal, et effectuer une action en conséquence. Utilisation : positionnez vous dans le répertoire du programme, cd /var/www/radioReception définissez que le programme peut être exécuté avec un chmod (je sais, on peux faire moins permissif) sudo chmod 777 radioReception puis lancez le programme C avec la commande suivante : ./radioReception /var/www/radioReception/radioReception.php 7 /var/www/radioReception/radioReception.php : Chemin vers le fichier PHP qui traitera les informations reçues (identifiant de la télécommande, numéro du bouton, état on/off etc..) 7 : Numéro WiringPi du PIN Gpio auquel est branché le récepteur 433 mhz Vous pouvez maintenant appuyer sur les boutons de la télécommandes et constater les actions effectuées par le PHP. Année 2014­2015 Geek
  • 50. Mohamed Bouhamed To be human you must to be Geek chaque action exécute le fichier PHP initialement entré en paramètre et lui fournis les informations suivantes : • $sender: l’identifiant de la télécommande • $group: Si c’est une commande de groupe (1) ou non (0), avec cette télécommande, cette valeur sera toujours à 0. • $state: si le bouton est on (1) ou off (0) • $interruptor : l’identifiant de la rangée de bouton de la télécommande A vous de modifier le PHP et de développer les actions qui vous semblent intéressantes, je n’ai laissé que l’exemple d’ouverture/fermeture du port gpio 3 (15 em port physique) dans les sources. Si vous avez des problèmes de portées, de gros parasites, ou de mauvaise communication, pensez a faire ces deux choses : • Prendre une alim externe pour les cartes radio et les l’alimenter au maximum de ce qu’elles sont capables de faire (cf la clause “voltage max” de fiche technique, souvent c’est entre 5 et 12V) • Souder un fil conducteur de 17.3 cm a l’émetteur et au récepteur pour servir d’antennes. Avec ces deux points, vous pouvez passer de quelques centimètres à plusieurs centaines de mètres de portée, la différence est vraiment flagrante. Année 2014­2015 Geek
  • 51. Mohamed Bouhamed To be human you must to be Geek C’est tout pour ce tuto !! Si vous ne voulez pas comprendre ce que vous faites, vous pouvez vous arrêter ici ^^, sinon je vous invite a entrer avec moi dans les subtilités du protocole radio utilisé en lisant les paragraphes ci dessous. Dans le prochain tuto nous tenterons le processus inverse, à savoir émettre avec le raspberry PI pour allumer/éteindre les prises chacon (et on pourra jeter cette vilaine télécommande XD) Comprendre plus en profondeur : C’est une chose d’appliquer bêtement un tuto, c’en est une autre de comprendre entièrement ses tenants et ses aboutissants, pour les curieux qui voudraient comprendre plus en détail comment nous récupérons et nous traitons le signal radio, voila quelques explications… Zallez voir, c’est pas ultra compliqué quand on a toutes les infos bout à bout (ce que j’ai passé 2 mois a réunir) mais il faut s’accrocher un minimum Concrètement qu’envoie la télécommande chacon ? Cette télécommande envoie un signal radio sur la fréquence 433.92 mhz, ce signal respecte (plus ou moins) le protocole radio domotique home easy (très mal documenté au passage). Le protocole home easy transmet les informations sous la forme d’un signal de 32 bits, un bit étant un 1 ou un 0 (ça tombe bien, les ports GPIO peuvent lire les 1 et le 0 ) il y a donc un signal de 32 : 0 ou 1 par exemple : 00011000101001010010100100010110 Vous noterez l’utilisation de zoulies ptites couleurs , ce n’est pas pour rien : Les 26 premiers bits (en bleu) correspondent à l’identifiant de la télécommande Le 27em bit (en violet) correspond au numéro de groupe (information que nous n’utiliseront pas) Le 28em bit (en rouge), correspond à l’état (ON ou OFF) envoyé, 0=off, 1=on Les bits 29 à 32 (en vert) correspondent au numéro du bouton de la télécommande appuyé La télécommande vas donc envoyer le signal en fonction du bouton appuyé, de la télécommande et de l’état ON ou OFF de ce bouton. 1. Okay mais on a un seul pin branché au récepteur non ? comment on vas capter tout ces 0 et ces 1 d’un coup ? C’est une bonne question !! En fait toutes les infos vont être envoyé par le récepteur sur le même pin (dans notre exemple, le pin 7) mais avec des délais entre chaque 0 ou 1 afin de bien les distinguer les uns des autres ! Mais alors le signal vas être long à capter non ? Pas du tout ! En effet les délais dont je vous parlais sont de l’ordre de la micro seconde ! Donc un signal dans son intégralité a peu de chance de dépasser la milli-seconde ce qui est totalement ridicule pour la perception humaine :). Année 2014­2015 Geek
  • 52. Mohamed Bouhamed To be human you must to be Geek Bon, et t’as mis 2 mois pour comprendre ça ? En réalité, nous ne sommes pas au bout de nos peines, c’est un peu plus compliqué que ca , admettons que la télécommande nous envoie le code : 00011000101001010010100100010110 Nous recevrions en réalité quelque chose comme ça : 01010101010101010101010101010101010101010101010101010101010101010101010101010101 010101010101010101010101010101010101010101010101 que nous traduirions en ça : 0101011010010101100110010110011001011001100101100101011001101001 et enfin en ça : 00011000101001010010100100010110 (on fait moins le malin la pas vrai ? ) Hum, j’y comprends plus rien la… tu nous a bien enflé avec ton histoire de 32 bits ! C’est juste , mais il fallait simplifier pour ne pas vous perdre dès le début ^^, en réalité le signal est bien de 32 bits, mais il est “traduit” deux fois avant émission et réception pour les raisons que nous allons voir ci dessous. La première traduction, est liée a ce qu’on appelle le “codage de manchester” derrière ce nom étrange se cache un principe tout simple : on vas convertir les 0 en 01 et les 1 en 10. Donc le code de la télécommande 00011000101001010010100100010110 vas se transformer (avant d’être émis) en ce signal de 64 (car 32*2) bits : 0101011010010101100110010110011001011001100101100101011001101001 Mais pourquoi se compliquent t’ils la vie avec leurs codage de machin chose? Dans notre contexte, le code de manchester est utilisé pour diverses raisons mais essentiellement pour éviter les parasites, et croyez moi, des parasite radio, nous en sommes blindés ! Bref je ne vais pas m’étaler sur le principe, les infos sont sur wikipedia mais en gros si une paire de bit est égale a 11 ou 00 le programme comprendras qu’il s’agit d’un parasite (car en prenant les bits par paire depuis el début du signal, on ne peux avoir que des 10 ou des 01 si le signal n’est pas un parasite). Ok donc on à juste une petite conversion à faire, c’est pas méchant, mais c’est quoi la deuxième traduction alors ? Et bien la seconde traduction, c’est tout simplement la transformation en “onde”, c’est ce dont nous parlions tout à l’heure avec les délais, par exemple pour que la télécommande émette “1” il lui faut Année 2014­2015 Geek
  • 53. Mohamed Bouhamed To be human you must to be Geek envoyer une impulsion (impulsion qui n’est autre qu’un passage de 0 à 1 ) avec un certain délais entre le 0 et le 1 (pour signifie qu’on envoie un 1 et pas un zero. Donc envoyer un 1 reviendrais a envoyer ce genre de signal : C’est le délais en micro seconde ou le signal est bas qui définit si un 1 ou un 0 a été envoyé. Attention nous disons ici qu’un 1 a été envoyé, mais comme nous respectons le codage de Manchester nous devons envoyer “10” : Comme vous pouvez le voir sur le schéma pas du tout précis, le premier “front bas” (qui représente le 1) est plus court que le second (qui représente le 0), leurs somme fait “10” qui, en codage Manchester signifie “1” Je suppose que vous êtes sur les rotules, mais soyez fiers de vous, il n’y a plus rien à comprendre par la suite (vous pouvez imaginer maintenant pourquoi j’ai mis un peu de temps à décrypter le protocole de cette fichue télécommande sans la moindre doc et sans connaitre les lois de la radio transmission). Voila un petit graphique pour résumer le chemin d’un signal : Et voila un petit script tout droit sortis de mes petites papattes pour vous aider a visualiser un signal : http://domotique.idleman.fr/radiograph.htm Notez une dernière chose importante ! Le protocol home easy, contient encore une petite subtilité : les verrous. Les verrous sont des bits émis par la télécommande avant et après le signal afin d’annoncer au Année 2014­2015 Geek
  • 54. Mohamed Bouhamed To be human you must to be Geek récepteur que le signal commence et se termine (ce qui permet également de distinguer un signal d’un parasite). Ces verrous sont au nombre de 3 : deux avant le signal, un a la fin. Les pulsations de ces verrous sont très long (pour les distinguer des pulsations de bits d’informations) de l’ordre d’une centaine de micro secondes. Bon, j’ai bien tout compris, mais tu as oublié de nous donner quelque chose d’important : les délais de chaque pulsation (0, 1 et verrous) !!? C’est bien !! Vous suivez !! Et vous avez raison je ne vous les ai pas donnés pour la raison suivante : je ne les connais pas ! Ha ha ha ha !! En fait c’est la que le manque de doc se fait ressentir sur le protocole home easy : 1. Aucune doc n’est complète 2. Les docs se contredisent entre elles pour les délais 3. La marque Dio by chacon semble altérer légèrement les délais d’un modèle à un autre (pour brouiller les pistes?) Bref on ne peux qu’estimer les valeurs de chaque délais, c’est la raison pour laquelle vous noterez que mon programme ne capte pas à tout les coups, les délais étant encore mal calibrés, libre a vous de tester les délais et de me faire vos retours si vous parvenez a être plus précis, voila mes délais actuels : Verrou 1 : Entre 2700 et 2800 micro secondes Verrou 2 : ? 0 : Entre 180 et 420 micro secondes 1 : Entre 1280 et 1480 micro secondes Verrou 3 : ? Vous noterez aussi que dans mon code, je n’ai pas tenu compte des verrous 2 et 3, qui ne sont pas indispensables dans ce cas précis (même si ce serait mieux de les demander), en revanche quand nous émettrons depuis le raspberry PI, il nous faudra être plus rigoureux. Année 2014­2015 Geek
  • 55. Mohamed Bouhamed To be human you must to be Geek Raspberry PI ~ 11 : Relier à un écran et afficher du texte Aujourd’hui nous allons apprendre à faire ça : Mais non pas la boite bande de péquenauds incultes (wink wink nudge nudge), mais ce magnifique écran LCD, à l’origine utilisé sur les vieux téléphones nokia (ben oui on est pas des nouilles molles). Le but de ce tuto sera donc de brancher un petit écran LCD rétro éclairé (a 2,50€ sur ebay cela dit) et d’y afficher un texte choisis. Je suis partis du principe que je voulais, lorsque je branche mon raspberry au labo ou autre part, récupérer l’adresse ip qui lui est automatiquement attribué par le réseau sur lequel je me connecte, et l’afficher sur l’écran afin que je puisse me connecter au rpi en ssh sans avoir a demander a l’admin du réseau cette fameuse ip. Année 2014­2015 Geek
  • 56. Mohamed Bouhamed To be human you must to be Geek (oui je sais la ça n’est pas une IP réseau mais j’ai perdu l’autre photo alors on vas s’en contenter ) Ce sera donc notre fil rouge , je vous rassure tout de suite, l’intro est longue, mais le tuto lui est très court, je m’en voudrait de vous tuer une seconde fois après le tuto sur la réception radio . Le matériel 1. Un raspberry Pi (holala quelle surprise ! ) 2. Un écran LCD nokia 5110 à 10€ sur sparkfun, 4,89 € sur ebay, voir même à 2,50€ si vous cherchez encore sur ebay et peut être moins cher ailleurs 3. Quelques fils qui trainent, un peu d’étain, et un fer à souder Les branchements Notez que l’écran possède deux rangée de 8 Trous à l’opposée l’une de l’autre, vous pouvez utiliser l’une ou l’autre des rangées ça ne fais aucune différence, nous utiliserons celle avec les inscriptions de chaque pin afin d’être sûr de ne pas faire d’erreurs. Année 2014­2015 Geek
  • 57. Mohamed Bouhamed To be human you must to be Geek Les 4 trous sur les coins sont uniquement la a titre de fixation, ils ne sont reliés à rien Voila le branchement en image, fiez vous aux couleurs pour le fils qui sont un peu cachés : ATTENTION : sur mon écran l’alimentation principale est en 5V, cependant il semble que plusieurs sous modèle de la même référence n”acceptent que du 3v en entrée, aussi ne reliez comme ci dessous qu’après avoir regardé la fiche technique de votre écran. Si votre écran n’accepte que du 3V, reliez le fil rouge coté rpi au pin 1 et non au pin 2. Le programme Année 2014­2015 Geek
  • 58. Mohamed Bouhamed To be human you must to be Geek Pour installer le programme , ouvrez la console SSH de votre rpi, et tapez les commandes suivantes : Téléchargement du programme nb: la source est dans le zip pour ceux qui voudraient comprendre plus en détail le fonctionnement du script :). sudo wget http://idleman.fr/ressources/PHP/piScreen/lcd.zip 1 sudo wget http://idleman.fr/ressources/PHP/piScreen/lcd.zip Décompression sudo unzip lcd.zip 1 sudo unzip lcd.zip Déplacement sudo mv lcd /etc/lcd 1 sudo mv lcd /etc/lcd Le programme est installé Utilisation En ligne de commande /etc/lcd/screen -p "Hello world" 1 /etc/lcd/screen -p "Hello world" Options • -hcommande d’aide • -iaffiche l’ip LAN de la machine courante à l’écran • -naffiche le nom de la machine courante (hostname) à l’écran Année 2014­2015 Geek
  • 59. Mohamed Bouhamed To be human you must to be Geek • -p[text] affiche le texte spécifié à l’écran • -p [text] [0-10] affiche le texte spécifié à l’écran et définis le contraste de l’écran Obtenir son IP sur l’écran lorsqu’on se connecte a un réseau Comme vous avez u le voir dans les options, la commande /etc/lcd/screen -i 1 /etc/lcd/screen -i Il nous suffit donc de lancer un CRON (une tâche planifiée) qui vas lancer cette commande toutes les x minutes (moi j’ai mis toutes les 1 minutes, mais bon c’est mieux d’augmenter un peu histoire de ne pas flooder non plus). Ouvrez votre crontab crontab -e 1 crontab -e Ajoutez la ligne * * * * * /etc/lcd/screen -i 1 * * * * * /etc/lcd/screen -i Enregistrez, fermez et hop ! Tuto terminé A voir aussi La même chose, avec un écran couleur et tactile de 36€ pour ceux qui ont les moyens Encore la même chose, avec un écran moins cher (mais du coup de moindre capacité) a base de librairie python, très bien expliqué par notre amis Zem Année 2014­2015 Geek
  • 60. Mohamed Bouhamed To be human you must to be Geek Raspberry PI ~ 12 : Allumer des prises à distance Avant que la fin du monde (un peu tardive), ou une trop grosse cuite du nouvel an ne nous sépare, je tenais à vous offrir ce petit tuto sur le “télécommandage” (ça se dit ça?) de prises électriques depuis le raspberry PI. Nous allons donc reproduire notre tuto 7 “éteindre/allumer une lampe avec le raspberry PI” mais cette fois ci, sans utiliser de fils. Démonstration Quelques screenshots de l’application web évoquée dans la vidéo : Accueil des périphériques, par pièces Espace de configuration sans utilisation de base de données Année 2014­2015 Geek
  • 61. Mohamed Bouhamed To be human you must to be Geek Interface adaptables tablettes/smartphone Points forts / Points faibles (de l’utilisation des ondes radio) Ce montage est similaire au montage filaire que nous avons déjà vu, mais il a pour différences les points suivants. Année 2014­2015 Geek
  • 62. Mohamed Bouhamed To be human you must to be Geek FORCES : • Intégrable à votre appartement/maison sans avoir à démonter les murs ou à abîmer quoique ce soit • Ne prend qu’un seul PIN GPIO sur le rpi au lieu d’un par relais, il est donc possible de gérer une quantité infinie de périphérique (enfin 2^30 soit 1073741824 périphériques en fait :p) en n’utilisant qu’un seul pin • Le circuit de commande est dynamique, vous pouvez ajouter, déplacer, supprimer vos périphérique sans aucune modification à faire en terme d’électrique/électronique • Il est plus simple de permuter la commande classique (interrupteur simple) et la commande via le Raspberry PI afin d’utiliser simultanément les deux, ainsi si vôtre rpi grille, vous pourrez encore vous servir de votre système électrique de manière classique • Niveau esthétique, c’est plus discret qu’une 30 aine de fils qui se baladent • Le système est “portable” d’une habitation à une autre :), vous pouvez donc déménager facilement sans démonter les murs • Le système peut traverser la plupart des murs/obstacles/matières il vous est donc possible de gérer des périphériques dans des endroits peu accessibles FAIBLESSES : • La portée de l’émetteur que l’on a acheté est d’environ 30M (edit: si vous prenez celle d’ebay et une bonne alimentaiotn externe et que vous fixez un fil d’antenne, vous pouvez atteindre 200m de portée), peut être plus avec une bonne antenne, il vous faudra donc peut être plusieurs émetteur ou une bonne antenne ou encore un émetteur de meilleure qualité si vous avez une grande maison • Le système radio est au système filaire ce que le wifi est aux câbles Ethernet, donc moins sécurisé, bien que le signal soit sur 32 bits (auquel j’enlève les 2 bits d’état et de groupe) ce qui fait 1 073 741 824 combinaisons possibles par périphérique, dans le doute, faites mois plaisir : ne raccordez quand même pas des trucs qui craignent genre votre robinet à gaz • Avec ce montage, vous êtes sujet aux parasites radio, si il y en a beaucoup dans votre environnement, le signal peut être parfois mal capté (même si il est envoyé 5 fois et qu’on utilise le codage de Manchester ce qui réduit fortement le risque) Le matériel requis Si vous avez suivis le précédent tuto sur la radio, vous devriez déjà tout avoir : • Un raspberry PI modèle A ou B ~30€ • Un set de 3 prises chacon + télécommande (~30€, vous pouvez acheter une prise seule mais ça coûte super cher (~20€ la prise), autant grouper) • Un émetteur RF 433Mhz (j’ai acheté le mien 15€ mais je me suis fait arnaquer, vous pouvez en trouver à beaucoup moins cher, par exemple à 3€ ici ou sur ebay à 1.3€) Année 2014­2015 Geek
  • 63. Mohamed Bouhamed To be human you must to be Geek Ce qui nous fait un coût domotique entre 30€ et 65€ par la, en fonction du nombre de machines que vous voulez commander et des prix que vous trouvez sur le net. Notez que par la suite si vous souhaitez équiper d’autres pièces vous n’aurez pas à racheter de Raspberry PI ni d’émetteur (à moins d’habiter un palace auquel cas le prix ne vous posera pas problème) du coup vous paierez entre 15€ et 30€ pour équiper une pièce supplémentaire (en fonction du nombre de prises, des réductions, des frais de ports etc…). Le montage Le montage rpi + émetteur 433 mhz a déjà été expliqué dans notre premier tuto sur RPI+radio, mais comme je suis un chic type et que j’adore faire des gribouillis, je répète le schéma ici : nb : Une antenne de 17.3 cm serait la taille optimale (merci à Ju pour la précision) Le code Le code de l’interface web+programme C qui émet les signaux radio est téléchargeable ici : http://idleman.fr/ressources/PHP/hcc/hcc.zip Année 2014­2015 Geek
  • 64. Mohamed Bouhamed To be human you must to be Geek 1. Dé-zippez le code dans un répertoire var/www/hcc 2. Faites un sudo chown -R www-data:www-data /var/www/hcc sur tous le dossier hcc (changez /var/www/hcc si votre chemin est différent, important sinon rien ne fonctionnera) 3. Faites sudo chown root:www-data /var/www/hcc/radioEmission puis un sudo chmod 4777 radioEmission sur l’exécutable nommé radioEmission (important sinon l’interface web ne fonctionnera pas) 4. Le script est installé !! L’utilisation Vous pouvez envoyer un signal de deux façon différentes : En ligne de commande linux : /var/www/hcc/radioEmission 0 12325261 1 on 0 = le numéro WiringPi du PIN du Raspberry relié a la carte émetteur 433mhz (ici zéro, qui correspond au pin physique 11 du rpi) 12325261 = Un code de télécommande que nous attribuons arbitrairement au raspberry PI, ca permet aux prises de n’obéir qu’a ce code et donc qu’a votre raspberry. 1 = code du récepteur (choisis arbitrairement, c’est ce qui permettra au récepteur de savoir si c’est à lui qu’on donne l’ordre ou a un autre) on = état de la prise souhaité on ou off nb : Le ./ est obligatoire devant quand vous exécutez le programme depuis le répertoire courant, si vous ne le faite pas vous risquez de tomber sur un “commande not found” Depuis l’interface web : qui en réalité se contente d’exécuter la commande précédente (pourquoi faire compliqué) lorsque vous cliquez sur un item. Pour vous connecter, les logins et mot de passe par défaut sont : login : admin mdp : admin Ces identifiants peuvent être changé en éditant le fichier constant.php situé dans le répertoire hcc Notez bien que vous ne pourrez rien piloter tant que les prises n’auront pas fait l’apprentissage du signal que vous envoyez (expliqué un peu plus ci dessous). Année 2014­2015 Geek
  • 65. Mohamed Bouhamed To be human you must to be Geek La liaison émetteur/récepteur Les prises électriques Chacon ont un module d’apprentissage de signaux intégré, ce qui veux dire que lorsque vous les brancherez, elles “écouteront” pendant 5 secondes les signaux envoyés et reconnaîtrons ces signaux pas la suite. Il vous faut donc pour chaque prise, la brancher et émettre le signal avec le Raspberry PI (via l’interface web disponible sur http://wotre.raspberry.pi/hcc ou par ligne de commande) avant 5 secondes pour qu’elle soit par la suite liée au signal. Vous reconnaîtrez des clic clac successifs vous avertissant que la télécommande a bien reçu votre signal et l’a mémorisé. En résumé Il y a donc trois façons de piloter l’installation : pilotage classique : je passe par les interrupteurs Chacon (télécommande ou télécommande sous forme d’interrupteur) pour allumer/éteindre mes lampes pilotage par interface web : j’allume/éteint mes lampes via une interface web sur navigateur internet de tablettes/pc/smartphone pilotage par reconnaissance vocale :Lorsque je prononce une phrase définie, mon pc envoie directement une requête au Raspberry PI qui allume ou éteint les lampes Pour ce dernier, je me suis contenté de mélanger mon tuto sur la reconnaissance vocale (raspberry pi 09). Je vous invite à faire la même chose, le résultat est plutôt propre. Pour configurer yuri selon votre interface : 1. Créez vos périphériques sur l’interface 2. Allez dans configuration, puis onglet divers 3. Cliquez sur télécharger le xml 4. Le XML est à placer dans le répertoire macros de votre YURI le mot clé de reconnaissance vocale, sera le nom que vous avez donné au périphérique Si vous avez des problèmes de portées, de gros parasites, ou de mauvaise communication, pensez a faire ces deux choses : • Prendre une alim externe pour les cartes radio et les l’alimenter au maximum de ce qu’elles sont capables de faire (cf la clause “voltage max” de fiche technique, souvent c’est entre 5 et 12V) • Souder un fil conducteur de 17.3 cm a l’émetteur et au récepteur pour servir d’antennes. Avec ces deux points, vous pouvez passer de quelques centimètres à plusieurs centaines de mètres de portée, la différence est vraiment flagrante. Année 2014­2015 Geek
  • 66. Mohamed Bouhamed To be human you must to be Geek Raspberry PI ~ 13 : Détecter l’ouverture des portes et fenêtres En attendant que je parvienne à trouver la motivation pour monter la vidéo sur la sonde température radio (j’ai la vidéo, mais mon monteur est en plein partiels et je n’ai aucune notion d’adobe première ^^), je vous lance ce ptit tuto à vous mettre sous la dent. Aujourd’hui nous allons voir comment détecter l’ouverture d’une porte, d’une fenêtre, ou de quoi que ce soit qui s’ouvre ou qui se ferme, avec le raspberry PI et un petit composant à environ 3€. L’état de la porte (ouverte/fermée) sera visible depuis une interface web, ou depuis notre interface de reconnaissance/synthèse vocale YURI (implantée dans les précédents tutoriaux sur le raspberry PI) Le principe : Un mini aimant est fixé sur le bord de la partie mobile votre porte (que nous appellerons le battant), et un petit capteur sera fixé sur la partie fixe de la porte (que nous appellerons tenant), ce capteur est nommé “capteur à effet de hall”. C’est quoi ce composant cheulou au nom barbare ? Un capteur à effet de hall est simplement un composant qui vas renvoyer 1 ou 0 si il est, ou non, à proximité d’un champs magnétique (par exemple émis par un aimant) D’une certaine manière, c’est un bête interrupteur, à ceci près qu’il ne réagit pas à une pression mais à une “magnétisation” proche. Mais alors, pas besoin d’un composant, pourquoi ne pas utiliser juste deux fils qui se touchent ? Et bien surtout à cause du frottement, l’avantage du capteur a effet de hall est qu’il n’y a aucun contact “physique” puisque celui ci est magnétique donc : 1. Pas de risque que le montage bloque la porte 2. Pas de risque que l’usure du frottement abime le circuit 3. Moins casse gueule et moche qu’un bête système de fils 4. Sur la partie mobile, pas besoin de fils, d’alimentation, ou du moindre circuit : un aimant est en moyenne actif 400 ans, ne nécessite aucune alimentation,ne coute rien, et peut être minuscule. Vous l’aurez compris, ce capteur à effet de hall sera branché au raspberry PI et lui enverra du 0 (l’aimant est lointain donc la porte est ouverte) ou sur 1 (l’aimant est proche donc la porte est fermée), le rapsberry Pi mettra à jour sa base de données (ici un simple fichier texte) qui sera alors consulté par l’interface web et par YURI. Année 2014­2015 Geek
  • 67. Mohamed Bouhamed To be human you must to be Geek Ce que je ne vous dis pas Oai je sais, c’est con puisqu’au final je vous le dis, mais respectez mon style littéraire bande de gaufres ! J’ai dis plus haut que le capteur renvoyait une valeur digitale (0 ou un 1) et fonctionnait un peu comme un interrupteur, je vous ai mentis En réalité le capteur seul est plus une “résistance” qui vas varier en fonction de la proximité du champs magnétique et renvoyer une valeur analogique (0.2,1.4 etc…), et c’est un problème pour nous qui avons besoin d’un 0 ou d’un 1. C’est la raison pour laquelle nous avons commandé un capteur avec un petit circuit associé, ce circuit comportes quelques autres composants qui vont traiter la valeur analogique et, a partir d’un certain seuil, définir qu’elle envoie un 0 ou un 1 (ex : si la résistance est entre 0 et 2,5 on envoie 0, sinon on envoie 1) . Et la ou cette petite carte est top, c’est que vous avez la possibilité de régler ce seuil !! En effet un ptit potentiomètre qui se présente sous la forme d’une vis (donc réglable avec un tournevis plat) permet de faire varier ce seuil, ainsi nous pourrons agir sur la sensibilité de notre détection de porte en fonction de la porte et de la puissance de l’aimant choisis. Je vous conseille bien évidemment de commander les aimants conseillés ci dessous qui sont minuscules et surpuissants, mais sur la théorie n’importe quel aimant avec un peu de portée fait l’affaire :). Le matériel : • Votre fidèle raspberry PI • 1 Capteur à effet de hall~3€ (mais il y a moyens de trouver moins cher je pense) edit: le lien semble mort, vous pouvez prendre celui la, qui est sensiblement identique ou encore ce modèle non ajustable à 1,7€ (fdpin) : http://dx.com/p/hall-magnetic-sensor-module-for-arduino- dc-5v-135033 • 1 Aimant Rare earth surpuissant ~1€ les 5 Le montage : Une grand mère unijambiste pourrait faire ce montage dans le noir mais je vais quand même vous le spécifier histoire que les lecteurs les moins sobres puissent nous suivre : Année 2014­2015 Geek
  • 68. Mohamed Bouhamed To be human you must to be Geek nb : J’ai choisis de relier les données sur le pin physique 11 du raspberry, qui correspond au numéro “0” avec la librairie wiring PI. Le code : On vas avoir : Un programme en C qui vas vérifier toutes les x secondes l’état du pin “0” (qui sera donc à 0 ou 1 en fonction de si la porte est ouverte ou fermée) et envoyer l’état a une page php. Une page php qui vas enregistrer la valeur dans une base de données (ici un fichier texte) Enfin une page html basique qui vas faire un appel ajax au fichier texte de la base de donnée toutes les x secondes et afficher “porte fermée” ou “porte ouverte” en fonction du contenu du fichier texte. Notez que dans le fichier PHP nous avons aussi prévu quelques lignes pour yuri (yuri requête sur la page php, qui vas vérifier l’état du fichier et retourner à yuri la phrase a dire en conséquence “porte fermée” ou “porte ouverte”). 1. idleman.fr/ressources/PHP/capteurOuverture.zip Année 2014­2015 Geek
  • 69. Mohamed Bouhamed To be human you must to be Geek 2. Décompressez son contenu dans /var/www/capteurOuverture 3. Réglez les permissions des fichiers (sudo chmod -R 777 /var/www/capteurOuvertureou moins bourrin avec un 775 ou un chown www-data) 4. Si vous voulez utiliser YURI, copiez le xml ouverture.xml du zip dans votre répertoire macros de yuri, et éditez le en remplaçant “votre.raspberry.pi” par l’adresse réseau de votre raspberry PI L’utilisation Lancez le programme en C avec les paramètres : 1. Adresse de la page php 2. Numéro wiring Pi du pin auquel vous avez relié le capteur ex : ./capteurOuverture /var/www/capteurOuverture/capteurOuverture.php 0 Lancez l’adresse http://votre.raspberry.pi/capteurOuverture (en remplaçant évidemment “votre.raspberry.pi” par l’adresse réseau de votre raspberry PI) Ouvrez/fermez votre porte et visualisez le résultat sur l’interface web Interrogez yuri en ouvrant/fermant votre porte C’est tout pour aujourd’hui bisous mes poulets, moi je part fêter mon quart de siècle ! Année 2014­2015 Geek
  • 70. Mohamed Bouhamed To be human you must to be Geek Raspberry PI ~ 14 : Surveiller les performances du rpi depuis le web C’est bien beau de traficoter tout un tas de truc avec notre raspberry PI ! Mais celui ci étant une frêle petite bébête, il peut être intéressant de le contrôler un peu question performances. Et ça tombe bien, il existe une interface web mimi comme tout justement faite pour ça !! RaspControl vous permettra de monitorer de nombreuses infos sur l’état de santé de votre raspberry pi,n’importe quand et n’importe ou. Ce petit logiciel en PHP est “standalone” c’est à dire qu’il peux tourner sans que vous ayez au préalable installé un serveur web. Avec raspcontrol, vous pourrez consulter des informations mais aussi effectuer quelques actions comme redémarrer le système, redémarrer /stopper/démarrer apache, consulter vos fichiers de logs, mettre à jour les paquets, mettre à jour le firmware, relancer ssh etc..etc… Année 2014­2015 Geek
  • 71. Mohamed Bouhamed To be human you must to be Geek Installation Tenté par raspcontrol ? Alors installons tout ça !! EDIT : Comme l’équipe de dev de ce programme s’amuse à changer son archi tout les 4 matins, il est possible que ce qui suit ne corresponde plus à la réalité, je vous conseille donc de vous reporter au tuto d’instal officiel pour plus de sûreté :) N’oublions par avant tout de faire une mise à jour générale des paquets sudo apt-get update sudo apt-get upgrade 12 sudo apt-get update sudo apt-get upgrade On installe ensuite le paquet php5-cli qui permet simplement de faire du php en ligne de commande sudo apt-get install php5-cli 1 sudo apt-get install php5-cli On se place dans un répertoire quelconque, on télécharge l’archive de raspcontrol et on la décompresse cd /home/pi/ wget https://github.com/Bioshox/Raspcontrol/zipball/master unzip master 123 cd /home/pi/ wget https://github .com/Biosho x/Raspcontro l/zipball/mas ter unzip master Année 2014­2015 Geek
  • 72. Mohamed Bouhamed To be human you must to be Geek Le dossier décompressé à un nom barbare, donc on le renomme “monitoring” (ou autre, comme vous voulez) mv Bioshox-Raspcontrol-694435b/ monitoring 1 mv Bioshox-Raspcontrol-694435b/ monitoring Théoriquement, on peux lancer le programme à ce stade, le problème c’es qu’il vas se lancer sur le port 80, qui est déjà utilisé par notre serveur web (apache, lighthttpd ou nginx…) donc on chance le port en éditant le fichier d’exécution du programme : cd monitoring nano start.sh cd monitoring nano start.sh Remplacez 12 HOST=0.0.0.0 PORT=80 HOST=0.0.0.0 PORT=80 Par 12 HOST=0.0.0.0 PORT=8080 12 HOST=0.0.0.0 PORT=8080 (ou un autre port en fonction de ce qui est déjà pris chez vous) et enregistrez (ctrl+x, Y puis entrée) Vous pouvez ensuite lancer le programme avec la commande : sh ./start.sh 1 sh ./start.sh Année 2014­2015 Geek
  • 73. Mohamed Bouhamed To be human you must to be Geek (vous devez être situé dans le répertoire “monitoring”, si ce n’est pas le cas, il faut taper le chemin complet vers start.sh) Vous pouvez alors accéder via un navigateur a votre panel de contrôle à l’adresse : http://votre.adresse.raspberry.pi :8080 (remplacez “votre adresse raspberry pi” par l’adresse réseau de votre rpi) A la première connexion, raspcontrol vous demande de créer un compte, entrez donc un identifiant et un mot de passe Cliquez sur “create account”, vous retombez alors sur un écran similaire qui vous demande de vous identifier, remettez les même identifiants puis “login”, ça y est, vous êtes sur le monitoring !! Année 2014­2015 Geek
  • 74. Mohamed Bouhamed To be human you must to be Geek L’installation/utilisation est terminée, cependant si vous ne voulez pas être embêté très prochaine, il vous faudra faire une petite manip !! En effet vous remarquerez que si vous fermez votre terminal, le star.sh s’arrête et vous ne pouvez plus accéder à votre monitoring (zut !). Pour résoudre ce problème, il existe plusieurs manières de faire (non vous n’allez pas laisser votre console ouverte 24/24h 7/7j bande de gougnafiers ^^) la plus simple reste encore d’utiliser Screen. Screen est un petit utilitaire qui permet d’ouvrir une console en “tâche de fond”, ainsi vous pouvez y lancer des programmes sans avoir a garder votre terminal ouvert. Installons d’abord Screen sudo apt-get install screen 1 sudo apt-get install screen Année 2014­2015 Geek
  • 75. Mohamed Bouhamed To be human you must to be Geek Puis lançons notre monitoring à travers Screen screen -dmS Raspcontrol sh ./start.sh 1 screen -dmS Raspcontrol sh ./start.sh Vous verrez alors que vous pouvez fermer votre console sans interrompre le programme ! Sympa non ? Mais un dernier problème se pose !! ( hé hé hé ) Que se passera t’il quand votre raspberry PI vas redémarrer ? Plus de screen en tâche de fond, donc plus de monitoring, obligé de relancer la commande ci dessus (fuck !!) On vas donc créer une petite tâche planifiée qui vas se lancer automatiquement au reboot du rapsberry et qui vas exécuter notre commande screen. On ouvre notre gestionnaire de tâche planifiée crontab -e 1 crontab -e On y ajoute la ligne suivante à la fin du fichier @reboot cd /home/pi/monitoring &amp;&amp; screen -dmS monitoring sh ./start.sh 1 @reboot cd /home/pi/monitoring &amp;&amp; screen -dmS monitoring sh ./start.sh On sauvegarde (ctrl+X, Y, puis entrée) et c’est bon !! Notez bien que le combo screen + cron au démarrage est très puissant et vous permet de lancer tout un tas de programmes automatiquement et en tâche de fond au démarrage de votre raspberry pi (par exemple la commande startx pour afficher un bureau visuel ou autres…) Si vous voulez accéder a votre interface de monitoring depuis autre part que votre réseau, pensez a débloquer le port 8080 de votre box . Année 2014­2015 Geek
  • 76. Mohamed Bouhamed To be human you must to be Geek Notez bien que cette application est codée avec les pieds, mais qu’elle à le mérite d’exister, de fonctionner relativement bien et qu’elle pose les bases de la récupération d’infos importantes pour monitorer le rasp . Année 2014­2015 Geek
  • 77. Mohamed Bouhamed To be human you must to be Geek Raspberry PI ~ 15 : Créer sa propre prise radio (et autres périphériques) pour 6€ Mercredi, 13 février 2013 Ce post est le quinzième d’une liste de tutoriels sur le raspberry PI, cliquez ici pour accéder au sommaire ! Suite à nos précédents tutos sur le Raspberry PI et la domotique contrôlée par radio (et notamment le tuto 12), certains d’entre vous m’ont demandé si il n’était pas possible de se passer de prises Chacon, d’autres m’ont demandé si des multiprises existaient sur le même principe, quant à moi je souhaitais de débarrasser de Chacon pour diverses raisons : • Je voudrais, sur le long terme, personnaliser le protocole radio (inclure une notion d’état de la prise, en retour de consommation d’énergie etc..) • J’aimerais construire de A à Z mon système domotique dans une optique pédagogique (100% DIY) • J’aimerais ajouter quelques gadgets dans ma prise (pourquoi pas un capteur de température ou de consommation de courant ? :D) C’est pourquoi nous allons aujourd’hui construire notre propre prototype de prise radio (pouvant facilement être transformée en multiprise) commandée par le Raspberry PI Année 2014­2015 Geek
  • 78. Mohamed Bouhamed To be human you must to be Geek Je parle de “prototype” pour une bonne raison, bien que le montage fonctionne parfaitement, il peux être amélioré au niveau du “packaging” (boitier). Notez bien que vous devez au moins avoir lu le tuto 12 pour comprendre celui ci Vous êtes chaud patate pour commencer ? Voyons voir un peu le matos à se procurer Le matériel Pour aller plus loin, il vous faudra les curieuses bêbêtes suivantes : • Votre télécommande chacon OU votre rpi configuré comme dans le tuto 12 • 1 carte arduino duemilanove(c’est la moins chère 15€) • 1 Micro contrôleur ATmega 328-pu avec bootloader inclus(2.55€) (nb:le bootloader inclus est important, si vous achetez une puce vierge par mégarde, il faudra la flasher vous même) • 1 Résonateur ZTT 16.00mx(1.11€ les 5) • 1 Résistance 1.27Ω (brun rouge violet gris rouge) (enfin c’est ce que j’ai pris mais il semblerais qu’une 10k convienne mieux. • 1 Récepteur RF 433,92 mhz(1.28€ avec l’émetteur dont on ne se servira pas ici) • 1 Carte relais 5V 1 canal(1.26€) • 1 LED quelconque et sa résistance associée (j’ai pris une led au hasard + résistance 8.21MΩ (gris rouge brun doré) ces composants sont optionnels et servent juste de repères visuel lors du fonctionnement Notez bien que vous n’aurez à Acheter la carte arduino qu’une fois, elle nous servira de programmateur pour construire toute nos futures prises, de même, les résonateurs sont par lots de 5 et nous n’en avons besoin que d’un par prises. Vous en aurez donc environ pour 6€ par prises radio par la suite, notez que je ne compte pas l’alim (un vieux chargeur de portable récupéré fera l’affaire) ni le boitier (bah oui la vas falloir se dépatouiller avec un Tupperware qui traine XD), nous ne faisons pas vraiment ça pour le prix mais il faut souligner qu’on y gagne quand même par rapport au commerce (d’autant qu’il est possible de faire des multiprises avec ce montage et donc de réduire encore le cout par prises, on peux aussi remplacer/supprimer certains composants en bricolant (suppression du résonateur,remplacement de l’atmega par une Attiny etc..) mais je vais pas tout vous faire non plus :p). Attends attends…C’est quoi ton Arduino la ? Dans ce tuto nous introduirons les carte de programmation “Arduino” et leurs micro contrôleur Atmega qui nous permettrons de créer tous nos périphériques à bas cout sans avoir à acheter un raspberry à chaque fois ^^. Petite explication rapide sur l’arduino donc Année 2014­2015 Geek