a idea about raspberry pi and some project to, manipulate this micro pc, i like the presentation so that's why i make this slide on order to share this tuto, it can helps you and change your life :p
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 raspiconfig”)
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 20142015
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 && screen -dmS monitoring sh ./start.sh
1 @reboot cd /home/pi/monitoring && 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 20142015
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 20142015
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 20142015
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 20142015
Geek