raspberry pi

of 146/146
Mohamed Bouhamed To be human you must to  be Geek Raspberry PI & Arduino, domotique, robotique, et pleins de trucs en “ique” Année 2014-2015                                                                                                                                                Geek
  • date post

    08-Jul-2015
  • Category

    Engineering

  • view

    992
  • download

    6

Embed Size (px)

description

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

Transcript of raspberry pi

  • MohamedBouhamedTobehumanyoumusttobeGeek

    RaspberryPI&Arduino,domotique,robotique,etpleinsdetrucsen

    ique

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Sommaire : RaspberryPI~01:Prsentation

    RaspberryPI~02:Explorationtechnique

    RaspberryPI~03:BrancheretinstallerleRaspberryPI

    RaspberryPI~04:Configurerenserveur

    RaspberryPI~05:Protgernotreprcieux

    RaspberryPI~06:UtiliserleGPIOetInteragiraveclemonderel

    RaspberryPI~07:Allumer/teindreunevraielampeOUcommentfairedeladomotiquelowcost.

    RaspberryPI~08:Joueraveclesondesradio

    RaspberryPI~09:Creruneinterfacevocale

    RaspberryPI~10:CommanderleraspberryPiparradio

    RaspberryPI~11:Relieruncranetafficherdutexte

    RaspberryPI~12:Allumerdesprisesdistance

    RaspberryPI~13:Dtecterlouverturedesportesetfentres

    RaspberryPI~14:Surveillerlesperformancesdurpidepuisleweb

    RaspberryPI~15:Crersaproprepriseradio(etautrespriphriques)pour6

    RaspberryPI~16:MieuxcomprendrelespinsavecRaspins

    RaspberryPI~17:Unminicranpour 22

    RaspberryPI~18:Construireunesondedetempratureradiopour 7

    RaspberryPI~19:Optimisation,trucs&Astuces

    RaspberryPI~20:Creruntableaudebordconnectaunet(oucommentaugmenterlenombredeGPIO)

    RaspberryPI~21:Yana,unnouveaucurdomotique

    RaspberryPI~22:Creruneportedomotique(Partie1)

    RaspberryPI~23:Creruneportedomotique(Partie2)

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Raspberry PI ~ 01 : Prsentation:

    Vous est il dj arriv de dsirer ardemment quelque chose sans rellement savoir quelle utilisation vous en feriez ? Cest mon gros problme avec le raspberry pi

    Le raspberry pi cest quoi?Le raspberry Pi cest, pour faire court, un pc de la taille dune carte de crdit, pouvant supporter unedistribution linux, pour le prix de 30 euros (+-10).

    Le pi dispose de nombreux port/prises/capteurs , usb, ethernet, bluetooth

    Vous laurez compris, les applications de ce genre de matos sont nombreuses (et peu coteuses) dou lobjet de ma convoitise, et celle de quelques centaine de milliers de geeks.

    Imaginez les applications que vous pourriez faire dun mini serveur ddi portable 30 !!

    Domotique : installer des serveur raspberry sur chaque machine Electromnager et contrler chaque serveur depuis sont rseaux.

    Itinrance : 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 lesraspberry environnants.

    Piratage : The pirate bay pense mme fixer ce genre de matos sur des ballons stratosphriques pour mettre labri ses torrents de la juridiction (videmment cest une joke de ladmin, mais je trouve le concept presque viable si on ne tient pas compte de lautonomie, des variations climatiques, des volatiles, de la couverture rseau)

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Evidemment, recette victime de sont succs comme dirais McDonald, lachat est indisponible depuis fvrier et a me rend ma-la-de !!

    Mais il y a pire toute une communaut sest dj fonde sur le pi, des tas de programmes, plugins, trip and tricks existent dj certains ont mme invent un magnifique botier :

    Jen veux jen veux jen veux !!!!

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Raspberry PI ~ 02 : Exploration techniquecommander cette merveille ladresse suivante : http://downloads.element14.com/raspberryPi1.html?isRedirect=true

    Voyons un peu ce que contient la ptite boite, aprs moultes dballages :

    Oaaaaw une carte lectronique avec plein de bitoniaux, des prises partout et

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    pas de cble associ arrrgghh bon, je my attendais, les cbles (et la mmoire) sont acheter part, donc je fais un petit tour sur amazone et jachte les lments suivants :

    Je men tire pour 52 afin dacheter un cble Ethernet pour relier lengin au net, une carte SD qui fera office de mmoire morte sur la machine, un cble hdmi/VGA(DVI, cest plus sr) permettant de connecter mes crans au raspberry et un switch USB histoire de pouvoir brancher simultanmentsouris, clavier etc (bien que le raspberry semble disposer de deux ports par dfaut au lieu de lunique port USB que jattendais).

    Je devrais galement acheter un cble micro USB ( 3) pour me servir dalim (attention, le cble devrat tre aliment en 5V pour fonctionner avec le raspberry), mais il me semble que jen ai dj un qui trane (cest sensiblement les mme 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 botier styl 8 si je craque).

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    En attendant mes fournitures, faisons un peu le tour de lengin en lui mme :

    Une face comportant un simple port HDMI, cest donc pour la vido, et cest donc la que je brancherais mon cble HDMI/VGA fraichement command et je relierais lautre bout mon cran (jusquici, a ma lair simple), rien dautre signaler de ce ct, tournons un peu la carte

    Sur cette autre face, nous avons de gauche a droite : une sortie audio stro Jack 3,5 mm pour laudio (personnellement je ne compte pas utiliser le raspberry comme centre multimdia donc je men tape), un port jauntre que je ne connais pas mais qui est visiblement un port vido analogique, donc utile uniquement si vous souhaitez relier le raspberry votre vielle TV cathodique (useless) et une srie de broches GPIO

    Gni? Gpyo quoi?

    Les broches GPIO sont des ports dentre/sortie trs utiliss dans le monde des microcontrleurs, ilsvous serviront ici uniquement si vous tes un peu cal en lectronique et que vous souhaitez raccorder le raspberry pi par exemple a une lumire ou a un interrupteur (peut tre trs intressant sivous voulez faire de la domotique pas cher dans votre maison).

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Voir une petite vido ici : http://www.raspberrypi.org/archives/1417

    Si vous navez rien compris cette histoire de broches, ce nest pas bien grave vous pourrez quand mme profiter de votre raspberry en toute impunit, passons donc la suite.

    De gauche droite : un port Ethernet, cest donc la que je brancherais le cble Ethernet que jai command afin de procurer le net au raspberry PI, lautre bout du cble sera bien entendu branch ma Freebox. Et enfin deux magnifique port USB, ou je vais mempresser de brancher mon switchUSB histoire davoir 4 ports espacs 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 cble micro USB que je nai dailleurs pas achet parce que je dois en avoir une vingtaine).

    Enfin dernire petite chose : Sous la carte se trouve un petit compartiment pour placer la fameuse carte SD que nous avons command (8 Go minimum recommands).

    Je pense navoir rien oubli part peux tre le connecteur CSI (qui semble tre utilis dans le milieu de la vido) et le connecteur DSI (qui visiblement permet de brancher un touch screen si besoin est).

    Dans un prochain post et dici ce que je reoive mes fournitures amazones, nous verront comment brancher et installer la distribution linux adquate (Raspbian wheezy , conue spcifiquement pour raspberry ou la distribution Arch Linux ARM qui fonctionne aussi) sur la carte SD.

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    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 conseills) le systme dexploitation qui nest autre quune 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 cest galementle 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 spcialement conu pour le raspberry jai nomm raspian.

    Je tlcharge donc raspian wheezy ici : http://www.raspberrypi.org/downloads

    Pour linstaller sur la carte SD, jutilise le programme utilitaire Win32DiskImager disponible ici : http://www.softpedia.com/get/CD-DVD-Tools/Data-CD-DVD-Burning/Win32-Disk-Imager.shtml

    Jexcute Win32DiskImager qui me demande le chemin vers limage de raspian (.img) ainsi que le lecteur sur lequel je veut linstaller (donc ma carte sd prcdemment entre 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 donnes de carte SD est apparus (je minquite pas trop parce que quand mme, il faut bien avouer que ladite carte est vierge)).

    Au bout de quelques secondes (qui vont vous sembler une ternit si vous tes aussi fbriles que moi) los est dploy sur la carte.

    1 carte SSD plugger

    Jenlve donc la carte SD de mon pc pour la brancher directement sur la prise prvue a cet effet situe sous le raspberry.

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Je peux maintenant passer au branchement de mes cbles pour alimenter la bte :p !!

    5 cbles brancher

    Dans le sens des aiguilles dune montre (et en partant du cble le plus haut) nous devons brancher :

    Le cbles HDMI (dont lautre bout sera reli a votre cran par du DVI ou de lHDMI en fonction du cble et de lcran que vous avez sous la main)

    Le cble micro USB, qui vous servira a alimenter votre raspberry PI (lautre 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 cble 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 cble Ethernet, qui sera reli a votre box ADSL et vous permettra par consquent davoir le net.

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Une fois le bousin branch et aliment, une inquitante lumire rouge sallume sur le raspberry puisune jaune, puis deux vertes, et la magie opre

    ou pas :p !!

    En effet chez moi aucun signal vido nest mis.

    Aprs quelques recherches, cela viendrait de los qui se serait mal install sur la carte, jai donc rinstall raspian et a fonctionne.

    Et jai eu la chance dobtenir une console de ce type sur mon cran :

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    1 identifiant en qwerty taper

    Login : piMot de passe : rqspberry (car votre clavier est en anglais a ce moment prcis)

    a y est, vous tes logu sur votre magnifique serveur et pouvez menvoyer quelques petites commentaires narquois pour me rendre jaloux ^^

    Nb: Sur les dernires versions, raspian nous mche 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 daller directement mettre le clavier en azerty (clavier francais) via loption du tableau configure_keyboard Set keyboard layout.

    Slectionnez 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 cest vachement long pour un si ptit truc). Votre clavier est donc maintenant normalement en franais, nhsitez pas a rebooter si la modif na 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 rglage 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 cest le redimensionnement de la partition systme, en effet le systme prend par dfaut la quasi totalit de votre carte SD (ne me demandez pas pourquoi) quil nutilise pas, en redimensionnant cette partition vous regagnez la place injustement pille par le systme.

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    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 systme vas alors redmarrer avec bien plusde place votre disposition.

    Pas trs laise avec la ligne de commande? Quittez lecran de config pour arriver sur la console, ettapez startx (ou stqrtx si vous navez pas encore chang la config clavier) pour lancer linterface graphique.

    Cest quand mme vachement plus sympa non ? Dans le prochain tuto, nous verrons comment installer les packages ncessaires pour transformer le raspberry en serveur web.

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Raspberry PI ~ 04 : Configurer en serveurMaintenant que nous avons install le systme dexploitation Raspian sur notre Raspberry PI (Raspian ntant autre quune distribution linux spcialement conue pour le Raspberry PI) et que nous nous sommes logu (sisi, rappelez vous des identifiants par dfauts > login : pi , mot de passerqspberry) nous allons pouvoir commencer les choses srieuses !!

    En premier pensez changer votre mot de passe administrateur :

    sudo passwd su

    1 sudo passwd suPuis faire un ptit update de vos paquets :

    sudo apt-get update

    12

    sudo apt-get updatesudo apt-get upgrade

    Une fois ceci termin, nous allons installer dune traite apache (un serveur HTTP permettant de publier du contenu Html sur le web), PHP (langage serveur permettant le traitement dynamique dinformations) et MySQL (une base de donne).

    Certains seraient tent dinstaller directement le paquet lamp-server qui englobe tous ces paquets, grossire erreur, le Raspberry ne lentendrait pas de cette oreille, il vous faut donc installer les paquets sparment (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

    Aprs quelques petites questions dusage, votre serveur web est en place, pour le tester rien de plus

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    simple, tapez la commande :

    ifconfig

    1 ifconfig

    et reprez ladresse IP rseau de votre Raspberry pi (trs certainement une adresse commenant par 192.168.*.*)

    Tapez cette adresse depuis un autre ordinateur banch sur le mme rseaux local et TADDAA!! It works !

    nb : si vous navez pas dautres pc sur le rseau, passez en mode graphique sur votre Raspberry PI.

    startx

    1 startxPuis ouvrez le navigateur install par dfaut et tapez ladresse suivante :

    http://127.0.0.1

    1 http://127.0.0.1

    Notez qua partir de maintenant, toutes les pages situes dans le dossier /var/www de votre Raspberry PI seront accessibles via ladresse rseau tape (uniquement depuis votre rseau) ou via ladresse WAN (votre adresse extrieure) une fois que vous aurez dbloqu le port 80 sur votre box/routeur pour ladresse rseau du Raspberry.

    Pour plus dinformation sur apache, MySQL et PHP je vous invite a lire la doc dubuntu : http://doc.ubuntu-fr.org/lamp nous ne traiterons pas plus en dtail de cette partie tant donn quil ne sagit pas de quelque chose de spcifique au Raspberry PI (libre a vous de menvoyer vos questions par mail ou par commentaires pour ceux qui ne connaissent pas).

    Je vous conseille galement linstallation du clbre paquet phpMyAdmin, script php permettant de grer facilement votre base de donnes MySQL depuis ladresse http://votre.ip/phpmyadmin :

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    sudo apt-get install phpmyadmin

    1 sudo apt-get install phpmyadmin

    (Le login par dfaut est root et le mot de passe est celui que vous avec renseign lorsque vous avez install MySQL)

    Note: Linstallation de phpmyadmin ne cre pas le lien symbolique permettant daccder phpmyadmin, il faut alors le crer 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 dcouverte des ports GPIO (enfin si dici la je gre un peu plus en lectronique, noubliez pas que je dcouvre avec vous )

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Raspberry PI ~ 05 : Protger notre prcieux

    Maintenant que nous disposons dun raspberry PI en mode serveur fonctionnel, il serait d bon gout de penser sa prennit sur le long terme !

    En effet un vilain coup de pied, un chat incontinent ou une chrie un peu gaffeuse (spciale ddicace) est si vite arriv et notre nouveau gadget (notre prcieux) est encore fragile dans son tat actuel.

    Cest pourquoi je ddie cette petite tape de tuto la prsentation des boitiers que vous pouvez acheter ou fabriquer pour lengin.

    La communaut raspberry PI tant ce quelle est, des boitier spcialement conu pour le rasp ont vus le jour, et je dois reconnaitre quils font propre :

    Le plus color : Pibow

    Pibow est un ensemble de couches colores a assembler sois mme, vendu entre 15 et 20 selon lendroit ou vous habitez (frais de ports variables), pour les ptit frenchies, ce sera 17.95

    Le gros avantage selon moi, cest le couvercle transparent qui laisse une bonne visibilit sur le circuit imprim tout moment, le jeux de couleurs peut tre disgracieux ou carrment avantageux selon vos penchants sexuels (blague, pas taper !! ).

    nb : Le boitier prvoit galement des extensions pour les modules de camra etc et semble vouloir sadapter aux futures volution du rasp, bon point !

    Le site de commande : http://www.pibow.com/

    Le plus pro : Standard case for raspberry PI

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Ce boitier vous offrira pour la modique somme de 25.51 quelque chose de tout fait propre et lgrement plus sobre que le prcdent .

    Il est galement disponible en semi opaque mais pas de quoi casser trois pattes un canard.

    Lavantage de ce boitier tant quil est assez simple a monter (deux parties a emboiter lune dans lautres) les manches du bricolages sorienterons 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 mme constructeur et offre un ct un peu plus design et rflchis que son prdcesseur pour 32.75.

    Les avantages que jy vois au premier coup dil, cest quils ont prvus pas mal darations ainsi quun relais optique pour chacune des LED du raspberry PI.

    La version existe aussi en noir et en semi opaque.

    Je pense quil sagit du boitier le plus adapt au raspberry, cest en consquence le plus cher.

    Le plus populaire : ModMyPI

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    ModMyPI est une entre de gamme qui a pour avantage de vous fournir un boitier solide (vous comprendrez avec le prochain boitier) pour une somme relativement rduite 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 dclinaisons ici : https://www.modmypi.com/shop/raspberry-pi-cases

    Le plus low cost : Punnet

    Punnet ceci davantageux quil sagit en fait dun origami a plier sois mme selon le patron suivant : http://squareitround.co.uk/Resources/Punnet_net_Mk1.pdf .

    Il ne vous coutera rien a lexception dune feuille cartonne (perso je vais tenter de prendre un truc plastifi galement).

    Lavantage est tout trouv, cest du gratuit et pour un prototype de test de rasp, a me conviendras trs bien , dautant que nous aurons peut tre a investir encore 30 dans une carte dextensions pourceux qui me suivront dans la partie domotique donc autant faire des conomies de bout de ficelles.

    Cest tout pour aujourdhui, videmment nous navons fait quun tour dhorizon, il existe videmment dautres botiers, mais je vous laisse un peu chercher histoire de vous faire vos propres avis sur la question (et puis jai la flemme de tous les rpertorier ici).

    Nb : Avec le raspberry PI, tout est permis, faites fonctionner votre imagination, certains nont pas attendus pour construire leurs propre boitiers de Rasp et je dois reconnaitre que a dgomme tout !

    Dans le prochain tuto, nous nous initierons la maitrise des PIN GPIO (les petites broches sur un

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    coin de la cartes) afin daborder la partie domotique, il faudra tre indulgent, je dcouvre en mme temps que vous, et llectronique nest pas du tout mon fort (dailleurs si certains de vous sy connaissent un peu, quils nhsitent pas me contacter).

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Raspberry PI ~ 06 : Utiliser le GPIO et Interagir avec le monde rel

    Chez lecteurs (lectrices) nous arrivons la partie la plus intressante, selon moi, de lutilisation du raspberry PI.

    Il sagit de lutilisation des ports GPIO (les 26 broches situes en haut a droite de votre raspberry). Cela ne vous voque rien ? Et bien dites vous quil sagit simplement dune porte permettant a vos programme dinteragir avec le monde rel

    Je ne lai jamais cach, mon objectif concernant le raspberry est de pouvoir lutiliser comme un outil de domotique bas prix.

    Je souhaite donc utiliser ce dernier pour grer dans un premier temps, mon systme dclairage, et dans un second temps, dautres appareils et systmes lectriques de mon appart.

    Comme je suis une pipe en lectronique, jai commenc petit en construisant une maquette (le terme est pompeux vu la gueule de la maquette) de mon appart (aucune ressemblance avec le rel dailleurs) en me fixant pour dfis de le piloter depuis une interface web.

    Jai russi, et pour vous filer leau a la bouche (ou vous faire carrment bailler selon vos intrts)

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Pour ceux qui ne veulent pas de la vido, petit rcap en images :

    Jai dvelopp une interface web PHP appele depuis mon raspberry PI qui a cette tronche :

    Et une maquette papier de mon appart avec trois diodes lectroluminescentes (LED) :

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Je peux activer/dsactiver une LED de la maquette en appuyant sur la zone dtat de chaque lignes :

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Je peux galement appuyer sur le bouton Joyeux nol qui mallumera chaque diodes pendant une seconde tour de rle.

    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 jai fait : 1. Partie lectronique

    Je me suis intress aux ports GPIO du raspberry PI, ce sont de petites broches (au nombre de 26) qui peuvent se comporter en entre 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).

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Dans la suite de ce tutoriel, nous nommerons chaque PIN par leur numro dordre de haut en bas et de gauche droite (en prenant pour repre que la carte SD reprsente le haut du raspberry PI)

    Ce serait une erreur de penser que chaque port GPIO est utilisable, car nombre dentre eux sont rservs dautres tches que de servir dentre sorties pour nous pauvres mortels.

    EN ralit, seuls 8 ports sur les 26 sont vraiment disponibles, ce qui nous laisse la possibilit de contrler 8 matriels de notre appart diffrent maximums, a moins dacheter une carte dextension des ports.

    Voila le schma explicatif de chacun des PIN (source, le wiki de raspberry):

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    a parait peut tre compliqu comme a pour les nophytes de llectronique comme moi, mais a ne lest pas, voila les choses essentielles a retenir :

    Les numros sur le schma ne correspondent pas du tout aux positions physiques des pins (cest vrai, pourquoi se simplifier la vie aprs tout?) donc considrez que je vous donnerais toujours les numro physique et ne tenez pas compte des numro inscrit sur le schma

    Les pin 1 (en jaune) et 2 (en rouge) sont rservs a fournir du courant, le pin 1 fournis du 3,3volts, le pin 2 du 5 volts

    Le pin 6 (en noir) est la masse (donc 0 volts), on sen 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 rservs pour des trucs qui nous dpassent, si il y a un lectronicien

    dans la salle, je linvite a nous fournir une petite explication

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Donc globalement pour allumer une diode nous utiliseront ?

    Le pin de masse (pin 6 en noir) et un des pin entre sorties (au choix 7,11,12,13,15,16,18,22 en verts).

    Nous allons monter notre circuit lectronique de manire simplissime comme a :

    On vas utiliser la broche 11 (position physique) et la mettre a 0 ou 1 (via notre programme php), lorsquelle sera sur 1, le courant passera dans une petite rsistance de 270 Ohms (pour protger la Led et viter quelle claque) puis directement dans notre led qui sclairera.

    Enfin le circuit sera ferm a laide de la broche 6 qui sert de masse.

    a cest lidal, 2 diffrences sur mon circuit rel:

    1. Je nai pas de rsistance, jai donc fait sans, ce qui rend la LED vulnrable si elle est allumetrop longtemps (jentends dj les lectroniciens de lassistance grogner au fond de la salle XD)

    2. Je nai pas branch une, mais 3 led (pour rendre ma maquette un peu plus vivante), pour se faire, rien de plus simple, jutilise deux ports de plus et je relie tout a la masse :

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Pour monter votre circuit, de simples fils suffisent, cependant je vous conseille trs vivement dacheter ou de dgoter quelque part des connecteurs adapts aux broches afin dviter les faux contacts avec le pin, un cble dimprimante dmont comme le mien ferait laffaire aussi :

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    pour relier lautre bout de mes fils aux diodes, jai utilis une table de connexion que javais achet pour faire un peut dlectronique amateur, videmment vous navez pas a investir vous aussi la dedans, cest juste plus pratique que dentortiller voir souder les fils autour des pattes de chaque led.

    Comment jai fait : 2. Partie programmation

    Une fois le montage lectronique effectu, vous allez devoir signaler au raspberry PI douvrir 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 bte 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 ltat de la pin 11 1

    Une fois cette librairie installe, 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 linstaller 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 dfinira le PIN 11 comme une sortie

    gpio write 0 1

    1 gpio write 0 1

    La diode connecte a la PIN 11 devrait sallumer, tapez alors

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    gpio write 0 0

    1 gpio write 0 0

    Pour lteindre

    Et la si vous suivez vous tes en train de vous dire : Attends un peu, il a mis 0 et pas 11 comme numro de pin ?!!

    Cest juste, seulement rappelez vous que les lectroniciens adorent les numro de PIN logiques qui ne correspondent pas aux numro physiques, notre pin qui se situe physiquement a la 11 eme position est reprsent dans lordinateur comme le numro 0

    Han mais comment savoir qui correspond quoi maintenant?

    A laide dune super table de correspondance fournie par notre amis crateur de wiringPi :

    Les numros centraux sont les positions physiques des PIN, les numro 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 jutiliserais le chiffre 3, pour le pin 12 le chiffre 1, pour le 11 le 0 etc

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Ca vas tre vraiment chiant grer tout a

    Cest la que ma petite interface PHP vous facilite la vie, jy ai intgr la table des correspondances, vous naurez donc vous soucier que des positions physiques des PIN.

    Mon script est disponible a ladresse :http://idleman.fr/ressources/PHP/pihome.zip

    Tlchargez le et dcompressez le dans le dossier /var/www de votre raspberry PI

    Puis accdez a ladresse internet de votre raspberry PI (en tapant 127.0.0.1 dans un navigateur si vous tes depuis le raspberry PI ou en tapant ladresse IP rseaux du raspberry PI si vous tes sur unautre PC du rseau).

    Si vous voulez ajouter/supprimer/modifier le nombre de LED, les ports utiliss etc vous avez juste a modifier le fichier configuration.php aux lignes suivantes

    Ajoutez le libell de la led et son numro physique de PIN associ.

    Cest tout pour aujourdhui, cette partie du rasp nest pas facile apprhender pour les gens qui ne viennent pas du monde informatique ou du monde lectronique, nhsitez donc pas a poser vos questions ici si vous avez le moindre soucis .

    Dans un prochain tuto, nous tenterons dagrandir lexprience et de contrler non pas des LED maisde vritables lampes dappartement en utilisant le mme principe (mais un tout petit peu plus dlectronique)

    Edit : Si vous avez install lightppd au lieud apache, a ne fonctionnera que si vous faites la manip

    suivante (partage par Zescientist ):

    Hello,Suite linstallation de Lighttpd (en suivant le tuto 19), je me retrouve avec ce tuto ici qui ne fonctionne plus. Aprs plusieurs heures de recherches, le problme vient du fait que Lighttpd excute la commande system() uniquement pour les applications places dans /usr/bin, or, en suivant ce tuto, la commande gpio est lance partir de /usr/local/binLa solution a t de dplacer lapplication gpio dans le bon dossier, ce qui nest pas propre du tout mais je nai pas trouv comment changer le dossier dans la config du serveur.

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Raspberry PI ~ 07 : Allumer/teindre une vraie lampe OU comment faire de la domotique low cost.

    Mais peu importe, lapplication est exactement la mme, on se passera de lampe pour cet exercice (cest la faute a ma chrie qui na pas voulu me laisser sa lampe de chevet lapin crtin comme sujet dexprience, lhrtique !!)

    Comme promis nous allons voir aujourdhui comment utiliser le raspberry PI et plus prcisment les ports GPIO (broches) de la carte pour contrler un lment lectrique de votre habitation, cet lment peut tre nimporte quoi : une lampe/lumire, un rveil, un frigo, une tv, bref tout ce qui vous passe par la tte .

    EDIT : Dsol la vido est perdu ^^, vous pouvez mater les vidos des tutos suivants pour avoir un exemple de ce quon vas faire, de mon cot je referais la vido quand jaurais une tite minute moi

    Prt a tenter le coup? Cest vraiment pas compliqu, il suffit de saccrocher un tout petit peu

    Voici les lments requis pour cette exprience :

    - Un ordinateur, branch sur votre rseau

    - Un raspberry PI (~30), commander ici : http://fr.farnell.com/raspberry-pi

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    - 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 nest plus disponible en stock, nimporte quelle carte relais de 5v avec une charge maximale assez haute (disons 10A) fera laffaire. Une carte deux relais (au lieu de est disponible pour moins cher sur le mme 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 mme. Bref nhsitez pas regarder rgulirement sur ebay dans les achats immdiats catgorie monde entier, il y a souvent dexcellent prix et livraison gratuite.

    - Un rveil (ou une lampe, ou ce que vous voulez) auquel vous ne tenez pas (ou vas couper du fil)

    Dans cet exercice nous ne contrlerons quun seul appareil, mais notez bien quavec ces cartes vouspouvez en contrler 8 simultanment, si vous avez suivis les prcdents tutos sur les broches GPIO et que vous lisez attentivement celui ci, a ne vous posera aucun problme de relier correctement les

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    fils.

    Dans notre prcdent tuto Raspberry PI ~ 06 : Utiliser le GPIO et Interagir avec le monde rel nous avons allum et teint des diodes laide dune interface web, nous allons maintenant passer la vitesse suprieure en remplaant les LED par un rveil.

    Concrtement, le rveil est aliment en 220V (branch a une prise de courant normale) et le raspberry peux fournir du 5V maximum, il parait vident quil nous faut un mdiateur entre lesdeux afin que le raspberry puisse contrler le rveil.

    Ce mdiateur sappelle une carte relais, cest tout simplement une carte qui vas servir dinterrupteur lectronique pour le rveil, interrupteur command par le raspberry.

    Un petit schma simpose :

    Tout part du PC, on se connecte depuis le PC au site web quon a cr sur le raspberry PI (cf les tutos prcdents) et on clique sur le bouton dactivation (crois rouge) du PIN 7 physique (qui correspond en fait au port GPIO 4 logique) de linterface web.

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Ceci envoie un signal au raspberry qui met le port GPIO 4 1 (jusqua prsent, il tait a zro).

    La carte relais est branche de manire a ouvrir le circuit du rveil quand ltat du GPIO 4 est a zro(donc le rveil est teint) et a le fermer quand ltat est a 1 (donc le rveille sallume).

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    La carte relais est donc un interrupteur command par le port GPIO4, mais comme cet interrupteur est lectronique, il a besoin dtre aliment, cest pourquoi en plus du port GPIO4, deux fils (5v et masse) sont relis a la carte pour alimenter celle ci en 5V.

    Pour tre plus prcis au niveau du raccordement, voila un autre schma de ma composition :

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Notez bien que la carte relais supporte une puissance de 10A,soyez donc prcautionneux en fonction de ce que vous y branchez, vous avez des risques de griller votre carte relais.

    Enfin trs 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 prolonge, utilisez une alimentation externe (mme montage sauf que vous reliez le + et l de la carte a lalim externe et le de la carte relais au rpi (pour fermer le circuit de commande)

    Nhsitez pas poser vos questions dans les commentaires et a faire vos remarques, surtout ceux qui ttent en lectronique car jimagine que jai dis et fait dans ces tuto pas mal dhrsie et que mme si a marche a peut grandement tre amlior.

    Dans les prochaines tutoriaux nous trouverons un moyen de packager tout ce beau monde dans une multiprise lectrique (une multiprise connecte en quelque sorte) et nous verrons comment commander vocalement le systme afin de remplacer linterface web qui nest pas trs utile dans uen application domotique.

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    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 concrte, 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 inconvnients, nous verrons lesquels (mais je suis sr que vous devinez bandes de ptit coquins).

    Cette premire partie expliquera comment mettre et recevoir des ondes hertziennes avec le raspberry PI (en passant par une brve piqure de rappel de notions du collge que je pensais pourtant avoir soigneusement refoules).

    Deux minutes de thorie ultra vulgarise :

    Une onde radio cest une onde lectromagntique qui, comme son nom lindique, ondule.(si voustes dj perdu, souriez et hochez la tte on y verra que du feu).

    Plus londe ondule vite, plus sa frquence est dite haute et rciproquement. (jentends au loin monprof de physique strangler de honte devant ma vulgarisation hrtique du phnomne).

    En gros une onde ressemble a :

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Si on augmente sa frquence a donne un truc comme a :

    Si on la baisse :

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    (Merci a FramboisePI qui ma fournis les graphique plus jolis que mes vieux gribouillis !)

    bref zavez compris le principe, a ne vous servira a rien dans cette premire partie, en revanche a sera utile plus tard

    Pour la petite prcision, une frquence pour unit le hertz et se mesure grce la formule f = 1/T

    car cest le temps que que met londe faire une tite ondulation (nomme priode si je ne mabuse, sur la troisime photo londe na fait quune priode en 1s on peux donc pensez que cest une onde dun hertz mais la je vous dis peut tre une grosse connerie donc amis ltr(oni)ciens nhsitez pas ame clasher dans les commentaires )

    Plus la frquence est haute, plus on peu passer dinformation rapidement, mais plus londe est courte (ne me demandez pas pourquoi)

    Trve de thorie chiante ! Passons laction !

    Nous, nous allons utiliser une frquence de 433,92 Mhz, a nest pas compltement innocent :

    1. 433,92 Mhz cest une sorte de standard utilis par de nombreux portails, stores, ouvertures centralises, prises tlcommandes etc (vous commencez a voir lintrt du truc?)

    2. 433,92 Mhz cest suffisamment haut comme frquence pour envoyer quelques infos rapidement, et suffisamment bas pour que a atteigne une trentaine de mtres de porte (voirplus avec antennes).

    3. 433,92 Mhz est compatible avec les rcepteurs domotique low cost Chacon dont nous parlerons plus tard

    4. 433,92 Mhz Cest la radio qucoute tout les jours chuck norris dans son bain avec son

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    canard qui fait pouic pouic (ok, il lui faut une bonne oue 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/rcepteur 433,92 Mhz

    Jai achet le mien sur conrad pour 15,95 mais dj a lpoque ctait de larnaque, et aujourdhui ils lont encore augment, donc je vous conseille plutot ce modle sur ebay 1,5 qui est exactement le mme ( une patte prs, dont nous ne nous servirons pas)

    Les schmas ci dessous sont pour le conrad, cest quasiment similaire avec celui debay mais la position des pattes nest pas la mme, 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 sr vous munir de vtre fidle raspberry PI en complment et a sera tout pour cette premire partie de tuto.

    Les branchements

    Cest tellement enfantin que jirais presque vous laisser lire la doc, mais comme je dteste lire les docs, je vais vous pargner a

    Nous allons brancher le rcepteur sur une PIN GPIO du raspberry et lmetteur sur une autre pin.

    Comme je suis un goret jutilise encore une fois le jus du raspberry (wha le super jeux de mots qui tue !) pour alimenter lmetteur et le rcepteur mais je vous conseille vivement dutiliser une alim 5v externe si vous voulez utiliser ce montage sur la dure

    Pourquoi? Et bien surtout pour une histoire de porte qui dpends du jus envoy dans les cartes radio, plus vous alimenterez les cartes (en respectant le voltage max sur la fiche technique quand mme, hein bande de gaufres :p) pour vous aurez de porte.

    Du coup comme le rpi alimente comme un naze (cest lune des grosse faiblesse de ce magnifique engin) il est possible que vous ayiez une porte minime (parfois quelques centimtres la ou vous devriez avoir 100 m, a rigole pas) du coup pensez alim externe, mangez alim externe, vivez alim externe.

    Commenons par notre metteur, petit bout de mtal trop mimi qui tient sur le pouce :

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    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 dtat logique (0 ou 1) relier a un PIN GPIO valide (nous choisirons le 7, cest une valeur sre :p)

    a donne ce montage la :

    Toujours en forme ? Bien ! Passons au rcepteur !!!

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    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 (cest presque monotone tellement ya pas de challenge T_T)

    Vous avez compris, on vas le brancher exactement pareil que lmetteur ( fil 5V et masse) mais sur une pin GPIO diffrente pour la borne logique :

    Notez bien que jai 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 faon de le tester :

    1. Relier une diode entre la masse et la borne logique du rcepteur, cette diode clignotera chaque fois que vous recevrez un signal

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    2. Relier une diode entre la masse et la borne logique de lmetteur, cette diode clignotera chaque fois que vous enverrez un signal

    3. Crer 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 dobtenir le(s) signal(aux) capt(s)

    Notez bien que si vous nhabitez pas la tchtchnie, il est possible que votre rcepteur reoive plein de signaux en continu alors que vous nmettez pas, en effet de trs nombreux appareil utilisant cette frquence il est possible que vous receviez des missions en 433,92 mhz de votre voisin ou mme de votre tlphone fixe sans fil (ou que sais je encore ^^).

    Notez bien : La mthode 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 cls de garages, vos interrupteurs de stores et autres diverses tlcommandes font saffoler la diode du rcepteur quand vous les actionnez :

    si cest le cas : vos machines sont en 433 mhz et nous pourrons bientt les piloter depuis le Raspberry (enfin, si jarrive a me dpatouiller avec la suite du tuto videmment ;p) personnellement, la porte du garage de ma rsidence ainsi que la voiture de ma copine sont sur du 433,92 (hurk hurk hurk jen connais un qui vas enfin prendre le contrle de ce taudis). Notez (encore) que certain rseaux radio sont scuris avec des signaux changeants, surtout sur les voitures rcentes, cas dans lequel nous ne pourront pas piloter lengin.

    Encore une dernire recommandation : ne soyez pas aussi con que moi, nessayez pas disoler votre rcepteur des signaux extrieurs en lentourant de papier alu XD, je sais pas pourquoi dans matte le papier alu ctait pas conducteur de chaleur donc a conduisait pas le courant non plus, rsultat : jai niqu un port USB et mon RPI fait la gueule un certain temps.

    Si vous avez des problmes de portes, de gros parasites, ou de mauvaise communication, pensez a faire ces deux choses :

    Prendre une alim externe pour les cartes radio et les lalimenter au maximum de ce quelles sont capables de faire (cf la clause voltage max de fiche technique, souvent cest entre 5 et12V)

    Souder un fil conducteur de 16.45 cm a lmetteur et au rcepteur pour servir dantennes.

    Avec ces deux points, vous pouvez passer de quelques centimtres plusieurs centaines de mtres de porte, la diffrence est vraiment flagrante.

    Merci a Yann PONSAR pour ses prcieux tuyaux sur le sujet

    Dans le prochain tuto nous verrons pourquoi et comment gnrer un signal 32 bit capable dallumer et dteindre tous les rcepteur de la gamme chacon (sorte de relais rcepteurs radio a bas prix qui sadaptent a votre appart/maison sans avoir a couper ou casser quoique ce soit)

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Raspberry PI ~ 09 : Crer une interface vocaleEn 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 grce 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 quon cherche faire :

    Moi : Yuri, allume la lampe du salonRaspberry PI (oui je lai appel Yuri ;p) : jawohl mein kapitn !!

    (oui je lui donne un accent allemand alors quil a un nom russe :p)

    *Lampe du salon sallume*

    Moi : Yuri quelle heure est il ?

    Yuri : Il est 18h41

    Ma chrie : Idle, arrte de jouer avec ce machin con de geek inutile, ton WAF baisse a vue dil

    Moi : Yuri Insulte la

    Yuri : Linsulte alatoire est : espce de cheveux sans racine

    Bon okay on pourrait se passer daller aussi loin mais on vas le faire quand mme, le but tant dapprendre simuler et a personnaliser une personnalit qui comprends vos ordres, effectue une action (contrler une lampe, envoyer une requte, faire une recherche sur le web, dire un truc inutileetc) et qui vous rponds en prime.

    Tenez une petite vido horriblement mal filme base de canard albinos et de drogue dure pour vous prouver que je naffabule pas :

    https://vimeo.com/52886695

    Bref nous allons simuler une IA type Jarvis dans le film Iron Man ou Sarah dans la gnialissime srie Eureka, je dis bien simuler puisquau final, il ny aura aucune intelligence derrire, juste unebte machine ragir (mais cest dj pas mal pour cette fois :p).

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Ce quil vous faut :

    1. Un pc avec windows 7 ou vista minimum 2. Un micro (celui de votre portable conviendra trs 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 permetde faire de la reconnaissance vocale (le pc vous coute), si la commande vocale est reconnue, il vas envoyer une requte web (http) votre raspberry PI

    Votre raspberry PI vas recevoir la requte et effectuer laction : ouvrir/fermer un port gpio (donc allumer/teindre une lampe ou tout autre objet lectrique raccord), ou encore rcuprer lheure serveur et vous la retourner, aller chercher les films qui passent au cin en ce moment etc et retourner un texte de rponse a la librairie Text To speech de Windows qui fait de la synthse vocale(le pc vous parle).

    Bref rien de sorcier en somme, certains dplorerons lutilisation dune librairie microsoft: cest vrai que cest bof, mais cette librairie a plusieurs avantages :

    elle fonctionne bien elle est install par dfaut sur tous les windows vista/seven et + (donc accessible beaucoup

    de gens) elle ne ncessite pas internet elle fait la synthse ET la reconnaissance vocale elle est configurable avec de simples fichiers XML il est possible davoir plusieurs voix et plusieurs langues gratuitement

    Et croyez moi pour trouver lquivalent sous linux il faut se lever tt (des lib comme sphinx et autres je ne veux plus en entendre parler, quand je dis lampe elle comprend canard albinos, cest drle les 10 premires minutes)

    Okay mais il vas falloir dvelopper un truc ne C# pour adapter tout a non?

    Cest la que le gnie de lun de nos prdcesseur geeks entre en jeu : quelquun y a dj pens et a dvelopp un petit programme au poil, S.A.R.A.H : pas dinstallation, fonctionne avec micro simpleou avec kinect (meilleur reconnaissance), mots cls configurable avec de simple fichier xml etc

    Le soucis cest que le mec utilise un serveur nodejs, et quil ne manuvre aucun rpi avec, donc jai modifi et surtout beaucoup allg S.A.R.A.H pour crer Y.U.R.I qui fonctionne avec apache, et quiest un peu plus lger.

    nb : Je tiens a prciser que le code source est intgralement de sarah, seuls quelques binaires (nodejs standalone, phantom etc..) ont t enlevs et quelques xml modifis

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Assez discutaill : au boulot !!

    Installation de Y.U.R.I sur le PC

    Tlchargez Y.U.R.I : idleman.fr/ressources/PHP/interface%20vocale/YURI.rar Dcompressez le .zip Ouvrez le dossier ./macroscontenant les XML de configuration et ditez le fichier rpi.xml Modifiez ladresse http://mon.rpi.fr/yuri.php par votre adresse de serveur rpi+/yuri.php ( ex :

    http://192.168.0.47/yuri.php )

    Nb : Vrifiez que votre pc Windows et votre raspberry PI sont bien sur le mme rseau et que vous pouvez bien accder 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

    Tlchargez le script yuri.php : idleman.fr/ressources/PHP/interface%20vocale/yuri-web.rar Dcompresser et placez le script dans le rpertoire web de votre raspberry PI (/var/www par

    dfaut) Vrifiez que le port GPIO 7 est bien branch a votre carte relais comme dfinis dans le

    tutoriel 7 de ce blog.

    Test du programme

    Sur votre PC, Cliquez sur lexcutable micro.exe la racine du dossier pour lancer Y.U.R.I Prononcez Yuri, allume la lampe du salon, YURI vas bien envoyer une requte vers votre

    page de Rapsberry PI qui vas allumer votre lampe

    Et voila !! Enjoy !!

    Pour ajouter des action vous mme, il vous suffira de crer un nouveau fichier xml avec la requte et les ordres associs, et de crer laction qui correspond dans yuri.php, vous pourrez ainsi pousser les choses trs loin, le concepteur de S.A.R.A.H a cr plusieurs requtes dexemples pour rcuprer la mto, grer un google agenda, trouver les films sur allocin etc

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Raspberry PI ~ 10 : Commander le raspberry Pi par radio

    Nous avions brivement abord lmission/transmission radio via le raspberry pi lors de notre tutoriel n8.

    Je vous avais promis une application concrte et plus pousse, nous allons donc aujourdhui donner des ordres au raspberry PI via une tlcommande radio achete dans le commerce.

    Commander le raspberry Pi par radio from idleman on Vimeo.

    Tent par lide de reproduire a chez vous ? Bien ! Mettons nous au travail !!

    NB : Vous devez avoir suivis les tutoriaux 04, 06,07 et 08 minimum avant daller plus loin.

    Le Matriel :

    Si vous avez bien suivi le tuto 8, la pluparts de ces lments sont dj en votre possession

    1. Un raspberry PI en tat de marche 2. un kit metteur/rcepteur 433,92 Mhz jai achet le mien 15,95 sur conrad mais je me

    suis fait avoir je vous conseille ce modle a 1.5 sur ebay qui fonctionne pareille et qui 200m de porteNB :Vous pouvez nacheter que le rcepteur pour ce tuto, mais nous auront besoin de lmetteur dans le tutos suivant donc autant grouper.

    3. Un kit tlcommande + 3 prises D IO by chacon modle 54795 vendu 29,95, encore une fois, nous nutiliseront dans le tuto que la tlcommande, mais dans le prochaine nous nous occuperons des prises donc autant grouper.

    Prenez bien le mme modle que moi, car il semblerais que le protocole radio varie lgrement dun modle a un autre

    1. Vous voila quip bande de veinards !!

    Installation :

    Branchez le rcepteur au raspberry PI en suivant les instructions du tuto N8, ceci permettra au raspberry de capter les ondes radios sur la frquence 433 mhz

    Si vous avez suivis le tuto N7, vous pouvez galement brancher votre carte relais sur lune des bornes du raspberry PI afin dallumer/teindre une lampe/un rveil comme dans la vido, sinon, vous vous contenterez de la partie envois de mail et affichage des codes de la tlcommande.

    Cest tout pour les branchements , maintenant voyons le code !

    Assurez vous que la librairie wiringPi (qui permet de grer facilement ltat 0 ou 1 des ports GPIO

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    du raspberry PI) est bien install sur votre raspberry PI.

    Tlchargez mon petit programme de rception en C + PHP nomm originalement radioReception

    idleman.fr/ressources/PHP/chaconPI/radioReception.zip

    Dcompressez le tout dans le rpertoire /var/www de votre raspberry PI

    LICENCE et README :Les infos sur la licence et autres du code. radioReception :lexcutable C qui vas parser les infos sur port gpio de rception 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 excut par le programme C, recevoir les

    infos du signal, et effectuer une action en consquence.

    Utilisation :

    positionnez vous dans le rpertoire du programme,

    cd /var/www/radioReception

    dfinissez que le programme peut tre excut 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 reues (identifiant de la tlcommande, numro du bouton, tat on/off etc..)

    7 : Numro WiringPi du PIN Gpio auquel est branch le rcepteur 433 mhz

    Vous pouvez maintenant appuyer sur les boutons de la tlcommandes et constater les actions effectues par le PHP.

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    chaque action excute le fichier PHP initialement entr en paramtre et lui fournis les informations suivantes :

    $sender: lidentifiant de la tlcommande $group: Si cest une commande de groupe (1) ou non (0), avec cette tlcommande, cette

    valeur sera toujours 0. $state: si le bouton est on (1) ou off (0) $interruptor : lidentifiant de la range de bouton de la tlcommande

    A vous de modifier le PHP et de dvelopper les actions qui vous semblent intressantes, je nai laiss que lexemple douverture/fermeture du port gpio 3 (15 em port physique) dans les sources.

    Si vous avez des problmes de portes, de gros parasites, ou de mauvaise communication, pensez a faire ces deux choses :

    Prendre une alim externe pour les cartes radio et les lalimenter au maximum de ce quelles sont capables de faire (cf la clause voltage max de fiche technique, souvent cest entre 5 et12V)

    Souder un fil conducteur de 17.3 cm a lmetteur et au rcepteur pour servir dantennes.

    Avec ces deux points, vous pouvez passer de quelques centimtres plusieurs centaines de mtres de porte, la diffrence est vraiment flagrante.

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Cest tout pour ce tuto !! Si vous ne voulez pas comprendre ce que vous faites, vous pouvez vous arrter ici ^^, sinon je vous invite a entrer avec moi dans les subtilits 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 pourallumer/teindre les prises chacon (et on pourra jeter cette vilaine tlcommande XD)

    Comprendre plus en profondeur :

    Cest une chose dappliquer btement un tuto, cen est une autre de comprendre entirement ses tenants et ses aboutissants, pour les curieux qui voudraient comprendre plus en dtail comment nousrcuprons et nous traitons le signal radio, voila quelques explications

    Zallez voir, cest pas ultra compliqu quand on a toutes les infos bout bout (ce que jai pass 2 mois a runir) mais il faut saccrocher un minimum

    Concrtement quenvoie la tlcommande chacon ?

    Cette tlcommande envoie un signal radio sur la frquence 433.92 mhz, ce signal respecte (plus oumoins) le protocole radio domotique home easy (trs mal document au passage).

    Le protocole home easy transmet les informations sous la forme dun 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 lutilisation de zoulies ptites couleurs , ce nest pas pour rien :

    Les 26 premiers bits (en bleu) correspondent lidentifiant de la tlcommandeLe 27em bit (en violet) correspond au numro de groupe (information que nous nutiliseront pas)Le 28em bit (en rouge), correspond ltat (ON ou OFF) envoy, 0=off, 1=onLes bits 29 32 (en vert) correspondent au numro du bouton de la tlcommande appuy

    La tlcommande vas donc envoyer le signal en fonction du bouton appuy, de la tlcommande et de ltat ON ou OFF de ce bouton.

    1. Okay mais on a un seul pin branch au rcepteur non ? comment on vas capter tout ces0 et ces 1 dun coup ?

    Cest une bonne question !! En fait toutes les infos vont tre envoy par le rcepteur sur le mme pin (dans notre exemple, le pin 7) mais avec des dlais 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 dlais dont je vous parlais sont de lordre de la micro seconde ! Donc un signal dans son intgralit a peu de chance de dpasser la milli-seconde ce qui est totalement ridicule pour la perception humaine :).

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Bon, et tas mis 2 mois pour comprendre a ?

    En ralit, nous ne sommes pas au bout de nos peines, cest un peu plus compliqu que ca , admettons que la tlcommande nous envoie le code :

    00011000101001010010100100010110

    Nous recevrions en ralit quelque chose comme a :

    01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101

    que nous traduirions en a :

    0101011010010101100110010110011001011001100101100101011001101001

    et enfin en a :

    00011000101001010010100100010110

    (on fait moins le malin la pas vrai ? )

    Hum, jy comprends plus rien la tu nous a bien enfl avec ton histoire de 32 bits !

    Cest juste , mais il fallait simplifier pour ne pas vous perdre ds le dbut ^^, en ralit le signal est bien de 32 bits, mais il est traduit deux fois avant mission et rception pour les raisons que nous allons voir ci dessous.

    La premire traduction, est lie a ce quon appelle le codage de manchester derrire 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 tlcommande

    00011000101001010010100100010110

    vas se transformer (avant dtre mis) en ce signal de 64 (car 32*2) bits :

    0101011010010101100110010110011001011001100101100101011001101001

    Mais pourquoi se compliquent tils 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 blinds ! Bref je ne vaispas mtaler 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 quil sagit dun parasite (car en prenant les bits par paire depuis el dbut du signal, on ne peux avoir que des 10 ou des 01 si le signal nest pas un parasite).

    Ok donc on juste une petite conversion faire, cest pas mchant, mais cest quoi la deuxime traduction alors ?

    Et bien la seconde traduction, cest tout simplement la transformation en onde, cest ce dont nous parlions tout lheure avec les dlais, par exemple pour que la tlcommande mette 1 il lui faut

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    envoyer une impulsion (impulsion qui nest autre quun passage de 0 1 ) avec un certain dlais entre le 0 et le 1 (pour signifie quon envoie un 1 et pas un zero.

    Donc envoyer un 1 reviendrais a envoyer ce genre de signal :

    Cest le dlais en micro seconde ou le signal est bas qui dfinit si un 1 ou un 0 a t envoy.

    Attention nous disons ici quun 1 a t envoy, mais comme nous respectons le codage de Manchester nous devons envoyer 10 :

    Comme vous pouvez le voir sur le schma pas du tout prcis, le premier front bas (qui reprsente le 1) est plus court que le second (qui reprsente 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 ny a plus rien comprendre par la suite (vous pouvez imaginer maintenant pourquoi jai mis un peu de temps dcrypter le protocole de cette fichue tlcommande sans la moindre doc et sans connaitre les lois de la radio transmission).

    Voila un petit graphique pour rsumer le chemin dun 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 dernire chose importante !

    Le protocol home easy, contient encore une petite subtilit : les verrous.

    Les verrous sont des bits mis par la tlcommande avant et aprs le signal afin dannoncer au

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    rcepteur que le signal commence et se termine (ce qui permet galement de distinguer un signal dun parasite).

    Ces verrous sont au nombre de 3 : deux avant le signal, un a la fin. Les pulsations de ces verrous sont trs long (pour les distinguer des pulsations de bits dinformations) de lordre dune centaine de micro secondes.

    Bon, jai bien tout compris, mais tu as oubli de nous donner quelque chose dimportant : les dlais de chaque pulsation (0, 1 et verrous) !!?

    Cest bien !! Vous suivez !! Et vous avez raison je ne vous les ai pas donns pour la raison suivante : je ne les connais pas ! Ha ha ha ha !!

    En fait cest la que le manque de doc se fait ressentir sur le protocole home easy :

    1. Aucune doc nest complte 2. Les docs se contredisent entre elles pour les dlais 3. La marque Dio by chacon semble altrer lgrement les dlais dun modle un autre (pour

    brouiller les pistes?)

    Bref on ne peux questimer les valeurs de chaque dlais, cest la raison pour laquelle vous noterez que mon programme ne capte pas tout les coups, les dlais tant encore mal calibrs, libre a vous de tester les dlais et de me faire vos retours si vous parvenez a tre plus prcis, voila mes dlais actuels :

    Verrou 1 : Entre 2700 et 2800 micro secondesVerrou 2 : ?0 : Entre 180 et 420 micro secondes1 : Entre 1280 et 1480 micro secondesVerrou 3 : ?

    Vous noterez aussi que dans mon code, je nai pas tenu compte des verrous 2 et 3, qui ne sont pas indispensables dans ce cas prcis (mme si ce serait mieux de les demander), en revanche quand nous mettrons depuis le raspberry PI, il nous faudra tre plus rigoureux.

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Raspberry PI ~ 11 : Relier un cran et afficherdu texte

    Aujourdhui nous allons apprendre faire a :

    Mais non pas la boite bande de pquenauds incultes (wink wink nudge nudge), mais ce magnifique cran LCD, lorigine utilis sur les vieux tlphones nokia (ben oui on est pas des nouilles molles).

    Le but de ce tuto sera donc de brancher un petit cran LCD rtro clair (a 2,50 sur ebay cela dit) et dy afficher un texte choisis.

    Je suis partis du principe que je voulais, lorsque je branche mon raspberry au labo ou autre part, rcuprer ladresse ip qui lui est automatiquement attribu par le rseau sur lequel je me connecte, et lafficher sur lcran afin que je puisse me connecter au rpi en ssh sans avoir a demander a ladmin du rseau cette fameuse ip.

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    (oui je sais la a nest pas une IP rseau mais jai perdu lautre photo alors on vas sen contenter )

    Ce sera donc notre fil rouge , je vous rassure tout de suite, lintro est longue, mais le tuto lui est trs court, je men voudrait de vous tuer une seconde fois aprs le tuto sur la rception radio .

    Le matriel

    1. Un raspberry Pi (holala quelle surprise ! ) 2. Un cran LCD nokia 5110 10 sur sparkfun, 4,89 sur ebay, voir mme 2,50 si vous

    cherchez encore sur ebay et peut tre moins cher ailleurs 3. Quelques fils qui trainent, un peu dtain, et un fer souder

    Les branchements

    Notez que lcran possde deux range de 8 Trous loppose lune de lautre, vous pouvez utiliser lune ou lautre des ranges a ne fais aucune diffrence, nous utiliserons celle avec les inscriptions de chaque pin afin dtre sr de ne pas faire derreurs.

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Les 4 trous sur les coins sont uniquement la a titre de fixation, ils ne sont relis rien

    Voila le branchement en image, fiez vous aux couleurs pour le fils qui sont un peu cachs :

    ATTENTION : sur mon cran lalimentation principale est en 5V, cependant il semble que plusieurs sous modle de la mme rfrence nacceptent que du 3v en entre, aussi ne reliez commeci dessous quaprs avoir regard la fiche technique de votre cran.

    Si votre cran naccepte que du 3V, reliez le fil rouge cot rpi au pin 1 et non au pin 2.

    Le programme

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Pour installer le programme , ouvrez la console SSH de votre rpi, et tapez les commandes suivantes :

    Tlchargement du programme

    nb: la source est dans le zip pour ceux qui voudraient comprendre plus en dtail 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

    Dcompression

    sudo unzip lcd.zip

    1 sudo unzip lcd.zip

    Dplacement

    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 daide -iaffiche lip LAN de la machine courante lcran -naffiche le nom de la machine courante (hostname) lcran

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    -p[text] affiche le texte spcifi lcran -p [text] [0-10] affiche le texte spcifi lcran et dfinis le contraste de lcran

    Obtenir son IP sur lcran lorsquon se connecte a un rseau

    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 tche planifie) qui vas lancer cette commande toutes les x minutes (moi jai mis toutes les 1 minutes, mais bon cest mieux daugmenter 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 aussiLa mme chose, avec un cran couleur et tactile de 36 pour ceux qui ont les moyens

    Encore la mme chose, avec un cran moins cher (mais du coup de moindre capacit) a base de librairie python, trs bien expliqu par notre amis Zem

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    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 spare, jetenais vous offrir ce petit tuto sur le tlcommandage (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.

    DmonstrationQuelques screenshots de lapplication web voque dans la vido :

    Accueil des priphriques, par pices

    Espace de configuration sans utilisation de base de donnes

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Interface adaptables tablettes/smartphone

    Points forts / Points faibles

    (de lutilisation des ondes radio)Ce montage est similaire au montage filaire que nous avons dj vu, mais il a pour diffrences les points suivants.

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    FORCES :

    Intgrable votre appartement/maison sans avoir dmonter les murs ou abmer quoique ce soit

    Ne prend quun seul PIN GPIO sur le rpi au lieu dun par relais, il est donc possible de grerune quantit infinie de priphrique (enfin 2^30 soit 1073741824 priphriques en fait :p) ennutilisant quun seul pin

    Le circuit de commande est dynamique, vous pouvez ajouter, dplacer, supprimer vos priphrique sans aucune modification faire en terme dlectrique/lectronique

    Il est plus simple de permuter la commande classique (interrupteur simple) et la commande via le Raspberry PI afin dutiliser simultanment les deux, ainsi si vtre rpi grille, vous pourrez encore vous servir de votre systme lectrique de manire classique

    Niveau esthtique, cest plus discret quune 30 aine de fils qui se baladent Le systme est portable dune habitation une autre :), vous pouvez donc dmnager

    facilement sans dmonter les murs Le systme peut traverser la plupart des murs/obstacles/matires il vous est donc possible de

    grer des priphriques dans des endroits peu accessibles

    FAIBLESSES :

    La porte de lmetteur que lon a achet est denviron 30M (edit: si vous prenez celle debay et une bonne alimentaiotn externe et que vous fixez un fil dantenne, vous pouvez atteindre 200m de porte), 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 systme radio est au systme filaire ce que le wifi est aux cbles Ethernet, donc moins scuris, bien que le signal soit sur 32 bits (auquel jenlve les 2 bits dtat et de groupe) ce qui fait 1 073 741 824 combinaisons possibles par priphrique, dans le doute, faites mois plaisir : ne raccordez quand mme 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 (mme si il est envoy 5 fois et quon utilise le codage de Manchester ce qui rduit fortement le risque)

    Le matriel requisSi vous avez suivis le prcdent tuto sur la radio, vous devriez dj tout avoir :

    Un raspberry PI modle A ou B ~30 Un set de 3 prises chacon + tlcommande (~30, vous pouvez acheter une prise seule mais

    a cote super cher (~20 la prise), autant grouper) Un metteur RF 433Mhz (jai 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)

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Ce qui nous fait un cot 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 dautres pices vous naurez pas racheter de Raspberry PI ni dmetteur ( moins dhabiter un palace auquel cas le prix ne vous posera pas problme) du coup vous paierez entre 15 et 30 pour quiper une pice supplmentaire (en fonction du nombre de prises, des rductions, des frais de ports etc).

    Le montageLe montage rpi + metteur 433 mhz a dj t expliqu dans notre premier tuto sur RPI+radio, maiscomme je suis un chic type et que jadore faire des gribouillis, je rpte le schma ici :

    nb : Une antenne de 17.3 cm serait la taille optimale (merci Ju pour la prcision)

    Le codeLe code de linterface web+programme C qui met les signaux radio est tlchargeable ici :

    http://idleman.fr/ressources/PHP/hcc/hcc.zip

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    1. D-zippez le code dans un rpertoire 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 diffrent, important sinon rien ne fonctionnera)

    3. Faitessudo chown root:www-data /var/www/hcc/radioEmissionpuis unsudo chmod 4777 radioEmissionsur lexcutable nomm radioEmission (important sinon linterface web ne fonctionnera pas)

    4. Le script est install !!

    LutilisationVous pouvez envoyer un signal de deux faon diffrentes :

    En ligne de commande linux :

    /var/www/hcc/radioEmission 0 12325261 1 on

    0 = le numro WiringPi du PIN du Raspberry reli a la carte metteur 433mhz (ici zro, qui correspond au pin physique 11 du rpi)12325261 = Un code de tlcommande que nous attribuons arbitrairement au raspberry PI, ca permet aux prises de nobir qua ce code et donc qua votre raspberry.

    1 = code du rcepteur (choisis arbitrairement, cest ce qui permettra au rcepteur de savoir si cest lui quon donne lordre ou a un autre)

    on = tat de la prise souhait on ou off

    nb : Le ./ est obligatoire devant quand vous excutez le programme depuis le rpertoire courant, si vous ne le faite pas vous risquez de tomber sur un commande not found

    Depuis linterface web :qui en ralit se contente dexcuter la commande prcdente (pourquoi faire compliqu) lorsque vous cliquez sur un item.

    Pour vous connecter, les logins et mot de passe par dfaut sont :

    login : adminmdp : admin

    Ces identifiants peuvent tre chang en ditant le fichier constant.php situ dans le rpertoire hcc

    Notez bien que vous ne pourrez rien piloter tant que les prises nauront pas fait lapprentissage du signal que vous envoyez (expliqu un peu plus ci dessous).

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    La liaison metteur/rcepteurLes prises lectriques Chacon ont un module dapprentissage de signaux intgr, ce qui veux dire que lorsque vous les brancherez, elles couteront pendant 5 secondes les signaux envoys et reconnatrons ces signaux pas la suite.

    Il vous faut donc pour chaque prise, la brancher et mettre le signal avec le Raspberry PI (via linterface web disponible sur http://wotre.raspberry.pi/hcc ou par ligne de commande) avant 5 secondes pour quelle soit par la suite lie au signal.

    Vous reconnatrez des clic clac successifs vous avertissant que la tlcommande a bien reu votre signal et la mmoris.

    En rsumIl y a donc trois faons de piloter linstallation :

    pilotage classique : je passe par les interrupteurs Chacon (tlcommande ou tlcommande sous forme dinterrupteur) pour allumer/teindre mes lampes

    pilotage par interface web : jallume/teint mes lampes via une interface web sur navigateur internet de tablettes/pc/smartphone

    pilotage par reconnaissance vocale :Lorsque je prononce une phrase dfinie, mon pc envoie directement une requte au Raspberry PI qui allume ou teint les lampes

    Pour ce dernier, je me suis content de mlanger mon tuto sur la reconnaissance vocale (raspberry pi 09). Je vous invite faire la mme chose, le rsultat est plutt propre.

    Pour configurer yuri selon votre interface :

    1. Crez vos priphriques sur linterface 2. Allez dans configuration, puis onglet divers 3. Cliquez sur tlcharger le xml 4. Le XML est placer dans le rpertoire \macros\ de votre YURI

    le mot cl de reconnaissance vocale, sera le nom que vous avez donn au priphrique

    Si vous avez des problmes de portes, de gros parasites, ou de mauvaise communication, pensez a faire ces deux choses :

    Prendre une alim externe pour les cartes radio et les lalimenter au maximum de ce quelles sont capables de faire (cf la clause voltage max de fiche technique, souvent cest entre 5 et12V)

    Souder un fil conducteur de 17.3 cm a lmetteur et au rcepteur pour servir dantennes.

    Avec ces deux points, vous pouvez passer de quelques centimtres plusieurs centaines de mtres de porte, la diffrence est vraiment flagrante.

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Raspberry PI ~ 13 : Dtecter louverture des portes et fentres

    En attendant que je parvienne trouver la motivation pour monter la vido sur la sonde tempratureradio (jai la vido, mais mon monteur est en plein partiels et je nai aucune notion dadobe premire ^^), je vous lance ce ptit tuto vous mettre sous la dent.

    Aujourdhui nous allons voir comment dtecter louverture dune porte, dune fentre, ou de quoi que ce soit qui souvre ou qui se ferme, avec le raspberry PI et un petit composant environ 3.

    Ltat de la porte (ouverte/ferme) sera visible depuis une interface web, ou depuis notre interface de reconnaissance/synthse vocale YURI (implante dans les prcdents 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 estnomm capteur effet de hall.

    Cest 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 dun champs magntique (par exemple mis par un aimant)

    Dune certaine manire, cest un bte interrupteur, ceci prs quil ne ragit pas une pression mais une magntisation proche.

    Mais alors, pas besoin dun composant, pourquoi ne pas utiliser juste deux fils qui se touchent?

    Et bien surtout cause du frottement, lavantage du capteur a effet de hall est quil ny a aucun contact physique puisque celui ci est magntique donc :

    1. Pas de risque que le montage bloque la porte 2. Pas de risque que lusure du frottement abime le circuit 3. Moins casse gueule et moche quun bte systme de fils 4. Sur la partie mobile, pas besoin de fils, dalimentation, ou du moindre circuit : un aimant est

    en moyenne actif 400 ans, ne ncessite aucune alimentation,ne coute rien, et peut tre minuscule.

    Vous laurez compris, ce capteur effet de hall sera branch au raspberry PI et lui enverra du 0 (laimant est lointain donc la porte est ouverte) ou sur 1 (laimant est proche donc la porte est ferme), le rapsberry Pi mettra jour sa base de donnes (ici un simple fichier texte) qui sera alors consult par linterface web et par YURI.

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Ce que je ne vous dis pas

    Oai je sais, cest con puisquau final je vous le dis, mais respectez mon style littraire bande de gaufres !

    Jai 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 ralit le capteur seul est plus une rsistance qui vas varier en fonction de la proximit du champs magntique et renvoyer une valeur analogique (0.2,1.4 etc), et cest un problme pour nous qui avons besoin dun 0 ou dun 1.

    Cest 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 dun certain seuil, dfinir quelle envoie un 0 ou un 1 (ex : si la rsistance est entre 0 et 2,5 on envoie 0, sinon on envoie 1) .

    Et la ou cette petite carte est top, cest que vous avez la possibilit de rgler ce seuil !! En effet un ptit potentiomtre qui se prsente sous la forme dune vis (donc rglable avec un tournevis plat) permet de faire varier ce seuil, ainsi nous pourrons agir sur la sensibilit de notre dtection de porte en fonction de la porte et de la puissance de laimant choisis.

    Je vous conseille bien videmment de commander les aimants conseills ci dessous qui sont minuscules et surpuissants, mais sur la thorie nimporte quel aimant avec un peu de porte fait laffaire :).

    Le matriel : Votre fidle 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 modle 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 mre unijambiste pourrait faire ce montage dans le noir mais je vais quand mme vous lespcifier histoire que les lecteurs les moins sobres puissent nous suivre :

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    nb : Jai choisis de relier les donnes sur le pin physique 11 du raspberry, qui correspond au numro0 avec la librairie wiring PI.

    Le code :On vas avoir :

    Un programme en C qui vas vrifier toutes les x secondes ltat du pin 0 (qui sera donc 0 ou 1 en fonction de si la porte est ouverte ou ferme) et envoyer ltat a une page php.

    Une page php qui vas enregistrer la valeur dans une base de donnes (ici un fichier texte)

    Enfin une page html basique qui vas faire un appel ajax au fichier texte de la base de donne toutes les x secondes et afficher porte ferme ou porte ouverte en fonction du contenu du fichier texte.

    Notez que dans le fichier PHP nous avons aussi prvu quelques lignes pour yuri (yuri requte sur la page php, qui vas vrifier ltat du fichier et retourner yuri la phrase a dire en consquence porte ferme ou porte ouverte).

    1. idleman.fr/ressources/PHP/capteurOuverture.zip

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    2. Dcompressez son contenu dans /var/www/capteurOuverture 3. Rglez 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 rpertoire

    macros de yuri, et ditez le en remplaant votre.raspberry.pi par ladresse rseau de votre raspberry PI

    LutilisationLancez le programme en C avec les paramtres :

    1. Adresse de la page php 2. Numro wiring Pi du pin auquel vous avez reli le capteur

    ex : ./capteurOuverture /var/www/capteurOuverture/capteurOuverture.php 0

    Lancez ladresse http://votre.raspberry.pi/capteurOuverture (en remplaant videmment votre.raspberry.pi par ladresse rseau de votre raspberry PI)

    Ouvrez/fermez votre porte et visualisez le rsultat sur linterface web

    Interrogez yuri en ouvrant/fermant votre porte

    Cest tout pour aujourdhui bisous mes poulets, moi je part fter mon quart de sicle !

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Raspberry PI ~ 14 : Surveiller les performances du rpi depuis le web

    Cest bien beau de traficoter tout un tas de truc avec notre raspberry PI ! Mais celui ci tant une frle petite bbte, il peut tre intressant de le contrler 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 ltat de sant de votre raspberrypi,nimporte quand et nimporte ou.

    Ce petit logiciel en PHP est standalone cest dire quil peux tourner sans que vous ayez au pralable install un serveur web.

    Avec raspcontrol, vous pourrez consulter des informations mais aussi effectuer quelques actions comme redmarrer le systme, redmarrer /stopper/dmarrer apache, consulter vos fichiers de logs, mettre jour les paquets, mettre jour le firmware, relancer ssh etc..etc

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Installation

    Tent par raspcontrol ? Alors installons tout a !!

    EDIT : Comme lquipe de dev de ce programme samuse changer son archi tout les 4 matins, il est possible que ce qui suit ne corresponde plus la ralit, je vous conseille donc de vous reporter au tuto dinstal officiel pour plus de sret :)

    Noublions par avant tout de faire une mise jour gnrale des paquets

    sudo apt-get update sudo apt-get upgrade

    12

    sudo apt-get updatesudo 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 rpertoire quelconque, on tlcharge larchive de raspcontrol et on la dcompresse

    cd /home/pi/ wget https://github.com/Bioshox/Raspcontrol/zipball/master unzip master

    123

    cd /home/pi/wget https://github.com/Bioshox/Raspcontrol/zipball/masterunzip master

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Le dossier dcompress un nom barbare, donc on le renomme monitoring (ou autre, comme vous voulez)

    mv Bioshox-Raspcontrol-694435b/ monitoring

    1 mv Bioshox-Raspcontrol-694435b/ monitoring

    Thoriquement, on peux lancer le programme ce stade, le problme ces quil vas se lancer sur le port 80, qui est dj utilis par notre serveur web (apache, lighthttpd ou nginx) donc on chance le port en ditant le fichier dexcution du programme :

    cd monitoring nano start.sh

    12

    cd monitoringnano start.sh

    Remplacez

    HOST=0.0.0.0 PORT=80

    12

    HOST=0.0.0.0PORT=80

    Par

    HOST=0.0.0.0 PORT=8080

    12

    HOST=0.0.0.0PORT=8080

    (ou un autre port en fonction de ce qui est dj pris chez vous) et enregistrez (ctrl+x, Y puis entre)

    Vous pouvez ensuite lancer le programme avec la commande :

    sh ./start.sh

    1 sh ./start.sh

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    (vous devez tre situ dans le rpertoire monitoring, si ce nest pas le cas, il faut taper le chemin complet vers start.sh)

    Vous pouvez alors accder via un navigateur a votre panel de contrle ladresse : http://votre.adresse.raspberry.pi :8080

    (remplacez votre adresse raspberry pi par ladresse rseau de votre rpi)

    A la premire connexion, raspcontrol vous demande de crer 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 mme identifiants puis login, a y est, vous tes sur le monitoring !!

    Anne20142015Geek

  • MohamedBouhamedTobehumanyoumusttobeGeek

    Linstallation/utilisation est termine, cependant si vous ne voulez pas tre embt trs prochaine, il vous faudra faire une petite manip !!

    En effet vous remarquerez que si vous fermez votre terminal, le star.sh sarrte et vous ne pouvez plus accder votre monitoring (zut !).

    Pour rsoudre ce problme, il existe plusieurs manires de faire (non vous nallez pas laisser votre console ouverte 24/24h 7/7j bande de gougnafiers ^^) la plus simple reste encore dutiliser Screen.

    Screen est un petit utilitaire qui permet douvrir une console en tche de fond, ainsi vous