Raspberry PI ~ 06 : Utiliser le GPIO et Interagir avec le monde réel

Ce post est le sixième d’une liste de tutoriels sur le raspberry PI, cliquez ici pour accéder au sommaire ! :D

 

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) voici une petite démo vidéo, cliquez sur l’image ci dessous pour la télécharger :

image

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 :

1

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

image

Je peux activer/désactiver une LED de la maquette en appuyant sur la zone d’état de chaque lignes :

2

image

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

2012-08-15 01.06.58

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

254px-GPIOs

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

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 :

image

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 :

image

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 :

2012-08-15 01.08.27

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 :

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 :


Cette ligne définira le PIN 11 comme une sortie

La diode connectée a la PIN 11 devrait s’allumer, tapez alors

Pour l’éteindre Rire

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 :

pins

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…

“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/html de votre raspberry PI

(nb : sur les vielles version d’apache, le chemin est /var/www )
(nb2 : un fichier /var/www/html/index.html par défaut existe et contient un message « it works » vous devez le supprimer pour qu’apache prenne en compte pihome)

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

image

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

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.
Si ça peut en aider d’autres :)

Article rédigé par Idleman

397 réflexions au sujet de « Raspberry PI ~ 06 : Utiliser le GPIO et Interagir avec le monde réel »

  1. OranginaRouge

    Bravo pour ce petit hacking. C’est prometteur pour la suite ! J’aime bien le mode joyeux Noël mais ce sont tes voisins qui risquent de trouver ca bizarre :-) …

    Répondre
    1. Idleman Auteur de l’article

      C’est plus pour la démo ^^, cela dis j’avais pensé a l’adapter en mode « présence » qui allumerais des pièces aléatoirement dans la soirée pour faire croire qu’on est la quand on est en vacances, ceci pour dissuader d’éventuels cambrioleurs.

      C’est un grand pas pour la suite, je ne pensais pas arriver aussi loin car la partie électronique me bloque, maintenant reste a savoir si je vais parvenir à adapter ça à de vrai lampes (et ce à moindre cout)

      Répondre
      1. dias

        bonjour je suis debutant et j ai beaucoup de mal avec ma raspberry pi .j aimerai installer wiring pi mais il me met un message d erreur:
        cd wiringpi -bash : cd: wiringpi : aucun fichier ou dossier de ce type
        quelqu un a la solution?

        Répondre
        1. Idleman Auteur de l’article

          cd te permet d’ouvrir le repertoire nommé « wiring pi » dans l’endroit ou tu te trouve, or linux te dis que ce répertoire n’existe pas, donc tu as du changer d’emplacement entre le moment ou tu as tapé « git clone git://git.drogon.net/wiringPi » et le moment ou tu as tapé « cd wiring… »

          De plus ta commande n’est pas dans l’installation officielle, j’ignore ou tu l’a trouvée mais je te conseille de suivre la premiere partie de ça : https://projects.drogon.net/raspberry-pi/wiringpi/download-and-install/ à la lettre

          Répondre
          1. ours_en_pluche

            bonjour,
            pour etre plus précis, « cd » permet de changer de dossier et non pas d’ouvrir le dossier nommé juste après.

            cd ../ ( permet de remonter en arrière d’un dossier, passer de /home/ours/blabla à /home/ours )
            cd ~ ( permet de repartir à la racine du dossier personnel, par exemple /home/ours )
            si l’on débute par un « / », ce sera à partir de la racine, si l’on omet le « / », ce sera à partir du dossier courant

            « pwd » permet de savoir ou l’on est ( au cas ou l’on est perdu :p )

            quelques centimes d’un manchot :)

          2. Philip

            Pour installer un logiciel sous linux, il te faut utiliser la commande « sudo apt-get install (le nom de ton logiciel) et ENJOY ! « 

      2. Thomas

        Bonjour,
        Je ne sais pas si quelqu’un a répondu à votre question sur les GPIOs mais je me permet d’essayer de répondre a votre question qui est : a quoi servent les autres broches ?
        -GPIO 0 et 1 (sda et scl) sont des broches de liaison I2C (très commode pour piloter des composant I2C comme des capteurs horloges etc etc)
        Cette liaison est une liaison synchrone ou il y a un maitre et plusieurs esclaves ( a programmer)
        -GPIO 14 et 15 (txd et rxd) port de liaison comme sur les microcontrolleurs : on peut faire passer une liaison RS232 par exemple (peut être d’autres liaisons)
        -GPIO 10, 9 et 11 sont des broches de programmations que l’on retrouve aussi sur des microcontrolleurs d’ailleurs elle permettent de programmer les microcontrolleurs par ordinateur. Ici je pense que le raspberry peut programmer des microcontrolleurs (A VERSIFIER ce n’est qu’une supposition)
        Voila pour ma maigre contribution (je ne fait que commencer mes études en électroniques donc excusez moi pour les erreurs qui auront pu être commise) =)

        Répondre
        1. Zeb

          Salut,

          GPIO10 9 et 11 sont des broches de liaison SPI. Ceux sont des grands standards de communication en électronique comme l’I²C d’ailleurs.

          En SPI tu as, par exemple, MCP23S17 (I/O expender) et le MCP23017 (I/O expender I²C)

          Répondre
    2. aurelien92

      Bonjour,
      Vraiment super ce tuto!! Et les autres aussi d’ailleurs; moi qui suis une bille dans le domaine, j’ai réussi à allumer et éteindre les leds par mon lan; par contre je n’ai pas réussi à afficher la page web, sachant que j’arrive néanmoins à afficher la page « it works! », any idea??

      Répondre
      1. KYLIANE

        idem pour moi help us please :siffle:

        Répondre
    3. Anthony

      Bonjour/Bonsoir !

      J’ai téléchargé les dossiers de l’interface PHP, mais vous avez dit de le décompresser dans le répertoire « /var/www  » de notre Raspberry. Ce dossier n’apparaît nul part dans mon Raspberry. Doit-je le créer moi même ou alors est-ce que j’ai fait une fausse manipulation. J’ai bien suivit le tuto sur le server et avec « http://192.168.15.18 » par exemple, je tombe sur la page It works! Je veux récréer la même interface que la votre, mais je ne sais pas comment faire. Peut-tu m’expliquer comment créer la même interface avec les dossier que tu nous as mis en téléchargement ?

      Répondre
  2. kiw

    Pour allumer de vraies lampes, je te conseille l’utilisation de relais (en fait se sont des interrupteurs que tu peux déclencher avec une faible puissance pour conduire une grosse puissance).

    Répondre
    1. Idleman Auteur de l’article

      Les grands esprits se rencontrent !! Je suis justement tombé sur ça hier : https://www.sparkfun.com/products/11042?
      Et je me suis dis que je tenais ma solution ^^, je cherche juste les cartes relais les moins chères avant de me lancer :), par contre je me demande si le RbPi balance au final du 3v3 ou du 5v par les PIN, car visiblement le relais a besoin de 5 V minimum… qu’en penses tu?

      Répondre
      1. titit

        Le relais de sparkfun a besoin de 5V pour l’alimentation logique, mais tu peux te servir de 3,3V pour la pin de controle, une gpio de la raspberry fait donc l’affaire.

        Répondre
        1. Idleman Auteur de l’article

          Certes, c’est d’ailleurs ce qui est fait sur mon prototype, mais étant donné la faible alimentation que le rpi peux fournir il est quand même conseillé d’utiliser une alim externe

          Répondre
  3. fraggerman

    Je me demande toujours comment relier le RPi aux ampoules, a moins de tirer un fil de chaque interrupteur ou de te brancher au tableau électrique XD

    Répondre
    1. Idleman Auteur de l’article

      Tirer un fil de chaque interrupteur semble être la seule solution, cela dis le rasp ne nécessite aucun fil a part le câble ethernet (qui peut être remplacé par une clé wifi), l’alimentation pouvant être branchée sur du 220v avec un simple transfo comme celui de nos smartphones.

      Je vais tenter un schéma de mise en place d’un rasp dans des conditions réelles bientôt vu que tout ça commence a se concrétiser.

      Répondre
      1. Acidhack

        Si tu peux, très simple, si tu as de la chance, l’éclairage est géré par un ou des télérupteurs, c’est une bobine qui alimente ta lampe et que tu commande avec un interrupteur. Du coup il te suffit d’acheter la carte avec des relais commandes pour la raspberry pi que tu trouve sur ebay et de piloter ton télérupteur dans ton tableau électrique, tu le configure en wifi, tu le laisses brancher dans le tableau et tu pilote le raspberry à distance, de ton téléphone, de tes pc, partout où tu veux !
        Tu peux meme y metre une caméra et la maté à distance !
        Et tout plein de chose …
        Il faut juste faire attention aux différente tensions de tes relais ! Ne mets pas du 220Volt dans ta carte Raspberry, je te fais pas un dessin du résultat !

        Amuse toi bien

        Répondre
        1. Acidhack

          Et si c’est des fils tu shunt le bouton ( BIEN SURE AVANT TU COUPE LE JU ) et til va te falloir un contacteur c’est un gro relais en faite, parce que la c’est du 220volt et pilotez ton contacteur avec le relais raspberry ! Sauf si tu trouve des relais 5v 220v mais pense pas .. Le principe est simple, faut juste faire gaffe au différente tensions

          Répondre
      1. Idleman Auteur de l’article

        Pas idiot, mais j’ai peur que ça augmente le prix des contrôleurs domotiques, or mon objectif est de trouver quelque chose de low cost (nous en sommes déjà à 30 euros de rasp + ~20 € de fournitures obligatoires + boitier a 30 € + (carte relais a 7€ minimum * 8)). Tu connais des dispositifs à bas prix dans ce genre ? Il y en à peut être mais je ne suis pas du tout au courant ^^

        Répondre
        1. Jerome

          T’as compté le câblage électrique, les saignés dans les murs et le resto pour expliquer à ta copine que quelques fils vont pendre sur son mur ?

          Répondre
          1. Idleman Auteur de l’article

            Justement, le but est de réduire au max les couts pour compenser la partie « batiment » de la chose :p (et j’ai des tickets restau)

        2. Christophe

          pour réduire les coûts, passe par Arduino Uno.
          J’ai un copain qui a fait ça pour son oncle: carte arduino à 7€ sur banggood + tes cartes relais

          Répondre
      2. themouette

        Salut,

        le branchement direct sur le tableau électrique à l’aide de télérupteurs/relais me semble être une bonne option tant d’un point de vue prix que d’un point de vue « gros oeuvre », pourquoi l’avoir écartée ?

        Répondre
        1. Idleman Auteur de l’article

          Je vis en appartement et je suis locataire, je ne peux donc pas trop toucher aux murs, au tableau électrique etc… et je ne voulais pas de fils qui trainent, de plus la radio permet d’avoir une structure plus dynamique ne necessitant aucune modification physique lorsque l’on dois changer/modifier son systèmes électrique

          Répondre
          1. herwan

            Ah oui les fils qui traînent partout c’est pas bien !

            Je ne sais plus sur quel blog, mais j’ai vu un mec camoufler son Raspberry derrière le canapé (avec plein de fil, rallonge, etc.)

            Bouhhh ça c’est pas bien du tout !! :-p

      3. soufhadiano

        merci pour ce tuto mais je vais juste savoir est ce que tout les pins peuvent etre configurer pour faire un objet PWM ou bien il ya des pin specifique

        Répondre
      1. Idleman Auteur de l’article

        Je sais bien :), j’utilise une commande radio chacon dans mon tuto 10 :),

        Mon système électrique d’appartement est d’ailleurs entièrement relié à des prises DIO by chacon pilotées par le rpi (c’est le prochain tutoriel en préparation)

        Répondre
  4. Jerome

    « 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 », si c’est les LED qui claquent ça se change, mais le RPI risque gros lui aussi !
    Les ports GPIO sont fait pour envoyer ou recevoir un signal, pas pour commander un truc de puissance. Pour de la puissance (même de simples LED lumineuses),il faut utiliser une source de courant externe via un transistor par exemple. Autre avantage de le source de courant externe c’est que tu peux avoir du 5V ou du 12V pour commander un relais.

    Répondre
    1. Idleman Auteur de l’article

      J’ai clairement conseillé l’utilisation de la résistance dans mon tuto donc mes lecteurs son saufs ^^, je ne pense pas griller mon RPi avec ou sans avec du 3v3 mais ça n’engage que moi (et mes maigres connaissances électronique).

      Cela dis merci pour la précision :), pour ce qui est des relais, j’utiliserais de facto une source externe

      Répondre
      1. Jerome

        Le problème c’est pas le 3v3 mais le « The maximum permitted current draw from the 3.3 V pin is 50 mA. » … soit 0,165 Watt, c’est vraiment très peu et avec une LED genre 5mm extra-light c’est foutu ! Après chacun fait comme il veut, mais autant bien prévenir les lecteurs de ton blog quitte à insister un peu.

        Répondre
        1. Idleman Auteur de l’article

          Tu dois avoir raison, comme tu le sais, la partie électronique dépasse de loi mes connaissances. Je rajouterais une petite clause comme quoi cela peux endommager le raspberry :).

          J’ai parcouru un peu ton blog, je vois que tu as certains projets également concernant le rasp, ça pourrait être intéressant d’échanger un peu la dessus par mail, voir même pourquoi pas de publier des tutos en communs.

          Petit truc qui me choque :

          « Le Raspberry a la particularité de posséder un port GPIO qui peut être très utile pour actionner des machines, ou percevoir différents signaux. L’accès à cette interface via PHP me semble bien difficile. »

          Une simple commande système permet pourtant de manipuler le gpio sans aucun soucis :), c’est ce que je fais depuis ma petite interface PHP, certes il faut passer par une librairie annexe mais bon ça prend environ 18 secondes à installer et c’est plutôt light.

          Répondre
          1. Jerome

            En fait j’ai sans doute mal tourné ma phase.

            C’est vrai qu’avec une simple commande « system » de PHP on peut exécuter un programme binaire via l’interpréteur de commande standard et récupérer une valeur. Mais c’est une solution bancale à mes yeux.
            – D’une part parce qu’elle ouvre une porte à l’accès système via PHP, c’est pas toujours très sécurisant.
            – D’autre part parce que cette solution est un peu lente et gourmande en ressource. C’est pas un problème pour l’usage que tu vises, mais cela peut le devenir pour d’autres usages.
            – Enfin avec cette méthode, il est impossible d’attribuer une action directement à un événement (exemple quelqu’un appui sur le bouton connecté au GPIO). On est obliger de faire une boucle lire les ports et ensuite lancer les actions, en espérant que la boucle ne soit pas trop longue.
            Une solution compilé comme extension PECL de PHP serait sans doute plus appropriée (avec passage de fonctions callback, se serait génial).

          2. Idleman Auteur de l’article

            L’argument qui frappe le plus, c’est l’écoute d’événements, c’est vrai que c’est un réel soucis :), pour mon application personnelle je n’aurais pas d’interface web a manipuler, j’aimerais (et je dis bien j’aimerais parce que c’est loin d’être gagné) passer par de la reconnaissance vocale (mais j’ai beaucoup de mal a trouver une librairie open qui ne demande pas de sacrifier une biche pour être installée et utilisée).

          3. Jerome

            Pour discuter, par mail pourquoi pas, mais via les commentaire la discussion peut profiter à plus de monde, et peut-être que des participations enrichirons nos propos :)

          4. Idleman Auteur de l’article

            C’est un peu limitant les commentaires, tu as prévu quoi comme projets pour ton rasp? :)

          5. Jerome

            Un système « domotique » de surveillance des installations (ventilation, chauffage, énergie), pour un site isolé (pas EDF, ni ADSL). Pour cela j’ai besoin de capteurs divers et parfois déportés (températures, hydrométrie, niveau de batterie…), et commander des vannes et des ventilateurs. Le tout devant résister à l’hiver montagnard. Bon pour l’instant j’en suis à l’étude et aux essais.

          6. Idleman Auteur de l’article

            Nice, tu vas utiliser le courant porteur ? Tu compte utiliser quoi comme relais?

  5. Jerome

    Je revient sur un billet précédent et un commentaire que j’y ai laissé: Pour une telle application (ce n’est pas du mépris), Apache, PHP et MySql me semble surdimensionnés… ou alors c’est pour éclairer la tour Eiffel !

    Répondre
    1. Idleman Auteur de l’article

      Garde à l’esprit que les tutos explorent les façon d’utiliser le rpi, mon projet est un fil rouge mais je n’ai aucun besoin d’un serveur apache pour ce dernier (je compte plus utiliser une application maison en C++ sans interface web), j’utilise apache et php pour les petits test gpio mais mon application domotique finale n’usera certainement ni de l’un, ni de l’autre :)

      Répondre
    1. Idleman Auteur de l’article

      Je sais, mon pote guigui me ressortirais plus un lien sur le dernier zelda ou la japan expo ^^ .

      Lien particulièrement intéressant, trois choses me gênent un peu : 1 passer pas un smartphone (augmente le cout a fond, d’autant qu’un smartphone ne peux pas capter les sons de toute une maison donc il en faut plusieurs), 2 passer par une application tierce (payante mais bon pour 4€ on vas pas chipotter, c’est surtout que j’aime avoir la main sur tout le code), 3 passer par la reconnaissance vocale de Google (obligé d’avoir le net, et de dépendre d’un service).

      Cela dis c’est une belle avancée dans mon projet que tu m’offre la et malgré mes réticences il y a 99% de chance que je passe par la (ou approchant, peut être que je développerais ma propre appli android plus adaptée a la domotique vocale et surtout gratuite :p) merci beaucoup pour ce lien, ça me redonne espoir en la commande vocale !

      Répondre
  6. Ping : Raspberry PI ~ 07 : Allumer/éteindre une vraie lampe ou faire de la domotique pour pas cher. | IdleBlog

  7. raoullevert

    C’est vrai que le RPI n’accepte que le 3.3V et encore, comme dis Jerome à hauteur de 50mA !
    Pour éviter ça tu peux passer par une puce CD4049 (buffer inverseur) ou CD4050 (Buffer non inverseur).
    Pour ajouter des sorties, tu alimentes le buffer en 5V. Puis à chaque fois tu relies une sortie GPIO à une entrée Buffer et tu te sers de la sortie Buffer correspondante pour alimenter ta LED (ou autre chose). De cette manière tu protèges ta carte RPI contre les surcharges.
    Pour au contraire ajouter des sorties à la carte RPI, tu alimentes ton buffer en 3.3V. Ensuite tu relies une entrée Buffer à, par exemple, la sortie d’un microcontroleur en 5V.
    En reliant la sortie correspondante à l’entrée du GPIO tu as une conversion 5V -> 3.3V.
    Ce genre de puce coute quelques centimes d’euros et se trouve facilement.

    Sinon pour la commande d’interrupteur, j’aurais tendance à dire qu’un montage à courant porteurs serait le plus simple à utiliser : pas de fils en plus, pas de Radio fréquences …

    Répondre
    1. Idleman Auteur de l’article

      Merci beaucoup pour ces précisions ^^, j’aimerais bien me mettre au courant porteur mais les dispositifs a mettre en place sont trop cher, aurais tu une solution low cost a proposer dans ce domaine?

      Répondre
    2. Ben

      Bonjour,
      Je prends connaissance de ce post, mais novice en électronique, je ne comprends pas comment raccorder le CD4049.
      Avez-vous un schema de câblage à proposer?

      Merci

      Répondre
    3. Romain

      Bonjour, lorsque tu alimentes le CD4050, tu utilises la sortie 5V du PI ou tu utilises une alimentation externe ?

      Répondre
  8. Raoullevert

    J’ai un lien parlant de courants porteur : http://www.projets-electronique.com/2011/09/une-telecommande-intelligente-par.html
    Honnêtement, je ne sais pas trop pas ou partir pour les courants porteurs. Je partirais sur une boucle à verrouillage de phase pour coder mes informations en modulation de fréquence. Après j’avoue ne pas trop avoir réfléchis à ça ….
    C’est sur qu’un interrupteur à 90€ ça fait mal au portefeuille !

    Répondre
    1. Idleman Auteur de l’article

      J’ai rien compris a ce que tu a dis (on dirait le major carter dans stargate sg1) donc je vais sourire, hocher la tête, et aller me renseigner sur ton lien :D merci pour la réponse :)

      Répondre
      1. mathieu

        Lol !
        Merci pour le « Stargate SG1 » tu as fais ma journee :)

        Répondre
  9. Lois

    Bonjour,
    J’ai suivi ton excellent tuto sans problème.

    J’attends mon module de relais de chez Hackspark (En pénurie « faute » à ton blog mais très bon commerciale) et mes telerupteurs.

    Mon projet avance bien grâce à ton boulot.
    J’automatise mon sous sol (mon bureau) avec boutons poussoirs et télécommande vocale (téléphone portable Android).

    Je connais pas trop le php et j’aurais de ton aide (votre aide).
    Nous avons écrit cela avec un ami, pour le mode telerupteurs mais maintenant je cherche un truc «  » tout bête ».
    Comment modifier mon code pour le pin reste à 1 ?

    Merci

    Répondre
        1. Idleman Auteur de l’article

          J’ai vu ton code, mais je ne comprends pas ce que tu cherche à faire…
          Si tu veux simplement switcher à 1 quand c’est a 0 et a 0 quand c’est a 1 ton code est bon (même si il y a 4 lignes qui ne servent à rien (L11,L12,L17,L18)) si tu veux faire autre chose il vas falloir me donner plus de détails ^^, je te propose de continuer en discutter par mail

          Répondre
  10. Ping : Raspberry PI ~ 01 : Présentation | IdleBlog

  11. guillaume

    hello,

    Génial tes articles, je viens de faire le test du montage avec comme interface de commande WebIOPi tout marche comme monté. mais car il faut bien qu’il y ai un mais, le GPIO 21 pin 13 est le seul port qui ne marche pas :'(. est-il possible que mon rpi est un port qui disfonctionne ?

    G.

    Répondre
    1. Idleman Auteur de l’article

      Yop,
      A ma connaissance, le GPIO 21 est réservé au MSIO (Master in Slave Out), ce pin ainsi que quelques autres(7,10…), est utilisé pour faire de la communication SPI (Serial Peripheral Interface) qui permet une communication entre un maître et un ou plusieurs esclaves.

      Le plus conseillé est encore d’utiliser les gpio 0 à 7 (numéros wiring PI).

      Répondre
      1. guillaume

        hi,

        Merci pour ta réponse en fait j’ai bien un probleme sur le
        gpio 2 (numéros wiring PI) – BCMGPIO 22 – Name GPIO 2 :)

        il fait parti normalement des 8 port dispo non…

        C’est normal docteur ?

        G.

        Répondre
        1. Idleman Auteur de l’article

          Non ce n’est pas normal , celui ci devrait effectievemnt bien fonctionner :), peut être un oublis de gpio mode quelque part ?

          Répondre
  12. Guillaume

    Merci, mon probleme est peut etre logiciel. Je vais tester avec au autre soft.

    Je viens de faire un test de replacer sur un pin qui fontionne la diode et sa resistance par un petit moteur 3 / 5 volt. A ma grande surprise le moteur ne troune pas. J’ai un pbs d’intensité ? Faut’il que je fasse un montage plus sophistiqué ? Par exemple avec un relais ?

    G

    Répondre
    1. Idleman Auteur de l’article

      Il y a des chances que le rpi ne suffise pas pour alimenter un moteur à lui seul, mais je ne suis pas assez calé en électronique pour te dire de manière certaine d’où ça pourrait venir désolé :).

      nb: j’ai entendu dire que ça pouvait être mavais pour le rpi d’essayer d’alimenter quelque chose de trop gros en « direct » donc je te conseille fortement un relais + alim externe

      Répondre
  13. Antoine

    Hello !
    Je me suis beaucoup intéressé à ton tuto sur les gpio qui montre bien le potentiel d’un tel montage (je t’avertis tout de suite je ne suis de loin pas un féru d’électronique) et j’y ai trouvé, grâce à toi, une application bien sympa (mais toujours dans le principe du low cost).

    Je mets ici ma démarche pour les intéressés, libre à toi Idleman de faire ce que tu veux avec, mets-le à ton nom dans une section suivante si tu veux =)

    Comme on le sait tous, le stockage coute cher et les supports de stockages accessibles via réseau très cher. J’ai donc eu l’idée de bidouiller un truc avec mon Rasp ; un serveur ftp dans la maison avec 8to de disque en RAID5. Jusque là rien de folichon, mais le but était de pouvoir couper l’alimentation des 4 baies et des 2 ventilos quand personne n’est connecté
    (http://www.amazon.fr/exec/obidos/ASIN/B004QZJ67S/testberichte_sub1-21/ref=nosim&ascsubtag=4318_273624_50a2b18c_50a2b189#rev-dpReviewsMostHelpful-R4523YJZDUC7J (qui m’a couté que 50€ du fait des taxes plus faibles en Suisse))
    Pour se faire j’ai j’ai branché l’alim du rack de la même manière que le tuto du réveil, mais le scripte de mise sous tension est plus subtile. En effet tant que l’on a un seul utilisateur c’est facile :

    dans le .bashrc (c’est un scripte qui se lance à chaque ouverture de session). et faire l’inverse dans le .bash_logout : démonter, attendre 2-3 sec que ça se démonte et couper le jus. Mais le problème c’est le multiusers : il ne faut pas que le scripte de montage soit lancé deux fois de suite ou que les disques s’éteignent dès qu’un des utilisateurs connecté se déconnecte. On veut que le scripte ne se lance que quand il n’y a qu’UN utilisateur connecté, d’où ce scripte ci :

    la condition

    nécessite des éclaircissements : users sert à récupérer les noms des utilisateurs connectés et les note autant de fois qu’il y a de connexion. Exemple : s’il y a deux ordis connectés avec le compte pi, il retournera « pi pi ». Le | sépare deux commande et exécute la deuxième en y implémentant la réponse de la première. wc = word count (pas besoin d’expliquer) et le -w précise que l’on veut le comptage des mots (car wc peut aussi compter les lignes, les caractères etc…). Les ` permettent de délimiter la fonction.
    Le sleep permet d’attendre que les disques se soient mis en marche et soient détectés par le rasp.
    puis vient mount qui monte les partitions.

    Pour la déconnexion c’est le même topo, à l’envers dans le fichier .bash_logout

    Voilà, j’espère que ça aura pu donner des idées et/ou des réponses aux lecteurs !
    Merci encore à toi Idleman pour tes tutos qui aident énormément.
    Bonne soirée à tous !

    PS TRES IMPORTANT : le seul tuto pour configurer un ftp qui marche vraiment pour moi est : http://doc.ubuntu-fr.org/vsftpd
    ps2 : setproctitle_enable=YES DOIT être activé pour que mon scripte fonctionne !

    Répondre
    1. Idleman Auteur de l’article

      Merci beaucoup pour ce ptit tuto alternatif ^^, ça inspireras certainement grand nombre de lecteurs pour leurs réseau domestique :)

      Répondre
  14. JulienR2

    Salut !

    Je me suis également lancé dans l’exploitation de cette petite bête de raspeberry pi. Je me demandais justement qu’elle utilisation de la sortie GPIO on pouvait faire.
    Donc merci pour ce tuto qui donne pas mal d’inspiration :)

    Pour ma part, je me suis pour l’instant monté un petit serveur Apache – postgre – Django.

    Ton tuto me donne bien envie de me lancer dans un peu d’électronique :) A l’attaque !

    A bientôt pour quelques questions.

    Répondre
  15. LOIS13

    Salut, je trouve super intéressant ton projet domotique et ça à l’air tellement simple! tu as fini de me convaincre de me lancer dans l’expérimentation PI. J’ai une idée Low cost qui pourrai t’intéresser, et que je pense faire à la maison:
    tu peux trouver des prises télécommandables par RF (http://www.castorama.fr/store/Pack-3-prises-telecommandees-1er-prix-PRDm523081.html).
    Il y a les modèles encastrables un peu plus chers.
    Ensuite tu branche ce que tu veux piloter sur tes prises, puis vient l’étape la plus complexe: le démontage de la télécommande pour connecter les port GPIO à la place de chaque ’bouton’.
    Si c’est pas possible en sortie directe du PI, ajouter un transistor entre les 2 pour avoir un contact sec sur la télécommande.
    ->Pas besoin de tirer des câbles
    Bonne soirée à tous

    Répondre
    1. Idleman Auteur de l’article

      Salut :), content que ça te tente ^^.

      our ce qui est de ton projet, je crois t’avoir un peu devancé (ayant la même idée de vouloir me débarrasser des fils) sauf que j’utilise des prises Chacon (qui sont réélement adaptées pour la domotique, d’excellentes qualités, qui peuvent se présenter sous formes de prises, de douilles de lampes ou de bloc électriques, et qui sont dans les 20 €).

      De plus au lieu de brancher les ports GPIO à la télécommande, j’émet moi même le signal radio depuis le raspberry PI via une petite carte émetteur FM 433.92 mhz en suivant le protocol HomeEasy (utilisé par les prises Chacon) ce qui permet d’utiliser une combinaison infinie de touches, de se passer de la télécommande et d’un montage pas très catholique, de n’utiliser qu’un seul port gpio sur le rpi, de copier des signaux comme mon garage résidentiel ou mes stores d’appartements pour les intégrer a ma domotique etc…

      Je sortirais certainement un tuto la dessus si ça t’intéresse, de plus il est possible que je rédige également un billet « construire sois même ses propres prises réceptrices » histoire de réduire encore le coût de la domotique, mon wiki de recherche sur le sujet est la : http://domotique.idleman.fr/

      Répondre
      1. Hexalyse

        Bon, y’a déjà un petit moment de cela (plusieurs mois) j’étais tombé sur ton blog car j’hésitais à m’acheter un RaspberryPi, et tu devais en être à la partie 6 ou 7 de tes tutos sur le Raspberry.
        Et voilà que j’y retombe aujourd’hui grâce à un ami qui m’a linké ton tuto sur la commande vocale ! Quelle surprise de voir que tu t’es intéressé à plein de choses sur lesquelles j’ai aussi jeté un coup d’oeil [au passage, Apache c’est pas le top, ça bouffe pas mal de resources. Personnellement je me suis mis Lighttpd, bien plus « light ». Il existe aussi nginx qui ferait l’affaire].

        Je suis en train de rattraper mon retard en relisant tous les commentaires, et je n’ai pas encore jeté un oeil à la partie sur la radio, mais ça m’intéresse pas mal. En effet depuis quelques temps je m’amuse un peu avec un dongle DVB-T « hacké » pour recevoir une bande radio bien plus large que la TV seule (on trouve plein d’infos sur le net en cherchant « RTLSDR ») : j’ai réussi à plotter sur une map les avions qui décollent de l’aéroport d’à côté, à recevoir quelques radios amateurs et… je me demandais si y’aurait pas moyen de capter puis « reverse engineering »er (ou pas) des signaux de télécommande type porte de garage afin de pouvoir les re-émettre avec un module 433Mhz couplé au Pi ! Tu as pu faire quelques essais ou pas ?
        A une époque j’avais lu qu’il y avait, en tout cas pour les voitures, une histoire de Pseudo-Random-Number-Generator sur les télécommandes et dans le récepteur, qui sont « couplés », afin qu’à chaque émission d’une commande d’ouverture, il soit différent : justement pour éviter que des gens puisse réouvrir une voiture en rejouant le signal radio. Est-ce que ce serait pas pareil pour les portes de garage etc. ? Auquel cas il serait assez difficile de retrouver l’algo et le « seed » de ce fameux nombre aléatoire qui crypte l’info :/.

        En tout cas, merci pour tes tutos. Je crois qu’à cause de toi je vais vraiment me lancer dans un peu de bidouillage électronique, depuis le temps que ça me titille !

        Ah, et je pensais récemment lancer un petit blog pour y écrire quelques tutos sur ce que j’ai fait avec mon RPi (et que j’ai pas trouvé sur le net, comme l’installation de munin avec génération de graph et de pages en fast-cgi pour alléger le CPU et les I/O sur la carte SD), et je me dis qu’il y aurait moyen d’échanger quelques expériences :) !

        Répondre
        1. Idleman Auteur de l’article

          J’avais commencé a concevoir un prototype de télécommande pour le reverse, mais avec les autres branches domotiques que j’explore je n’ai pas eu le temps de terminer, cela dis c’est logiquement réalisable, a condition que le code ne soit pas tournant bien entendu.

          D’ailleurs des télécommandes de ce genre existent toute faites sur la baie et autres :), preuve que c’est tout à fait simple.

          J’integrerait certainement un copieur de signaux a mon interface domotique, je finit d’abord mon proto de prise télécommandée maisons et de sonde de temperature. (et il faut aussi que je termine ma carte de transition temps réel pour le rpi) bref j’ai du taff ^^

          Ce dont tu parle pour les voitures est un code tournant, on ne peux effectivement pas faire grand chose contre ça, cela dit il y a beaucoup de systèmes qui n’en sont pas dotés, mes stores, ma porte de garage et la voiture de ma copine emettent toujours les mêmes signaux par exemple, je n’ai pas eu le temps de tester beaucoups d’autres truc mais je suppose que comme la techno du code rotatif demande une certaine r&d aux entreprises ainsi qu’un surcout materiel (moindre certe mais quand même) beaucoup s’en passent.

          Bonne chance pour ton blog, si ça te dis d’écrire sur l’idleblog un de ces 4 et que tu as un tutos bien construit, n’hésite pas a toquer, je suis toujours à la recherche de rédacteurs pour m’aider à faire progresser le smilblik (et moi même en passant ^^, mon propre blog m’apporte beaucoup via ses visiteurs)

          Répondre
          1. Hexalyse

            Merci pour ta réponse rapide.

            Tu étais parti sur quoi comme matos pour ta télécommande ? Le seul truc que j’ai toujours déploré, c’est mon absence totale de connaissance en électronique (enfin, disons que j’ai les bases, à quoi sert chaque compo, les petites équations qui servent toujours, mais de là à faire un circuit avec des PICs programmable… c’est pas la même histoire :D. Je me démerde bien en prog, mais pas pour de l’élec ^^).
            T’as des références de télécommandes sur la baie comme tu dis ?

            En tout cas, je vais suivre avec intérêt ta progression ! C’est vraiment intéressant ce dans quoi tu t’es lancé, et t’as l’air d’aimer bien faire les choses, pour pas cher :). J’pense que ce week end je vais commencer à implémenter la partie logicielle de ton projet domotique par commande vocale, et on verra ensuite si j’ai la motiv’ et l’argent pour rajouter un peu d’électronique/électrique. (J’ai un pote qui m’a lancé un défit débile de « faire faire le café » à mon Raspberry pour la vanne du « RPi qui fait le café », et je crois qu’avec ça ce serait chose faite. :p )
            Tu as retenu quoi finalement comme solution pour faire le relais entre les GPIOs du Pi et les prises électriques ? Une commande radio, et à l’autre bout un relais ? Ou une prise Chacon [que je connaissais pas] ?

            D’accord, merci pour l’info. Je pensais que les codes tournants seraient chose courante. Voilà une bonne nouvelle, ça devrait simplifier la chose ! (pour les signaux tu les as captés avec le Pi/du Arduino, ou d’autre matos ? C’est assez peu sécurisant de se dire que même la voiture émet le même code à chaque fois !)

            Pas de problème. Je te tiens au courant. Et comme je sais pas si j’aurais beaucoup de choses à y rédiger, c’est vrai que je pourrais contribuer à un blog pré-existant, comme le tien; plutôt que d’en créer un qui contiendra 4 articles et finira par périr ^^

          2. Idleman Auteur de l’article

            Atmega328 ou attiny85 pour le micro contrôleur + tranceiver 433 mhz quelconque pour l’émission réception.

            Si la programmation de micro contrôleur t’intéresse je t’encourage vivement à mater le prochain tuto qui traite justement de ça : on vas recréer une prise radio type chacon avec un micro contrôleur atmega.

            Pas idiot le projet du café, j’aime beaucoup ^^, genre « la cafetière connectée » avec deux ou trois servo moteurs + un capteur de temperature + un relais + une vielle cafetiere d’occas, ya moyen de faire un truc sympa

            Si tu savais tous les systèmes radio qui ne sont pas protégés du tout… en tout cas si j’ai un garage un jour, ça sera pas un automatique :D.

            Concernant le regroupement d’articles, j’y vois un interet tripe (et la je parle aux autres visiteurs qui voudraient participer aussi à l’aventure) :

            Ça permet aux visiteurs d’avoirs toutes les infos au même endroit sans chercher des bribes sur 1000 blog différents.
            Ça permet au rédacteur de bénéficier du trafique existant du blog (~20 000 visiteurs par mois actuellement) et d’avoir des retours.
            Ça me permet d’alimenter mon blog et d’y apporter de la valeur.

            A toi de voir :)

  16. Ronan

    Hello

    si ça peut dépanner qqn,

    Pour mes besoins perso, j’ai fait une librairie PHP qui contrôle les GPIO pins en lecture/écriture.
    Testé avec des leds et un capteur de température standard.

    https://github.com/ronanguilloux/php-gpio

    Répondre
  17. zebulon55

    salut beau travail .
    les sorties :
    gpio 0 & 1 (sda & sdl ) c’est pour l’ I2C un bus pour les composants elec. , il y a toutes sorte de capteur qui l’utilise . il faudra en passer par là pour le sonde le température par ex.
    gpio 7 ~ 11 violet ( miso mosi sck …) c’est le SPI … un autre bus.
    gpio 14 & 15 ( rx tx ) c’est le port série , on peut y connecter un adaptateur usb , bleetooth , xbee et autre .
    Tous ca pour dire qu’il faut une diode de roue libre avec un relais ( risque pour le RPi ) la résistance de la diode c’est moins grave t’ en rachète une , Mais elle ne doit pas brûler (Imax 16mA sur la sortie) .
    Pour contrôler la lampe (220v) tu peut utiliser un optotriac (relais passif ) qui a l’ avantage de proteger ton RPi . Et en plus en utilisant une sortie PWM de faire varier la lumière .

    Il peut etre utile d’ aller fait un tour chez Arduino c’est la même chose que le GPIO .

    Répondre
    1. Idleman Auteur de l’article

      Merci pour toutes ces bonnes infos, je ne connaissais pas (exception faite de l’ardui, sur lequel je bosse beaucoup aussi même si je n’en parle pas ici).

      Répondre
      1. zebulon55

        J’ai lu quelque pas que tu cherchais des infos sur les 433 Khz (telecommande et autre)
        si ce n’ est déjà fait jette un œil sur les rtl-sdr (GNU Radio w/Realtek RTL2832U), les forums qui traitent le sujet pullulent d’ info a ce sujet ( station météo, baby-phone, télécommande pour prises ).
        Tu peut sûrement trouver un émetteur pas cher , a mettre sur un port SPI ou en RxTx . et tout le reste ne sera que de la petite programmation ( partie que tu a l’ aire de bien maîtriser ).
        : )

        Répondre
        1. Idleman Auteur de l’article

          Merci pour l’info ^^, j’ai effectivement déjà reussi a faire ce que je voulais, j’en ai d’ailleurs fait mon dernier tuto: Raspberry PI ~ 12 : Allumer des prises à distance, j’utilise le 433.92 mhz pour émettre un signal en protocole homeEasy, ce qui me permet de piloter tous les périphériques radio chacon (nombreux et peux coûteux), je m’en suis tiré a 15€ pour émetteur + récepteur, mais je pense qu’on peux réduire à 3/4€ par la , car le récepteur ne sert pas pour le moment, et que des émetteur 433 sur ebay à bas prix ça a l’air de se trouver facilement.

          Par la suite je compte bricoler mes propres récepteurs (au lieu de passer par chacon) ce qui me permettra d’utiliser mon propre protocole radio (allez appelions ça le RIdle : radio idle !! :D) d’intégrer une notion de retour, et de baisser drastiquement les coûts de périphériques.

          Recette prévue pour un récepteur :

          Gestion radio : carte E/R RF 433,92 (~3€)
          Traitement des infos : Attiny 85 (~1.50€)
          Interrupteur : Pas encore trouvé de solution/prix qui me convienne, les cartes 1 relais restant très coûteuses, si tu as une idée…
          Alimentation : La aussi il me faudrait un convertisseur 220v/5v à bas pris capable d’alimenter le tout (attiny+relais+carte rf), le meilleur que j’ai trouvé étant dans les 10€ (ce qui triple le prix) et ne fournissant visiblement pas un courant bien « régulé » (pardonne les termes de profane, sortis du développement je suis une bille).

          Bref si t’as des tuyaux de ce côté la je suis preneur :D

          Répondre
          1. zebulon55

            Tout d’ abord désolé pour l’ autre commentaire je ne voulais pas te froisser .
            Pour ton alim , il va être très très difficile de faire moins cher que sur DX.
            Et l’ interrupteur ( un Attiny c’est un mini-mini Arduino, si je ne me trompe pas) donc juste une diode et un relais doivent suffire .

          2. Idleman Auteur de l’article

            Hahaha, mais tu ne me froisse pas du tout au contraire :), c’est agréable d’avoir des retours de gens un peu calé en électronique, je tattonne dans le noir depuis le début, quand quelqu’un peux m’éclairer de ce côté tout est bon à prendre :)

            C’est quoi DX? L’attiny c’est la micropuce petite soeur de l’atmega qui est sur l’arduino, l’avantage étant qu’elle peut être programmée par un arduino et etre branchée sans aucun composant additionnel, bref c’est un arduino pour 1$, plus petit avec 5 gpio disponibles.

            J’utilise les ralis depuis le début mais je trouve ça fichtrement cher pour ce que c’est, après d’apres ce que j’ai compris on peux les avoir seul ou avec carte, sachant qu’avec la carte c’est plus sécurisé (optocoupleurs additionnels etc..) c’est ça ?

  18. zebulon55

    Une dernière chose pourquoi 280 Ohms ?

    Si sortie Us=5v Uled=1.2v donc Ur’esistance’= Us-Uled = 5-1.2 = 3.8v
    L’ intensité l’ utilisation d’une LED 20mA > Iled=0.02A
    Tout est en série donc Is = Iled = Ir = 0.02A
    Comme U=R*I > R=U/I
    R(en Ohms)= Ur/Ir = 3.8/0.02 = 190 Ohms

    Si sortie 3.3v idem
    R= U/I = (Us-Uled)/I = (3.3-1.2)/0.02 = 2.1/0.02 = 105 Ohms

    Sinon j’ ai suivi ton tuto de bout en bout et c’est magique je peux allumer les lampes, même si au final c’est pour commander la gâche électrique de l’ immeuble depuis mon smartphone , Merci .
    Demain quand j’ arriverais devant chez moi la gâche faira Dzzzz et la lampe du couloir s’ allumera .

    Répondre
    1. Idleman Auteur de l’article

      Ça fait con si je réponds : « parce qu’on m’a dit que c’était 280 Ohms » ? :D

      Content d’avoir pu t’aider dans ton projet malgrès l’évident écart de niveau éléctronique entre nous deux :p

      Répondre
  19. Paul

    Salut !

    Je raconte une grosse blague : mes LED s’allumaient pas alors que j’avais tout bien fait, en regardant mieux mon bon de commande de mes composants je me suis aperçu que c’était des LED infrarouge que j’avais achetées (IR en anglais :p), et en regardant avec l’aide de la caméra de mon smartphone je me suis aperçu que ça marche niquel ! donc merci :)

    Je pense que ce site peut t’aider pour tes achats : http://dx.com/c/electrical-tools-499/arduino-scm-supplies-436 (je t’amène à la catégorie composants arduino, j’ai déjà acheté un recepteur/emetteur FM pour 4€, un détecteur de mouvement pour 3$, des fils, des LED infrarouge(lol)sur ce site, les frais de livraisons sont offerts mais ça met un mois à arriver)

    Continue à faire de l’excellent boulot !

    Répondre
    1. Idleman Auteur de l’article

      Ha ha ha !! J’ai trouvé plus tête en l’air que moi alors :D

      Effectivement les prix sont super intéressants sur ce site, merci beaucoup pour le tuyau :)

      nb : attention aux e/r peux cher en une carte, certains sont très complexe a utiliser car ils utilisent des bus de données

      Répondre
      1. zebulon55

        Comme l’ dit Paul DX c’est dx.com .
        Pour le relais tu peux les remplacer par des relais-passif ( il s’agit d’ un optocoupleur et d’ un triac ( le transistor pour l’ alternatif ) dans un seul boitier (un exemple ici : https://www.sparkfun.com/products/10636 ).
        Donc du coté Attiny tu ne commande qu’une led . Et l’ avantage c’est que tu peut faire du PWM .
        Pour finir ( j’ai jamais commander ) mais il y a ca : http://hackspark.fr/fr/433mhz-rf-link-kit.html
        .

        Répondre
        1. Idleman Auteur de l’article

          Oui entre temps j’ai trouvé la correspondance et j’y suis allé faire un tour :)

          sympa les relais passif, mais beaucoup trop cher comparé aux relais classiques :), j’ai trouvé des cartes un canal à moins de 2€ et sans fdp visiblement, donc je pense prendre ceux la, ou me faire ma propre carte relais (car visiblement il faut juste une diode de roue libre, un relais et eventuellement un transistor d’après ce que j’ai cru comprendre).

          C’est quoi le PWM?

          Pas mal aussi le kit radio, j’avais trouvé moins cher mais avec de plus gros frais de ports, donc je prends ^^

          Répondre
          1. zebulon55

            le PWM c’ est par exemple , le fait d’ allumer très rapidement une lampe tout en faisant varier la durée des temps ON et des temps OFF ça donne ça : http://arduino.cc/en/Tutorial/PWM
            Ça permet de faire varier ça puissance un moteur, une lampe, LED , …
            tout en conservant le rendement optimal en alimentant correctement ( a la donne tension ).

          2. Idleman Auteur de l’article

            Très intéressant ça !! je devrais implémenter ça a mes prises radio maison (dans un second temps évidemment ^^)

  20. Ced

    S’aurais tu comment lire l’état d’un port du GPIO en c++ (j’utilise Qt)

    Répondre
    1. Idleman Auteur de l’article

      tu peux inclure la librairie wiringPi, et utiliser la fonction digitalRead(pin) ou aller chercher directement dans les fichiers des pins via les file en c

      Répondre
  21. Antoine

    Bonjour,
    je souhaiterais savoir s’il est possible d’utiliser l’ensemble des ports GPIO comme entree/sortie pour n’importe quel type de composant derriere.
    Il n’y a que 8 GPIO mais je voudrait utiliser les autres mais pas forcement pour du I2C …
    Merci d’avance

    Répondre
  22. Nicolas

    Salut , j’ai juste un ptit question a poser si quelqun c faire la manip expliquer es qu’il pourrait prendre contact avc moi sur skype nicolas.mesnier vous chercher nico car tout le domaine electrique et ok mais les code source je c mm pas ou on les tape ou on va etc merci de rep tres vite merci davance

    Répondre
  23. charles

    Salut et bravo
    j ai juste 2 petit probleme
    1- je n arrive pas a extrere ton fichier pihome.zip
    2- il me dit que je n ai pas les drois pour le copier dans /var/www

    stp help me merci et encor bravo

    Répondre
    1. Idleman Auteur de l’article

      Quel utilitaire utilise tu pour extraire le zip ? As tu essayé la commande unzip de raspian ?
      Pour le second problème, ça ressemble a un problème de droit, essaye de mettre « sudo » devant ta commande et de taper ton mdp admin

      Répondre
      1. charles

        merci pour ta reponce mais j utilise l interface et je ne connais pas les ligne de commende donc si tu peux
        juste me donnais les ligne a taper ou mexpliquer comment faire avec l interface merci encor

        Répondre
        1. Idleman Auteur de l’article

          Les lignes de commandes sont affichées dans le tutoriel…

          Répondre
  24. Tekros

    Salut !
    J’adore tes tutos. Je suis tombé dessus par hasard en recherchant un peu de documentation sur le raspberry afin de m’initier à la domotique.
    J’ai cependant un problème pour allumer les LEDS via le script php.
    J’ai installé lighttpd et mysql sur mon raspberry ainsi que la librairie WiringPi.
    En ligne de commande, je n’ai pas de problème pour allumer les LEDS.
    Cependant en reprenant ton script PHP, je n’arrive pas à commander les LEDS.
    L’exécution d’une commande ls en revanche fonctionne.
    Mon dossier var/www possède tous les droits. Je pense que cela vient d’un problème de configuration de lighhtpd ou de droits mais je n’ai pas trouvé la solution.
    Avez-vous une idée pour résoudre celui-ci ?
    Merci d’avance !
    Pour la suite, j’envisage de connecter un Module GSM afin de pouvoir envoyer des SMS en utilisant une carte SIM free et le forfait à 2 euros par mois.

    Répondre
    1. Idleman Auteur de l’article

      Je dirais un problème de droit puisque dans 90% des cas ou la ligne de commande fonctionne et pas l’interface web, c’est que le user lié a ton serveur web (www-data pour apache, peut être un autre pour lighthttpd) n’a pas le droit d’execution de la commande.

      As tu maté dans tes fichiers de logs http/php voir ce qu’il y avait ?

      Répondre
      1. Tekros

        En regardant dans les logs, pas d’erreurs.
        J’ai finalement réussi à allumer la led en tapant le chemin complet pour la commande gpio. Soit /usr/local/bin/gpio …..

        Répondre
    2. Aladin

      Avec un ancien Telephone Nokia et un cable CA42, les module rpm smstools font bien l’affaire. en tout cas j’ai fait ce montage sur DockStar, donc sur RasPI cela ne doit pas poser de pb car il y a des ports Usb …. rpm à utiliser smstools, giioki, anacron

      Répondre
    3. marcel

      Salut,

      Moi aussi je compte pouvoir passer des appels et des SMS avec mon Rasp. Quel module comptes-tu utiliser ? J’ai lu que nombreux sont les modules GSM pour Arduino compatibles avec le Rasp…

      Répondre
      1. Anton

        +1 ,
        as-tu des infos ?
        merci

        Répondre
  25. Jordan

    Salut, voilà hum quand j’essaye d’installer la librairie WiringPi tout va bien jusqu’à la ligne ./build

    Alors malheureusement je n’ai quasiment aucune base en informatique, j’ai comme pour la plupart sans doute appris sur le tas donc bon je suis pas une flèche comme on pourrait le dire :p alors bon j’explique plus en détail mon probleme.

    Quand je tape la ligne de commande
    /home/pi/wiringpi/build (oui parce que je sais pas pourquoi mais quand j’écris ./build il m’envoie à la païtre :p avec un beau)
    Il me met

    The wiringPi I2C helper librairies will not be built

    WiringPi library
    /home/pi/wiringpi/build: line 63: cd: wiringPi: no such file or directory
    make: *** No rule to make target ‘uninstall’. Stop.
    make: *** No rule to make target ‘all’. Stop.

    Make Failed…
    Please check the message and fix any problems. If you’re still stuck, then please email all the output and as many details as you can to
    projects@drogon.net

    Donc si je comprends bien, une des commandes cd utilisé dans le ./build ne fonctionne pas donc il ne sait pas continuer. Et voilà ou je suis coincé… Si une ame charitable serait me venir en aide :D

    Répondre
    1. Jordan

      Autant pour moi :D j’ai trouvé la solution (toute conne pour certain, et je suis sur que déjà des gens m’insulteront de tout les noms, mais je vous aime quand même :p)

      Pour ceux qui ont ce problème, comme ça je pourrais aider :p
      faite
      cd /home/pi/wiringpi
      sudo ./build

      Et là tout fonctionne. Et je pense que j’ai été un peu con sur le coup mais bon c’est ainsi qu’on apprend

      Répondre
      1. Idleman Auteur de l’article

        Personne sur l’IdleBlog ne t’insultera sur le simple motif de l’ignorance :)

        Content que ça fonctionne ^^

        Répondre
  26. k

    Salut, comme ton blog a été ma première lecture concernant les gpio, je me devais de te montrer mon 1er projet.
    Une lampe connecté en guise de répondeur(bleu) ou live(rouge)
    Je pilote une diode rgb via gpio que j’ai mis dans une lampe ikea et je me sert du makey makey en USB qui fait office de contrôleur, quand on envoi un mail avec un fichier mp3 qui arrive sur un serveur dedie ovh, j’envoi un ordre via ssh sur mon raspberry qui download le mp3 et qui le joue en live en faisant clignoter la LED (pwm mais en soft)
    Le tout est dev en python .
    Pas eu le temps de faire un article mais une petite video.

    En tout cas merci a ton blog pour m’avoir permis de débuter.
    Et je vais commencer des maintenant mon 2eme projet.
    K

    Répondre
    1. Idleman Auteur de l’article

      Ha ha ha, c’est tout simplement génial félicitation :) !! L’utilisation du makey makey me parait un peu superflue et vole un peu la vedette a la lampe c’est dommage :), en totu cas très beau projet, je suis content que tu nous l’ai fait connaitre :D

      Répondre
  27. F1TE

    Salut voisin.
    On se voit toujours demain soir ?
    Tu as mon adresse je crois ?
    a+

    Répondre
    1. Idleman Auteur de l’article

      Yop !! Oui ça tiens toujours si t’a pas un imprévu :), je passe après le taff vers 6h30/7h00 (le temps de chercher un ptit pack de quelque chose) ça te vas ?

      Répondre
  28. F1TE

    Perd pas ton temps, il y a ce qu’il faut ici.
    A demain

    Répondre
  29. xavier

    comment esceque je pourrais faire pour que lorsque je clique sur « salon » par exemple, la lED s’allume pendent seulement une demi second ?

    Répondre
    1. Idleman Auteur de l’article

      Il faut que tu modifie le code :), ça n’est pas bien compliqué à faire, je te laisse fouiller dans le PHP tu devrais vite trouver (si je fais tout c’est pas drôle ^^ et pis j’ai pas le temps :p)

      Répondre
  30. xavier

    j’esseye d’extraire le fichier zip mais je me suis aperçu que dans var/ il n’y avait pas de fichier http://www... donc je ne sait pas quesceque j’ai bien pu manquer mais je suis bloqué :S

    esceque j’ai juste a rajouter au code mktime 5sec ? je n’y connais vraiment pas grand chose.. :S

    Répondre
    1. Idleman Auteur de l’article

      Tu as du oublier de faire le tutoriel n° 04 : configurer le raspberry PI en serveur, c’est un prérequis pour ce tuto, sans serveur apache, pas de répertoire www disponible :).

      Répondre
      1. Xavier

        C’est bon a savoir ca :/

        Répondre
        1. Idleman Auteur de l’article

          Oui, c’est vrai que je n’ai pas pensé aux lecteurs commencant directement par le tuto 06, je viens de corriger cet oublie en précisant le pré-requis sur le tuto :) merci pour la remarque ^^

          Répondre
  31. Tomtom

    Salut,
    Je viens de faire ton tuto. Très bien fait. Merci !

    Répondre
  32. Nadime

    Bonjour tout le monde,
    Pour information les ports (sda) et (scl) permettent d’utiliser le protocole I2C très inintéressant pour les gens qui voudront s’approfondir et faire des branchement un peu plus complexe.Ca permet de brancher des périphériques possédant ce protocole avec juste deux fils on appelle aussi ce protocole (2 wire protocole) en gros, on transmet des données via deux fils vers ou en provenance d’un périphérique possédant le I2C …:)

    Répondre
  33. Fabien

    Bonjour je voudrais réaliser un site de gestion se basant sur le votre je suis sous windows 8 et j’exécute le code PHP via wampserver mais j’ai toujours une erreur.
    Notice: Undefined offset: 0 in C:\wamp\www\Dizplay\Projects\Archives\pihome\functions.php on line 7 pourriez-vous m’expliquer qu’elle est cette erreur

    Répondre
    1. Idleman Auteur de l’article

      Sous windows tu ne peux pas utiliser le script puisqu’il utilise les commande linux de raspian pour accéder a la gestion des ports gpio.
      C’est la raison de ton erreur, le script tente de faire un « gpio read » système (commande linux qui n’existe aps sous windobe) et de récuperer le résultats, il te dit donc que le résultat est vide.

      Répondre
      1. Fabien

        OK et merci j’aurais une autre petite question: mon projet est la gestion d’un système d’alarme je voudrais réaliser une petite interface avec la possibilité de mettre à distance le système d’alarme en route et de voir l’état du système (à l’arrêt, en marche total, en marche partiel) et pour cela j’aurais besoin d’un script permettant de lire l’état des ports est ce que tu pourrais m’expliquer ce qu’il faudrait que je rajoute à ton code existant. Bonne journée

        Répondre
        1. Idleman Auteur de l’article

          Ça dépend de ton système :), et puis je vais pas tout te faire non plus sinon ya plus aucun fun :p

          Répondre
          1. Fabien

            OK merci quand même

  34. rodnugent

    Sans résistance pour limiter le courant dans les Leds, les sorties GPIO vont claquer et il faudra racheter une autre carte, c’est garantie par ma longue expérience en électronique. Evidemment ça marche quelques temps, c’est la différence entre prototype et série.

    Répondre
  35. rodnugent

    Pour ceux qui souhaitent piloter un relais, il faut utiliser des relais DIP en 5V en vérifiant qu’ils consomment moins que le courant maximal disponible sur un port du RPi, ou mieux encore, des optocoupleurs qui eux commanderont des relais plus puissants.
    En ce qui concerne les autres broches du GPIO, 5 sont utilisées pour une double interface SPI, 2 pour une UART et 2 pour une interface I2C. Ceci signifie qu’il peut communiquer via 3 types de liaison série. On trouve beaucoup de périphériques avec interface I2C, drivers de Leds ou de moteurs, relais statiques, etc.

    Répondre
  36. Bob72

    Trés bien l’article, ca me donne envie de tester le RPi!

    Il ne me reste plus que de le commander et surtout de trouver un écran avec un port HDMI…

    Répondre
  37. delaval

    J’ai utilisé une carte pic avec un émetteur 433Mhz, j’ai reconstitué les trames des prises télécommandé d’electrodepot sous Flowcode 5, et hop je commande dans toute la maison !!!

    Répondre
  38. matthias

    salut idleman, j’adore ce que tu fais et j’ai aussi une raspberry , avec un peu le même projet.

    parcontre je n’arrive pas a comprendre comment on peux télécharger et décompresser dans le dossier var/www vue qu’on ne peux pas écrire dessus. peux tu m’expliquer comment à tu fait :s , ca me serais grandement utile pour pouvoir avancer.

    MERCI A TOI.

    Répondre
    1. Idleman Auteur de l’article

      Je ne comprends pas ta questions :), qu’entends tu par « on ne peux pas écrire dessus? »

      Répondre
      1. matthias

        En fait tu dis de telecharger et de desiper ta page web dans var/www , sauf qye quand je veux mettre un dossier ou fichier dans var/www , cela me repond que je n’est pas les permissions pour ecrire dans ce dossier

        Répondre
        1. Idleman Auteur de l’article

          met un sudo devant ta commande pour spécifier que tu fait ça en tant qu’admin du système, et si la tu n’a toujours pas les droits, c’est que ton système est corrompu :)

          Répondre
    2. Fred

      Bonjour, et merci pour tous ce travail.
      les tutos sont super.
      J’ai le même prob que mathias, losqu’il faut décompresser ton .zip « script » dans var/www pour avoir accès a l’interface web qui permet de controler les gpio:
      impossible car « root » est propriétaire donc on ne peut pas le décompresser à l’intérieur.
      ni même créer le moindre fichiers.

      comme je suis débutant sous linux c un peu compliqué lorsque l’on me parle de liens logiques etc..
      et le prob c que lorsque l’on veut faire de la domotique sans pouvoir mettre des script dans var/www et pouvoir ainsi avoir accès à des interface web,
      nous sommes bloqué.

      merci pour votre aide

      Répondre
      1. Idleman Auteur de l’article

        met un sudo devant ta commande pour spécifier que tu fait ça en tant qu’admin du système, et si la tu n’a toujours pas les droits, c’est que ton système est corrompu :)

        Répondre
  39. matthias

    mon problème était que je n’arrivais pas a mettre un dossier ou fichier dans var/www, mais j’ai reussi en utilisant l’interface graphique avec sudo startx, mais maintenant je n’arrive pas a déziper ton fichier téléchargeable.. Je ne comprends pas pourquoi, quand j’essai de déziper avec Xarchiver, cela me dit format non pris en charge ou quelque chose du genre.
    Merci de m’aider ! =D

    Répondre
    1. Idleman Auteur de l’article

      essaye un
      unzip /chemin/vers/le/fichier.zip
      en ligne de commande :)

      D’une manière générale quand tu as des problèmes de permission, utilise le mot clé « sudo » devant ta commande pour l’exécuter en tant qu’admin système (nommé root)

      Répondre
      1. matthias

        cool ca à marcher, pour le sudo c’est ce que je faisait , mais comme j’utilisais l’interface » graphique cela était un peu chiant.
        Merci ! ca me débloque, je vais passé sur une page web 100% faite par moi, voir ci cela fonctionne bien !

        Répondre
      2. hochart

        merci pour la manip,
        et desolé pour notre ignorance
        mais quel et la commande pour deplacer le fichier decompressé dans var/www

        Répondre
        1. Idleman Auteur de l’article

          Donne un poisson à un homme, il aura à manger pour un jour; apprends-lui à pêcher, il aura à manger toute sa vie

          La réponse à ta question est facile à trouver sur le net, je sais que cette réponse est énervante mais crois moi en grattant un peu tu vas vite trouver :)

          Répondre
  40. ivo

    bonjour,

    pour les pov windobiens comme moi qui veulent copier les fichiers du pihome dans var/www, il y a une solution de Winscp. mais bon c’est une solution de dépannage pour avancer ds le tuto et faire clignoter les petites leds!!

    Répondre
  41. Mat

    Super tout fonctionne mais comment l’inclure dans un programme en python 2 ?

    Répondre
    1. Idleman Auteur de l’article

      En refaisant tout le code en python ^^, ou alors en appelant le php en php-cli depuis python mais c’est bourrin :)

      Répondre
      1. Mat

        Le raspberry et le bourrinage ne font pas bon ménage en général… Je suis donc bon pour me taper un peu de code ! ^^

        Merci de la rapidité de ta réponse et pour tes tuto qui m’ont plus que bien dépanné dans mon projet.

        Répondre
  42. pharmbattle

    Salut,
    j’ai une petite question concernant ton interface PHP, dans la colonne « état », est ce que les boutons qui servent d’interrupteur peuvent être configuré pour servir de bouton « poussoir ».
    donc 1 clic s’allume et se referme dès que l’on relâche.
    est ce que les gpio gèrent ces actions.
    Merci

    Répondre
    1. Idleman Auteur de l’article

      Oui c’est juste une question de modification de code :), les gpio peuvent parfaitement assumer ce comportement c’est juste que mon interface n’a pas été codée comme ça.

      Répondre
  43. Aksl

    Bonjour, j’ai besoin de 2 LEDs infrarouges, reliées aux ports GPIO et devant être détectées par un robot contenant 4 capteur IR.

    Auriez vous une référence svp ?

    Répondre
    1. Idleman Auteur de l’article

      Pas spécialement, j’ai acheté des cartes IR émetteur et récepteur sur ebay pour mon prochain tuto et qui me conviennent, après tout dépend de l’utilisation que tu veux en faire :)

      Répondre
      1. Aksl

        J’ai juste besoin que mes LEDs émettent.

        Répondre
        1. Idleman Auteur de l’article

          Dans ce cas toutes les leds sont bonnes :), sur ebay tu prends les moins cher et basta :p, ou si tu as la patience, tu peux attendre mon prochain tuto sur le sujet :D

          Répondre
  44. Mickael

    Bonjour,

    Moi, j’ai un petit souci…
    Pour que le schema fonctionne il faut que j’utilise le port 3.3v au lieu du port gnd

    Pouvez-vous m’aider ?

    cdt

    Répondre
    1. Idleman Auteur de l’article

      Peux tu être plus précis dans ta description du montage ? Tu as du brancher quelque chose de traviole :)

      Répondre
      1. mickael

        Bonjour,
        Merci de ta réponse.
        Pour information, j’ai une rev 2.
        J’ai fait exactement le même branchement que toi.
        1°)J’effectue:
        – gpio readall
        Par défaut:
        j’ai le mode IN
        (Je connais pas la différence entre IN et OUT)
        2°)J’effectue:
        – gpio mode 0 out
        – gpio mode 1 out
        etc
        Lls passent tous en mode out
        (sauf les nouveaux du port header P5 (rev2) GPIO 8,9,10,11 je pense qu’il sont uniquement in )

        quand je mets le cable sur 3.3 a la place de gnd cela fonctionne. sauf
        gpio write 0 0 allume
        gpio write 0 1 eteint

        bizarre en electronique c’est 1 qui allume

        Répondre
        1. Idleman Auteur de l’article

          Je ne sais pas quoi te répondre: ce n’est juste pas logique…

          Pour que la diode fonctionne, il lui faut du + et du -, la masse sert de -, le GPIO sert de + (quand il est à 1) donc normalement pas besoin de sources de courant annexe, après le GPIO fournis une faibel tension, il est possible que ta diode consomme plus que ce que le GPIO peux fournir d’où le besoin d’alimenter avec le 3v3.

          Cette explication pourrait être cohérente si tu utilisait la masse, en revanche sans la masse rien ne devrait fonctionner, bref c’est louche :)

          Pour la petite explication : IN c’est quand ton GPIO agit en mode entrée (quand tu veux lire la valeur envoyée par un composant par exemple) et OU c’est ton GPIO en sortie (quand tu veux commander un composant en lui envoyant un signal, allumer une led par exemple)

          Répondre
  45. bebej

    Salut,
    merci de faire partager tes trouvaille, me concernant j’ai un léger soucis en effet lorsque je tape gpio write 0 0 en suivant ce que tu avais fait bah j’ai ma diode qui s’allume, alors qu’elle devrait s’allumer en 0 1 … donc si tu as une explication je suis preneur :) bonne journée

    Répondre
    1. Idleman Auteur de l’article

      La comme ça a vif : non je n’ai aucune explication ^^, il doit y avoir une couille dans ton branchement mais je ne peux pas t’en dire plus désolé :s

      Répondre
    2. mickael

      salut,

      Je suis dans le meme cas que toi !!!!
      J’ai 0 qui allume et 1 qui eteint.
      tu a quel version du raspberry rev 2 ?

      Répondre
  46. 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.
    Si ça peut en aider d’autres :)

    Répondre
    1. Idleman Auteur de l’article

      Merci pour l’alerte :), il faudra que je pense à modifier ça (mais avec ma tite tête ça sera pas évident :p)

      Répondre
    2. Ptitvincou

      Bonjour, je pense avoir suivi la methode décrite pour utiliser le tuto avec lighttpden faisant un mv /usr/local/bin/gpio /usr/bin mais l’application ne fonctionne pas . pensez vous qu’il y est autre chose a faire ?

      merci beaucoup pour ce blog ultra intéressant !

      Répondre
      1. Idleman Auteur de l’article

        Essaye avec le code du tuto suivant, j’ignore si je l’ai mis à jour celui la dans le code.

        Sinon il te met quoi dans var/log/lighttpd/error.log à l’heure de la manip?

        Répondre
        1. Biobabar

          Bonjour,
          je suis dans le même cas que Ptitvincou.
          J’ai fait un mv /usr/local/bin/gpio /usr/bin mais l’application ne fonctionne pas
          J’ai cherché du code sur le tuto suivant comme tu le recommandais, mais pour moi, le suivant fait référence à ce tuto là (le 06). Donc retour à la case départ.
          Pour les logs les voici :
          2013-11-08 15:03:34: (mod_fastcgi.c.2676) FastCGI-stderr: PHP Notice: Undefined offset: 0 in /var/www/functions.php on line 6
          PHP Notice: Undefined offset: 0 in /var/www/functions.php on line 6
          PHP Notice: Undefined offset: 0 in /var/www/functions.php on line 6
          C’est peut-être tout bête, mais je ne suis pas très opérationnel sur le code.
          En tout cas merci pour ton blog, j’ai quasiment acheté tout le matériel que tu indiquais pour essayer de suivre tous tes tutos.

          Répondre
          1. Idleman Auteur de l’article

            Coucou :).

            Dans le fichier action.php, essaye de remplacer les « gpio … » par le chemin complet vers le binaire gpio de ton système.

            Par exemple toi tu semble l’avoir déplacé (assez déconseillé) vers /usr/bin, assure toi donc bien que /usr/bin/gpio existe puis dans action .php remplace par le bon chemin :


            < ?php require_once('common.php'); $result['state'] = 0; $result['error'] = ''; switch($_['action']){ case 'changeState': //Definis le PIN en tant que sortie system("/usr/bin/gpio mode ".$pins[$_['pin']]." out"); //Active/désactive le pin system("/usr/bin/gpio write ".$pins[$_['pin']]." ".$_['state']); $result['state'] = 1; break; case 'demo': system("/usr/bin/gpio write ".$pins['11']." 1"); sleep(1); system("/usr/bin/gpio write ".$pins['11']." 0"); system("/usr/bin/gpio write ".$pins['12']." 1"); sleep(1); system("/usr/bin/gpio write ".$pins['12']." 0"); system("gpio write ".$pins['7']." 1"); sleep(1); system("/usr/bin/gpio write ".$pins['7']." 0"); break; default: $result['error'] = 'Aucune action définie'; break; } echo '('.json_encode($result).')'; ?>

      2. Danonino

        Idem, mais j’ai fait peut-être pire :
        sudo mv /usr/local/bin /usr/bin -v
        Sauf que je n’ai pas de dossier /usr/bin/gpio
        Le fichier var/log/lighttpd/error.log est vide dans nano
        Et je ne peux plus faire le ./build sur wiringPi , du je vois pas trop comment retrouver un dossier gpio quelque part…

        Répondre
        1. Danonino

          Je me suis dépatouillé pour retrouver mon dossier gpio.
          Pour corriger le bug de lighttpd, le plus simple est effectivement de changer ton script action :

          $commande = « /usr/local/bin/gpio »;
          et remplacer tous les « gpio » par $commande
          Et ça marche !

          Répondre
          1. pascalou

            Tu peux préciser ce que veux dire remplacer les gpio par $commande ?
            Je ne parviens pas à m’en sortir avec lighttpd :-(

        2. Idleman Auteur de l’article

          tape « whereis gpio » pour trouver ton dossier.
          E ne le déplace pas c’est bourrin ^^, mieux vaut modifier son chemin d’appel dans le php ou fair eun lien symbolique

          Répondre
  47. Hantse

    Bonsoir, Merci pour tout les tutoriels que tu publie :)

    Après celui-ci, je me suis lancé dans la conception d’un programme client / serveur pour gérer l’allumage / mode des pins à distance :)

    Il est en C, marche plutôt pas mal, si cela vous intéresse :)

    Répondre
  48. floflo

    Bonjour ! tous d’abord superbe tutos :)

    cependant j’ai un petit problème, ma commande « sudo unzip pihome.zip -d /var/www » ne fonctionne pas, j’effectue actuellement des recherches sur internet pour trouver la solution a mon problème mais sans grand succès :/

    Répondre
    1. floflo

      hop, j’ai rien dit j’avais écrit un mauvais chemin d’accès … désolé !

      Répondre
    2. Idleman Auteur de l’article

      Elle te dit quoi la commande ? Verifie que tu as bien installé zip (sudo apt-get install zip) et que ton dossier /var/www existe bien (cd /var/www)

      Répondre
  49. TiTi

    Hello,

    Super ce tuto, je l’ai déployé chez moi et ça marche nickel (tests depuis un smartphone).
    Je me suis même essayé à quelques modifs pour ajouter l’ensemble des PIN « commandables » et pas de soucis.
    Par contre je me demandais : sur le principe (je me trompe peut-être), j’ai l’impression qu’on ne peut faire que de la « commande » type allumer/éteindre depuis un navigateur (GPIO en mode OUT).
    Est-il possible que les PIN puisse également en retour « lire le statut » ?
    Exemple avec une lampe : avec ton système on est capable de l’allumer à distance. Mais si tu l’allumes directement (à l’ancienne avec tes doigts :-), l’interface se met-elle à jour (coche passerait à vert) ?
    Je ne me suis peut être pas posé les bonnes questions car je vois encore assez mal quel système (physique ou électronique) permet à la prise de la lampe de permettre son activation à distance mais également de renvoyer son statut si on agit directement dessus.

    Une idée ou complément d’infos ?

    Répondre
    1. Idleman Auteur de l’article

      Oui c’est possible c’est d’ailleurs ce qu’on fait dans les tutos suivants :), je t’invite à les lire :)

      Répondre
  50. zeverybest

    Je suis en train de me plonger dans ce sujet que je trouve TRÈS intéressant
    Mes compétences en PHP sont assez limitées (mais j’apprends)
    Ma question : quelle est l’utilité des scripts JS intégrés dans les pages PHP
    je ne vois pas trop
    Un peu d’explication sur ces scripts?

    Répondre
    1. Idleman Auteur de l’article

      Le javascript permet de rendre les pages plus interactives en ajoutant des animations coté navigateurs, il à aussi pour grande utilité de pouvoir manier la technologie dite « AJAX » qui permet de faire des requêtes vers le serveur sans avoir à recharger la page.

      Dans le script proposé, c’est ce qui fait que lors du clic, l’icône change et que la requête se fait vers le serveur sans que la page ne recharge.

      Répondre
  51. Walane

    Pas mal du tout ! J’essaye ça dès que j’ai le mien.

    Répondre
  52. Altxi

    Bonjour,

    tout d’abord j’aime beaucoup tes tutos, je les trouve très intéressant. Ensuite j’ai une question qui me trotte dans la tête, je suis électronicienne à la base et je ne comprends pas très bien un point. Tu envoie des commandes depuis ton serveur web directement sur le connecteur GPIO? Ou as-tu un autre programme en C ou Python qui fais la liaison entre les informations envoyées par le serveur web et les ordres envoyé au connecteur GPIO?

    Répondre
    1. Idleman Auteur de l’article

      Dans le tuto 6 le php du site web exécute une commande système utilisant la librairie wiring pi pour contrôler les gpio :), dans les tutos concernant la radio je passe par un C intermédiaire histoire que ça soit plus réactif :)

      Répondre
      1. Altxi

        Merci de ta réponse, quand tu dis plus réactif tu entends qu’en faisant des commandes systèmes il y a un temps de réponse plus long ? La librairie wiringPi n’est-elle pas faites spécialement pour programmer en C ?

        Répondre
        1. Idleman Auteur de l’article

          Je pense plus à un ensemble : PHP n’est pas le must quand il s’agit d’effectuer des tâches à la micro seconde prés, et encore moins avec sa fonction system.
          J’ai préféré cibler du plus bas niveau, après c’est plus sur l’intuition que je me base, a toi de voir ce que tu préfère :).

          Wiring PI est développée en C oui :), raison de plus pour l’utiliser directement via ses classes dans un programme C plutôt que d’appeler son binaire via la commande system ralentis d’un PHP plus fait pour le web que pour la gestion des signaux radio ^^.

          Répondre
          1. Altxi

            Très bien merci pour toutes tes réponses je pense que j’ai plus qu’à regarder ton tuto n°6 et de me mettre à mes projets persos^^!

            Merci encore!

  53. ValQuev

    Super tuto!

    J’adore votre blog, vos tutos sur le RaspberryPi sont géniaux! Je me suis permit de modifier votre panel de gestion afin de l’optimiser le plus possible pour les mobiles/tablettes (capture d’écran). Avec un petit style Google+, un visuel simple, le bouton vert pour les pins de niveau haut et le bouton rouge pour ceux de niveau bas. On peut créer facilement des « catégories » toujours dans le fichiers de configuration (capture d’écran du code). Je me suis basé sur le framework bootstrap par twitter pour faire cette page, et surtout, j’ai ajouté un système de login afin de pouvoir mettre ce site en ligne plutôt qu’en local et donc de pouvoir gérer en toute sécurité sa maison de n’importe où :)

    Bon courage pour la suite de votre blog,
    Un autre Valentin qui admire votre travail ;)

    Répondre
    1. Idleman Auteur de l’article

      Sympa comme tout !! :) (nb : entre Valentin on peux se tutoyer :p) As tu essayé min interface hcc des tutos suivant qui est un peu dans le même esprit ? bonne continuation !! :D

      Répondre
  54. Lutti

    Pour l’histoire de la commande system je conseille pour éviter de déplacer en barbare le binaire de l’utiliser de cette façon :

    system(« /usr/local/bin/gpio write 0 1 »);

    (en gros un chemin absolu depuis la racine comme sa pas de problème de path/config)

    Je pense que c’est la meilleur façon.

    Répondre
  55. Guillaume

    Salut Idleman,

    Tout d’abord félicitations pour ton travail, c’est du beau boulot.

    Je voulais voir ce que donne ton interface php. Je l’ai bien dézippé dans /var/www/ , je vois bien que le dossier home dézippé se situe au coté du dossier phpmyadmin mais quand je vais consulter la page 127.0.0.1 j’ai toujours la page « It works… ».

    J’ai loupé un truc?

    Merci encore pour ton boulot et de ton aide

    Répondre
    1. Idleman Auteur de l’article

      si tu tape juste 127.0.0.1, ça vas te mener automatiquement vers le fichier index.html à la racine du serveur http, tu dois taper l’url avec le nom du dossier que tus a mis dans var/www ou supprimer le fichier /var/www/index.html pour voir l’arborescence plus simplement :)

      Répondre
  56. Rémi

    Salut,

    Félicitation pour ces tutoriels. Ils sont vraiment super !

    La réserve que je peut faire, c’est que tu ne n’expose pas assez l’aspect développement de ton code. Pour un novice comme moi, c’est compliqué tout de comprendre. Evidemment ce n’est qu’un avis personnelle qui n’enlève absolument rien à la qualité de ton travail.

    Bonne continuation.

    Répondre
    1. Idleman Auteur de l’article

      Judicieuse remarque, c’est vrai qu’en tant que développeur, j’ai tendance à plus me concentrer sur les autres parties, j’essaierais de clarifier d’avantage les points de dev merci pour le retour :)

      Répondre
  57. Shakesbear

    Bonjour idleman,
    Merci à toi et ton travail sur le raspberry.
    Voilà mon problème: j’ai installé lighttpd et je peu bien accéder à la page d’index associé mais je ne peu plus voir la page de contrôle des LEDs en php sur mon navigateur alors qu’elle est bien dans le dossier /var/www. En fait même le dossier /var/www/home dans lequel est cette fameuse page est inaccessible.

    Celà fonctionnait avec apache.
    PS: j’ai déjà modifié l’emplacement de l’application gpio dans le dossier /usr/bin comme indiquer sur le tuto mais le problème doit venir d’ailleurs …

    Merci d’avance

    Répondre
    1. Idleman Auteur de l’article

      Tu as quoi comme erreur dans /var/log/lighhtpd/error.log ?
      Ça t’affiche quoi quand tu essaye d’y accéder depuis un navigateur ?
      Tente de taper la commande :

      sudo chmod 777 -R /var/www

      Histoire de voir si ça ne viens pas juste d’un pb de permission

      Répondre
      1. Shakesbear

        Alors, comme erreur dans /var/log/lighttpd/error.log , j’ai:
        (log.c.166) server started
        (server.c.1546) server stopped by UID = 0 PID = 3063
        et d’autre du même style puis:
        (mod_fastcgi.c.1732) connect failed: No such file or directory on unix: /var/run/lighttpd/php.socket – 0
        (mod_fastcgi.c.3002) backend died; we’ll disable it for 1 seconds and send the request to another backend instead : reconnects: 0 load: 1
        et encore après:
        (server.c.1546) server stopped by UID =0 PID = 4720
        (log.c.166) server started

        Dans le navigateur : taper: 192.168.1.xxx m’envoie sur la page welcome index comme prévu
        taper 192.168.1.xxx/home/ m’affiche : 404 – not found. Home est le dossier décompressé de pihome.zip et est bien dans /var/www .

        Enfin la commande sudo chmod 777 -R /var/www n’affiche rien de plus à l’écran, pas de message d’erreur.

        Répondre
          1. Shakesbear

            Merci Idleman,
            C’était lié à un problème de droit je pense, j’ai réinstallé lighttpd en suivant les instructions du site: http://raspi-blog.tk et par rapport à ton article, il manquerait une ligne de commande :
            « Changer le « propriétaire » et le groupe du dossier web :
            sudo chown www-data:www-data /var/www
            Donner les droits d’écriture au groupe
            sudo chmod g+w /var/www
            Inclure « pi » dans le groupe www-data
            sudo usermod -a -G www-data pi « 

  58. Ping : Allumer une DEL avec le Raspberry Pi | Moz Code

  59. adja

    Bonjour,

    Merci pour le tuto. Pour la partie info pourrai-je avoir un plus d’explications sur les fichiers PHP car je suis débutante en PHP et je voudrais comprendre un peu

    Répondre
  60. Horloge

    Bien Sublime Text ? :D
    Moi aussi je l’utilise :p

    Merci pour ce Tuto, je vise de fabriquer un Système de Refroidissment avec un Ventilateur…

    Répondre
    1. Idleman Auteur de l’article

      Oui ce soft est tellement bien que … J’ai même finit par acheter la licence !! (Ça m’était plus arrivé depuis des années :D)
      Bonne chance pour ton projet :)

      Répondre
      1. Ankirama

        En gros (je ne connais pas du tout Sublime Text hein !?) c’est du ViM avec un .vimrc bien configurer et avec 2-3 plugins en plus (notamment pour l’autocompletion) ou est ce qu’il est capable de faire d’autres choses ?

        Répondre
        1. Idleman Auteur de l’article

          C’est un peu réducteur ^^, je te conseille de l’essayer en version d’essai tu pourra te faire une idée plus clair de ses fonctionnalités

          Répondre
  61. Spy

    Bonjour Idleman, félicitation pour votre travaille, j’ai juste une question, je vien d’installer wiringPi mes quand je tape la commande (gpio mode 0 out) il me marque commande introuvable et les autres commandes pareille , je débute sous linux alors suis un peux perdu et j ne trouve pas mon erreur
    Merci d’avance.

    Répondre
    1. Idleman Auteur de l’article

      Wiring pi à du être mal installé, dans le doute essaye en tapant /usr/bin devant :
      /usr/bin/gpio mode 0 out

      Répondre
  62. Spy

    Ok merci, j’essaye sa quand je rentre

    Répondre
  63. isa

    Bonjour,
    Je ne comprends pas, jusqu’à présent tout à marché pour le mieux, cependant quand je tape : gpio write 11 1, absolument rien ne se passe..
    Des idées ?

    Répondre
  64. Thierry

    J’ai un petit souci, j’ai bien dézippé PiHome avec la commande dans le répertoire /var/www cependant quand je tape l’ip réseau où il y avait « It’s work » rien n’a changé, c’est toujours « It’s work »…
    Est-ce que quelqu’un peut me dire ce que j’ai mal (ou oublié) fait ?
    Merci d’avance.

    Répondre
  65. Fred

    Salut,
    Ton tuto à l’air très sympa à tester mais j’ai un problème le lien que tu as mis pour ton script php me renvoie une erreur 404. Serait t’il possible de me renvoyer un autre lien pour le télécharger ou bien le(s) fichier(s) directement par mail?

    Merci d’avance

    Répondre
    1. Idleman Auteur de l’article

      C’est corrigé le serveur était down :)

      Répondre
  66. Jack

    Hum bon super tuto !

    Cependant impossible d’allumer une LED !!

    J’ai fais un branchement tout simple, un bout de la led (-) à la masse, l’autre au pin 7 (ou 11, ou 12 x) )

    Sur le PI : gpio mode 7 out et ensuite gpio write 7 1 Mais rien ne se passe !

    Si je relie le + de la LED au +3.3 directement la LED s’allume donc elle fonctionne ! Une idée ?

    Merci !

    Répondre
    1. Idleman Auteur de l’article

      Attention la led est polarisée pense donc bien a la metre dans le bon sens :), as tu un multimetre pour vérifier que la pin 7 envoie bien du 3v3 lorsque tu tape gpio write 7 1 ?

      Répondre
      1. Jack

        Oui je sais pour la led, j’ai bien vérifié (et même testé dans les deux sens au cas ou x) ) mais rien !

        Bah non justement pas de multimètre, je pense que je vais m’en acheter un, ça reste toujours utile !

        Si rien ne sort de la pin 7 faudra que je m’inquiète :x

        Répondre
        1. Idleman Auteur de l’article

          Oui, si rien ne sort ça peux venir :

          -D’une mauvaise installation de wiring pi
          -Du fait que ton pin est grillé
          -D’un mauvaise alimentation de ta carte
          -D’un problème de permission quelconque lorsque tu lance la commande.
          -D’une confusion avec le numéro de pin (entre le numéro physique, le numéro rpi et le numéro wiring pi on s’emmelle facilement les pinceaux) au pire tu peux utiliser raspin pour être sur : http://blog.idleman.fr/?p=2218

          Répondre
          1. Jack

            – Wiring pi, possible, pourtant pas d’erreur à l’install :)
            – Possible aussi mais j’en ai testé 3 donc bon au moins un doit pas être grillé !
            – Possible aussi, je verrais en fonction de ce que dis le multimètre, j’ajouterais une alim
            – Mmm ben pas test en sudo c’est vrai mais ça n’a pas l’air de bloquer
            – J’avais vu avec raspin, et wiring pi affiche aussi les pin en out donc de ce côté ça doit aller

            Je reposterais quand je m’y remettrais !

            Merci beaucoup en tout cas !

  67. lilian

    Purée, c’est génial, je flânais sur quelques tutos et la… j’ai tout pigé des la première lecture !
    J’ai une formation d’automaticien et je bosse dans l’informatique maintenant. Je met en place OpenERP dans mon entreprise. je souhaiterais placer des framboises sur chaque machine pour compter les pièces et reporter les information en live dans Openerp qui se situe sur un serveur ‘plus haut’ . Voila l’idée grosso modo.

    il faudrait que je m’achète un rasp pour commencer des tests. Merci.
    Si le projet t’interresse, ça peut etre sympa de travailler a deux.

    Je te tiendrai au courant.
    Merci

    Répondre
    1. Idleman Auteur de l’article

      Sympa comme projet :), c’est indubitablement intéressant, mais je suis déja sur 12 000 projets auxquels je fais souvent défaut ^^, en revanche si tu veux publier tes résultats sur le fofo ou (si tu as quelque chose de construit,compréhensible et fonctionnel) sur le blog, n’hésite pas a me toquer :)

      Répondre
      1. Lilian76

        D’accord, pas de probléme, je m’achete un Pi a la rentrée, et je commencerais tranquillement tout ça.
        Je ferais un tuto avec un suivi; ça peut être sympa.

        Merci

        Répondre
  68. Stewen

    Hello,

    Je pense qu’un petit truc m’échappe, mais je n’arrive pas à voir le contenu des pages en php que tu nous a mis à disposition.

    J’ai fais 2-3 l’installation complète, copier le répertoire fournis, modifié les attributs et quand je vais sur 127.0.0.1, je tombe sur l’arboressance du dossier « www ».

    J’ai bien accès au fichier php, mais ces derniers ne s’affiche pas. Je peux les ouvrir avec un éditeur.

    Aurais-je oublié qqch ?

    Merci

    Stewen

    Répondre
    1. Idleman Auteur de l’article

      as tu bien installé php ? tu es sous quel serveur http ?

      Répondre
      1. Stewen

        Oh putain la pive !!!!

        Avant toute choses, je tiens à présicer que je ne connias pas grand chose en PHP et prog.

        bref,
        Tout fonctionne, lors du « dezippage » il y a du avoir un little bug… En effet, il n’y avait que les fichiers « Fonctions et configuration » donc forcément….

        Mais merci pour la réponse très rapide !

        Continue comme ça !!!

        Répondre
  69. gogo53

    bonjour,
    J’ai 13 ans je débute en informatique et j’aimerais allumer et éteindre rapidement un relais afin de commander les volets de ma chambre mais j’ai essayé de rajouter (dans le fichier action.php) :
    case ‘switchState’:
    echo « alert(\ »switchState\ ») »;
    //Definit le PIN en tant que sortie
    system(« gpio mode « .$pins[$_[‘pin’]]. » out »);
    //Active puis désactive le pin
    system(« gpio write « .$pins[$_[‘pin’]]. » 1″);
    sleep(1);
    system(« gpio write « .$pins[$_[‘pin’]]. » 0″);
    $result[‘state’] = 1;
    break;
    Et de faire :

    (pulse)

    <div onclick="switchState(,this) » class= »pinState « >
    je suis revenu sur mon interface web « PiHome » j’ai cliquer et rien ne s’est passer.
    j’ai aussi essayé de modifier les lignes de « demo » : ça na pas marcher

    merci de me répondre au plus vite
    et bravo pour ce que tu a fais

    gogo53

    Répondre
    1. Idleman Auteur de l’article

      merci de me répondre au plus vite

      Hé ho je ne suis pas une hotline non plus hein ! :)

      le code PHP est bon (a l’exception de echo “alert(\”switchState\”)”; qui ne vas rien donner et qu’il faut faire un header(location…) pour rediriger l’utilisateur), en revanche tu tente de l’appeler avec une fonction javascript (qui ne doit pas exister a moins que tu l’ai créée), tu devrais appeller ton action plutot avec un code de ce genre

      Répondre
      1. gogo53

        Merci pour ta réponse et encore bravo pour ce que tu fais

        Répondre
  70. Lilian76

    Je me suis acheter ça pour mes 15 jours de vacs … il a l’air pas trop mal. allez je prend !

    Chez DUNOD
    Raspberry Pi
    9782100598915
    Par Christian Tavernier

    A Bientot tout le monde.

    Répondre
  71. tita074

    bonjours
    pour commencer super tutot
    j’ai quelque petit question pour les personnes plus férue que moi niveaux serveur web et linux quand je veux extraire l’archive que tu nous met a disposition il me dit que je n’ai pas les accès pour le mettre dans le répertoire « /var/www »!
    qui peux m’aider merci d’avance!

    Répondre
    1. tita074

      désoler d’avoir polluer les commentaires j’ai trouver ma réponse plus haut pour ceux comme moi qui débute sous linux voila l’info :p
      Changer le « propriétaire » et le groupe du dossier web :
      sudo chown www-data:www-data /var/www
      Donner les droits d’écriture au groupe
      sudo chmod g+w /var/www
      Inclure « pi » dans le groupe www-data
      sudo usermod -a -G www-data pi

      bonne soirée a tous !

      Répondre
  72. xmoulin

    Bravo!
    Je viens de jouer la procédure le temps de la sieste du petit.
    je me régale. merci pour tous ces tuto.

    Next!

    Répondre
  73. Ping : Ou alors à ça ! | Grorico's corner

  74. Clairetj

    Bonjour et bravo pour ce tutoriel, par contre j’ai une question, je souhaiterai réaliser exactement la même fonction (à savoir allumé une LED) sauf que dans mon cas, la LED se trouve sur un automate et que la liaison entre la raspberry pi et l’automate, ce fait via une liaison RS485 avec le protocole MODBUS, donc comment adapter ton code pour pouvoir communiquer avec la liaison RS485

    Cordialement,
    Clairetj

    Répondre
    1. Idleman Auteur de l’article

      Je ne connais pas le protocole MODBUS, je suppose que le rpi peut faire ce que tu souhaite mais ça dépasse mes connaissances désolé :), je serais toi je commencerais par mater la doc sur le protocole modbus et la communication via RS485

      Répondre
  75. Kevin

    Bonjour,

    Je compte acheter un rasberry pour commander une ouverture de porte de garage à distance via surveillance cam IP.
    Ma porte est déjà motorisé et je dispose d’un simple bouton poussoir pour actionner l’ouverture ou la fermeture. J’avais monté moi même cette porte et c’est simplement 2 fils qui partent du moteur vers cet interrupteur.
    Je suis complètement novice en électronique par contre.
    Est ce que je pourrais reprendre votre système utilisé ici pour une led et l’adapter pour ma porte ou je risque de griller quelque chose ?
    Merci pour votre réponse.
    Bàv.
    Kevin.

    Répondre
    1. Idleman Auteur de l’article

      Tout dépends de ton montage actuel, mais dans tous les cas ne prends pas appuis sur ce tuto, il ne faut jamais relier un circuit de commande directement a un circuit de puissance, ici c’est pas genant car il s’agit de led, mais dans ton cas tu grille le rpi a coup sûr.

      Ce qu’il te faut c’est utiliser des relais comme dans les tutos suivants pour couper ou non le courant dans le circuit de ta porte afin de la baisser/lever

      Répondre
      1. Kevin

        Bonjour, tout d’abord merci pour votre réponse !
        Mon montage actuel est « simple » je pense…
        C’est un moteur de porte classique relié au 220v.
        Je possède 2 commande sans fil avec.
        L’arrière de ce moteur possède une sortie pour un bouton manuel déporté qui est câblé avec un simple fil de téléphone (1pair) ce bouton est faiblement éclairé avec une led je suppose que ça doit être du 3 ou 5v quelque chose ainsi.
        Cela fait juste un contacte qd on appuie dessus pour monter/descendre la porte, ce contacte est de suite relâché ce n’est pas un bouton ON/OFF qui reste en permanence en circuit ouvert ou fermé. Je ne sais pas si je me fais bien comprendre.
        Donc en reliant d’une part un relais au bouton sur ce mur et de l’autre part le relais au RPI ça pourrait fonctionner ? Si oui quel genre de relais conseillez vous ? Quelque chose en basse tension je suppose ?
        Merci bcp.

        Répondre
  76. jeobab

    Bonjour,

    merci pour ce super tuto, j’aimerai piloter une sortie pendant quelque secondes et la remettre en position initiale, en bref une télécommande(ce qui correspond en gros à ta démo joyeux noël), je n’arrive pas à la faire fonctionner, je n’ai pas de main lorsque je passe la souris sur cette case???j’ai peut être rater un épisode…

    Répondre
  77. Ping : GPIO – Entrée en matière | MagdiBlog

  78. kteman

    Salut,
    Peut être que la question à déjà été soulevée mais j’ai pas lu tout les commentaires et je m’en excuse par avance.

    J’ai voulu mettre le fichier PHP mais quand je retourne sur l’adresse correspondant à mon Raspberry, j’ai toujours le message it works et non pas l’interface telle que tu l’as.
    Je voulais donc savoir si je dois mettre directement le dossier home qui est le premier lorsque l’on décompresse ou si je dois mettre autre chose.
    D’avance Merci
    Kteman

    Répondre
    1. Idleman Auteur de l’article

      Tape l’adresse de ton rpi suivis de l’arborescence de tes fichiers (sans compter la partie /var/www) et tu tombera dessus.

      En gros /var/www c’est la « racine » de ton site web (donc l’endroit ou tu tomber direct en tapant juste l’ip de ton rpi) après c’est une arbo classique, je te conseille de mettre direct les fichiers dans var/www au lieu de garder mon arbo pourrie

      Répondre
  79. Ptitvincou

    Bonjour,

    Merci Idle pour ton travail passionnant.
    Ma maison répond maintenant au doigt et a l’oeil mais pas encore a la télécommande.
    Je n’ai aucune reaction lorsque j’appuie sur un bouton excepté ceci quand je reste en appuie sur le bouton tres pres de la télécommande:
    pi@raspberrypi /var/www/radioReception $ sudo ./radioReception /var/www/radioR eption/radioReception.php 7
    sender 10159670
    no group
    on
    recipient 0
    sh: 1: php: not found

    je tente d’activer le log pour y voir plus clair mais je n’arrive pas a recompiler: voici ce qu’il dit. (j’imagine que c’est lié a des librairies a joidre mais je n’y arrive pas.)

    /var/www/radioReception $ g++ -W -Wall -o radioReception3 radioReception.cpp
    radioReception.cpp:101:5: warning: unused parameter ‘argc’ [-Wunused-parameter]
    /tmp/cch1CKsq.o: In function pulseIn(int, int, int)':
    radioReception.cpp:(.text+0x23c): undefined reference to
    digitalRead’
    radioReception.cpp:(.text+0x2e0): undefined reference to digitalRead'
    /tmp/cch1CKsq.o: In function
    main’:
    radioReception.cpp:(.text+0x430): undefined reference to wiringPiSetup'
    radioReception.cpp:(.text+0x508): undefined reference to
    pinMode’
    radioReception.cpp:(.text+0xb4c): undefined reference to `delay’
    collect2: ld returned 1 exit status

    Merci pour votre aide a tous !

    Répondre
    1. Idleman Auteur de l’article

      Premièrement tu semble avoir un problème avec le chemin php que tu lui fournis (visiblement t’a mis un espace au mauvais endroit ^^) ensuite tu compile le c++ avec la mauvaise commande

      Répondre
  80. HARTER

    Salut, il semblerait que l’accès à PiHOME soit mort, pourrait tu refixer le lien ?
    Au passage ton blog et tes tutos sont géniaux !

    Répondre
    1. Idleman Auteur de l’article

      C’est bon, crash serveur désolé ^^

      Répondre
  81. schizo

    Bonjour, et chapeau bas pour ton site.
    J’y passe des heures à lire.. :)
    Question STP:
    Comment passer commander des GPIO de plusieurs rapsberry sur le meme réseau ?

    Répondre
    1. Idleman Auteur de l’article

      Je n’ai pas compris la question, je pense qu’il y a un bug dans l’écriture :)

      Répondre
  82. bruno

    Mon script est disponible a l’adresse : http://projet.idleman.fr/domopi/data/web/pihome.zip

    Téléchargez le et décompressez le dans le dossier /var/www de votre raspberry PI

    Salut, je viens de recevoir mon raspberry et j’essaie de suivre les tutos mais là je ne comprend pas comment faire.
    J’ai téléchargé le dossier zip, je le dézippe j’ai un dossier home ensuite impossible de le mettre dans var/www de mon raspberry. J’ai du rater quelque chose. Merci et bonne journée.

    Répondre
      1. bruno

        bonjour et merci pour la réponse et le travail fourni pour les tutos.
        Bonne journée.

        Répondre
        1. Valentin

          Bonjour, lorsque j’entre la commande
          sudo wget http://projet.idleman.fr/domopi/data/web/pihome.zip
          la Raspberry répond qu’il est un impossible de créer une connexion SSL avec la serveur. Comment faire? Et si je télécharge le script depuis un ordinateur et que je souhaite le mettre dans le dossier /var/www de la Raspberry via une clé USB, comment faire? Merci pour ton tuto ;)

          Répondre
  83. Aurélien

    Salut,

    Je vais peut être dire une bêtise mais si tu fais un lien symbolique dans /usr/bin, qui pointe vers le chemin d’origine du script GPIO, est ce que ça résout le problème rencontré avec Lighttpd ?

    Répondre
  84. hoctrimede

    Tout d’abord, BRAVO pour cette série de tutos !!
    Je ne suis pas « codeur » (électronicien à la base…) du tout mais en suivant pas à pas cela fonctionne parfaitement (à part la fonction « Sapin de Noël »).

    Ma question (cela aurait été trop beau que je n’ai pas de question) concerne l’interface php.
    Penses tu possible d’en dire un peu plus sur la façon dont tu l’as développée ? J’ai regardé les différents fichiers contenus dans ton .zip mais mon faible niveau ne me permet pas de voir facilement comment cela s’articule.. :-( A moins que tu connaisses un bon site qui explique comment développer pas à pas son interface web…
    Bonne journée.

    Répondre
    1. Idleman Auteur de l’article

      Le script utilise les technologies suivantes :

      PHP: Code coté serveur, qui permet d’effectuer les calculs, de lancer les commandes pour contrôler les gpio etc…
      Javascript : code coté client, qui permet d’animer un peu la page et de faire des appels AJAX
      AJAX : technique javascript permettant ici l’execution d’un code php sans recharger la page
      CSS et HTML : Deux technologies de base permettant la structuration de la mise en page et la mise en place d’un style.

      Le site du zéro est pas mal pour appréhender ces technologies en douceur : http://fr.openclassrooms.com/informatique/php/cours

      N’hésite pas à m’envoyer un mail si tu as des questions sur des parties non spécifiées sur le site du zero :)

      Répondre
  85. wawane

    salut,
    ton blog est vraiment très intéressant j’aime bien, c’est simple, claire, concret et accessible au novice.
    voila le contrôle de GPIO est vraiment très intéressant dans la mesure ou tu peux créer un système Domotique très simple et Low cost.
    Actuellement tu prend un rasp (30€ + 8 relais 15€) ça te fait un système à 50€.
    Il existe arduino dans le même style accessible a environ 70~80€ de matérielle et tu passe beaucoup plus de temps dessus.
    Sinon il existe un système plus professionnelle type IPX800 (180€ pour la V3) avec Rail Din donc plus facile à commercialiser.
    Le système Rasp + relais fait encore très « bricolage » même s’il est opérationnel.
    Après il faut voir les possibilités que tu peux avoir avec le Rasp qui, à mon avis, son presque infini.
    Ton petit site php est simple et précis dans la mesure ou il n’y a que le nécessaire.
    Moi l’intérêt que j’ai trouvé au GPIO est de rendre n’importe quel équipement non mis en réseau (exemple : ma chaine hifi, controle uniquement par télécommande, elle a 10 ans) contrôlable à distance.
    Actuellement j’ai fait une modification de ton php ou j’ai mis l’essentiel du controle de ma chaine donc :
    – allumer/éteindre
    – Volume +/-
    – changer de source (AUX, TUNER, DISC)
    le rasp s’incorpore très bien dedans et après tu peux contrôler ta chaine-hifi grâce à ton smartphone.
    Voila un petit commentaire parmi tant d’autre.

    Répondre
  86. lilian76

    Bon, suite à mon commentaire un peu plus haut (sous le nom de lilian ou lilian76).
    Je suis en train d’écrire le tutos, mon but étant de faire communiquer OpenERP et des machines industrielles.
    l’intérêt c’est que nous allons appréhender le fonctionnement des ‘entrées’ (câblage, anti rebond matériel et logiciel …) . Un sujet qui n’est pas ou peu abordé ici, puisque la plupart des GPIO sont manipulées via une interface web.
    Je vais monter une étude de cas, (on va un peu sortir du cadre du rasp), un truc très concret avec de la matière entrante, de la matière sortante, de la main oeuvre, des coûts indirects, du dashboard, du XML RPC, du python, grosso modo, on va toucher du doigt ce qu’on appel de la BI.

    Voila j’ai fini ma bande annonce ;)
    Merci,
    A bientôt.

    Répondre
  87. lecagnois

    Bravo , encore bravo
    j ‘en suis au tuto numéro 06 et tout marche du premier coup .
    Merci pour tes explications simple , claires et pleines d humours .
    encore Merci

    Répondre
    1. Idleman Auteur de l’article

      Ya pas de quoi :), ça fait plaisir un merci sans questions derrière :p

      Répondre
  88. Angô

    je viens de recevoir mon Pi, je voulais en faire tout autre chose mais en me baladant sur le net je suis tombé sur ton site. Me voilà à faire des tests de domotique, merci pour le temps que tu passes sur tes tutos et pour la mise à dispo de tes fichiers (je viens de windows alors ça surprend toujours un peu la communauté du libre).

    Répondre
  89. titus06

    Salut idleman j’ai suivis ton tuto a la lettre jusqu’a la decompression du fichier pihome.zip et quand je vais sur la page web de ma raspberry c’est toujours la page « it work » ….

    Je ne comprend pas pourquoi ça ne ma pas mis ta page web ….

    Répondre
  90. Jéronimo

    Très bien ce tuto ! Bravo. Existe t-il un tuto du même genre (clair et simple…) me permettant de développer l’interface web en PHP ?

    Merci.

    Répondre
    1. Idleman Auteur de l’article

      Il existe de bons tutos pour php sur le site du zero :)

      Répondre
    2. Cesbron

      OK, mais y a t-il un logiciel permettant de faire l’ossature HTML et d’y intégrer le code PHP ? Dans le tuto présenté, tout le code HTML et PHP a été élaboré ligne par ligne du début à la fin ou es-tu partir d’une ossature réalisé avec un logiciel ?

      Merci.

      Répondre
      1. Idleman Auteur de l’article

        Non c’est un script que j’ai développé, il existe de nombreux logiciel d’aide aux développement web mais si tu veux t’y mettre je te conseille plutôt de prendre des cours sur des sites comme le site du zero :)

        Répondre
  91. Bruno

    Hello, petit soucis. Quand je tape l’adresse du raspberryPi dans mon navigateur il m’affiche « it works » (normal). Quand je tape http://x.x.x.x/pihome il me met toute la liste des fichier qu’il y a dans le dossier pihome : « index of
    Je n’ai donc pas l’accès a l’interface.
    Autre question dans l’image de ton navigateur web il n’y a que l’adresse du pi, quel est la manipulation.
    Merci d’avance et pardonnez mon ignorance. :siffle:
    merci en tout cas pour ce tuto.
    a +

    Répondre
    1. Idleman Auteur de l’article

      Il se passe quoi quand tu clique sur « index.php » ?

      A tu bien pensé à installer php5 sur ta machine (ainsi que le lien php5/ton serveur http ?)

      Pour y accéder direct il suffit de mettre tout le contenu du répertoire pihome directement dans /var/www et de supprimer l’index.html (it works !!) en place par défaut.

      Répondre
      1. Bruno

        Hello, j’ai trouve mon problème. Pendant la manipulation ou j’ai déplacé mes fichiers, j’en ai perdu quelque-un (j’ai utilisé ftp). Du coup je les ai remis manuellement (ma réaction de demander de l’aide a été un peut rapide, je l’avoue : pardon) . Je souhaitait me répondre mais le commentaire n’était pas affiché.
        Un très grand merci pour le magnifique tuto (et très clair) ainsi que pour la réponse a mon commentaire.
        Cordialement.
        Bruno. :)

        Répondre
        1. Idleman Auteur de l’article

          Ya pas de quoi, bonne continuation :)

          Répondre
  92. the_darkprince

    Salut Idleman,

    Merci pour ce tuto que je suis en train de suivre, quel plaisir de voir les LED s’allumer quand on tape les commandes adequates, enfin du concret :p

    Par contre, je n’arrive pas à acceder à la page PHP que tu as créé, je crois qque le lien ne fonctionne plus (http://projet.idleman.fr/domopi/data/web/pihome.zip) pourrais tu le remettre s’il te plait?

    Merciii :)

    Répondre
    1. Idleman Auteur de l’article

      Oui j’ai migré le serveur pour cause de déménagement, normalement c’est de nouveau opérationnel

      Répondre
  93. Fabien

    Snifff, le lien est mort !
    Ce projet correspond pourtant à mon objectif final ='(

    Répondre
    1. Idleman Auteur de l’article

      Coucou :), normalement les liens sont remis d’applombs, je suis en phase de déménagement du coup le serveur de ressource à du mal à suivre :)

      Répondre
  94. Flavio

    Hello Idle !

    J’ai suivis quasiment tout tes tutos sur les raspi (très très bien expliqué d’ailleurs !) et dans le cadre d’un petit projet, j’ai fait quelques rechercher mais y a une petite question à laquelle je n’arrive pas à répondre par moi même, je m’explique :

    Dans le but d’interagir avec une voiture, via les port GPIO, j’ai commandé une carte relai qui me permets d’activer certain éléments en partant des ports GPIO pour switcher sur du 12V (en gros contrôler des relais de puissance depuis le raspi [jusque là je devrais pouvoir me débrouillé]).

    Ma grande question, c’est comment pouvoir récupérer l’information de certain élément de l’auto ? Par exemple, si je veux voir si les phares sont allumé, je mets un port GPIO sur « IN » tout ça dans ma petite tête c’est ok ^^’ par contre, comment le raspi va réagir étant donné que c’est du 12V et non du 3.3V ou du 5V ? Est-ce que je suis obligé de passé par des résistance pour descendre le voltage ou y a-t-il une solution moins « barbare » avec un composant dont j’ignore l’existance ?

    Merci d’avance :)

    Répondre
    1. Idleman Auteur de l’article

      Les pins du Rapsberry n’acceptent que du 3.3v continue max sinon tu risque de griller quelque chose, donc tu dois passer passer par un régulateur de tension 12v/5v ou par un pont diviseur de tension vérifie également que ta batterie de voiture n’est pas alternative (je n’y connais rien en auto j’ignore donc si c’est alternatif ou continue)

      Répondre
      1. Flavio

        Top merci pour l’info, je vais tester tout ça ce week-end.

        Encore une fois bravo pour tes tutos, vraiment exceptionnel, plaisant à lire, très explicite, et la touche d’humour est vraiment au top à chaque fois !

        PS: Les voitures fonctionnent en 12v continu pour info :)

        Répondre
        1. Idleman Auteur de l’article

          Merci pour l’info :), et pour le « remontage de moral » :p

          Répondre
        2. Anton

          Bonjour,
          Super tutos avec de l’humour en plus ! bravo !
          « un pont diviseur  » pas si nul que ça en électronique ! ;o)
          Cordialement.

          Répondre
  95. MicMac

    Hello Idleman,
    merci pour ces super tutos, j’ai installé lightppd et donc je dois faire la manipulation proposé par Zescientist, mais je ne vois pas « l’application » que je dois déplacer, s’agit-il de wiringPi ?

    Répondre
    1. Idleman Auteur de l’article

      c’est le binaire « gpio », si tu ne le trouve pas au chemin indiqué, essaye la commande « whereis gpio » qui devrait te retourner le chemin ou il se trouve :)

      Répondre
  96. Icare Petibles

    Bonjour,
    Sur ton schéma avec 3 leds ne serait-il pas judicieux de rajouter les résistances de limitation de courant ?
    :p

    Répondre
    1. Idleman Auteur de l’article

      Comme je l’ai spécifié au long de mes tutos : je ne met jamais de résistance parce que je n’en ai pas sous la main mais évidemment c’est vivement recommandé :)

      Répondre
  97. arnaud

    Salut
    j’ai suivi ton tuto a la lettre pour tant rien ne marche :(
    je vais sur 127.0.0.1 je tombe sur ton interface mais quand je clic sur une led rien ne se passe :/
    j’ai donc mis un voltmètre mais la tension est toujours egale a 0
    a tu une solution ?
    je ne n’ai pas trouve dans les autres commentaire ( sauf erreur de la part )
    merci d’avance
    Arnaud

    Répondre
    1. Idleman Auteur de l’article

      Tu as un message d’erreur dans /var/logs/apache2/error.log ?
      Tu as pensé à mettre les permissions ?

      Répondre
      1. arnaud

        Desole du retard

        mon soucis etait les autorisations :/
        j’avais pour tant fait la commande mais elle n’a pas marcher

        tout est fonctionelle maintenant :)

        Merci

        Répondre
  98. simbabou

    Bonjour,
    Je voulais savoir si il y a un moyen pour utiliser les ports GPIO comme des interrupteurs, sans envoyer de courant. Je souhaite, si c’est possible, de relier mon rapsberry pi à l’interrupteur de la carte mère de mon PC pour pouvoir l’allumer soit manuellement soit grâce au raspberry.
    Merci d’avance
    Simbabou

    Répondre
  99. frodo72

    Bonjour Idleman,

    je viens de recevoir mon Raspberry PI, et j’été intéressé par ton script mais il semble que ton lien sois mort.
    est ce possible de l’avoir a nouveau ?
    merci part avance

    Répondre
  100. Slender

    Bonjour ,
    Voila j’ai un problem pour installer wiringPi
    « cloning into « wiringPi » . . .
    fatal: unable to connect to it.drogon.net:
    git.drogon.net: Nom ou service inconnu »
    Si vous pouvez m’aider ca serait très agréable de votre part, j’ai cherché partout mais je ne comprends pas..

    Répondre
    1. Idleman Auteur de l’article

      Réesaye son site devait être down

      Répondre
  101. g_86

    Bonjour,

    Merci pour ce tuto… la LED brille ! …puis s’éteint sans que je demande rien Xo

    Comme j’ai l’impression que personne n’a rencontré ce problème jusqu’alors, je poste.

    Voici ma conf. si quelqu’un peut me dire d’où ça vient, je le remercie par avance.
    => RaspWheezy sur Raspberry Version 2
    => Je suis connecté à mon Rasp via SSH en Wifi (mais je fais tourner le programme ‘pihome’ sur le serveur local du rasp)
    => La LED est sur le port ‘WiringPi’ n°7
    => Le serveur est ligthtpd (mais j’ai aussi apache d’installé)
    => Dans usr/local/bin j’ai rpc_gpio et gpio. Dans usr/bin, j’ai gpio

    Note: J’ai supprimé la fonction ‘demo’ du code.

    Répondre
  102. ludo

    Salut et fellicitation
    J ai lu tout les posts pour ne pas poser la meme question encore une fois …
    Donc voici mon PB
    Lorsque je tape http://x.x.x.x/pihome …. j obtiens une page toute blanche …
    J’ai loupé quelque chose ou quoi ?

    Merci

    Répondre
    1. Idleman Auteur de l’article

      Tu as bien un dossier pihome dans /var/www ?
      Il y a une erreur dans /var/log/apache2/error.log ?

      Répondre
    2. aurelien92

      re-bonjour;
      pas d’affichage de page avec les lampes chambre, salon, etc., mais par contre le fichier /var/log/apache2/error.log contient ceci:

      [Tue Mar 04 02:04:47 2014] [notice] Apache/2.2.22 (Debian) PHP/5.4.4-14+deb7u8 configured — resuming norm$
      [Tue Mar 04 02:05:57 2014] [error] [client 192.168.32.37] File does not exist: /var/www/favicon.ico
      [Tue Mar 04 02:06:55 2014] [error] [client 192.168.32.37] File does not exist: /var/www/var
      [Tue Mar 04 02:07:15 2014] [error] [client 192.168.32.37] File does not exist: /var/www/var
      [Tue Mar 04 02:08:26 2014] [error] [client 192.168.32.37] File does not exist: /var/www/var
      [Tue Mar 04 02:14:20 2014] [error] [client 192.168.32.37] File does not exist: /var/www/favicon.ico

      Une idée de ce qui cloche??
      Merci par avance!! :))

      Répondre
  103. stocklin

    bonjours a tous
    super les tutos

    Répondre
  104. lego092000

    bonjoure
    je n’arrive pas a decompresser le fichier pihome dans var/www
    sa me marque « pihome:erreur à la creation du répertoire: permission non accordée :-(

    Répondre
  105. alexandre

    Bonjour à tout le monde
    J’adore tes tutos bien expliqué mais j’ai quand même un problème:
    J’ai téléchargé l’interface pour Controller les GPIO mais je n’arrive pas à l’extraire dans (/var/www) car il dit que je n’ai pas les autorisations requise. Pourtant je l’ai changé mais je n’ai toujours pas l’autorisation nécessaire
    Merci

    Répondre
  106. stocklin

    bonjour,
    est il possible de faire une iso bootable d une carte sd ?
    merci

    Répondre
  107. Phil

    Salut,
    J’en suis à cette étape, sauf que lorsque je veux décompresser ton zip dans /var/www
    Il me dit que je ne dispose pas des droits ?
    J’ai pour l’instant décompressé le fichier sur le bureau….une idée ?
    MErci

    Répondre
  108. Klauss

    Bonjour, je voulais vous féliciter pour tous ces tutos.
    Par contre, pour réaliser le tuto 6 j’ai bien galéré. En fait j’ai constaté que le schéma des deswiringPin correspond au Raspberry 1 (chose que je ne comprend pas car il m’avait semblé voir une version 2 dans une de tes vidéos) pour info: file:///J:/raspberry/Raspberry%20Pi%20GPIO%20Pinout.htm
    Je suis totalement débutant avec le raspberry et encore plus avec un OS linux (raspbian). Mes difficultés ont étés multiples sur raspbian. ex: Le dossier VAR qui était protégé en écriture même avec un compte pi.
    (Obligé de passé en root pour modifier les droits d’accès.)
    Le fichier zip aussi… (obligé de le dézipper sur windows avant. J’avais des erreurs quand j’utilisais la commande unzip fichier -d destination)
    Plein de petite choses qui font que ton tuto est plutôt difficile d’accès pour les noob comme moi qui sont habituer à tout faire directement avec la souris sur Windows.
    Plus de commentaire dans ton code serait également le bienvenu.

    Cordialement

    Répondre
  109. svinkk

    Bonjour,
    Merci pour tous ces tutos, c’et très cool !

    Cependant j’ai un petit problème, l’interface web est en mode texte si je puis dire, j’ai l’impression que le php ne fonctionne pas, (pourtant phpmyadmin fonctionne…)
    Aurais-tu une idée du problème ?

    Merci d’avance.

    Répondre
  110. svinkk

    Les logs :
    $
    [Wed Mar 05 00:09:28 2014] [error] [client 192.168.1.28] File does not exist: /var/www/js, referer: http://192.168$
    [Wed Mar 05 00:09:28 2014] [error] [client 192.168.1.28] File does not exist: /var/www/js, referer: http://192.168$
    [Wed Mar 05 00:09:28 2014] [error] [client 192.168.1.28] File does not exist: /var/www/js, referer: http://192.168$
    $
    [Wed Mar 05 00:09:27 2014] [error] [client 192.168.1.28] File does not exist: /var/www/css, referer: http://192.16$
    [Wed Mar 05 00:09:27 2014] [error] [client 192.168.1.28] File does not exist: /var/www/js, referer: http://192.168$
    [Wed Mar 05 00:09:27 2014] [error] [client 192.168.1.28] File does not exist: /var/www/js, referer: http://192.168$
    [Wed Mar 05 00:09:27 2014] [error] [client 192.168.1.28] File does not exist: /var/www/js, referer: http://192.168$
    [Wed Mar 05 00:09:28 2014] [error] [client 192.168.1.28] File does not exist: /var/www/css, referer: http://192.16$
    [Wed Mar 05 00:09:28 2014] [error] [client 192.168.1.28] File does not exist: /var/www/js, referer: http://192.168$
    [Wed Mar 05 00:09:28 2014] [error] [client 192.168.1.28] File does not exist: /var/www/js, referer: http://192.168$
    [Wed Mar 05 00:09:28 2014] [error] [client 192.168.1.28] File does not exist: /var/www/js, referer: http://192.168$

    alors que les fichiers sont bien là mais il ne s’appellent pas simplement js ou css bien sur…

    Répondre
  111. Dazy

    Génial, Bravo mais j’ai un petit problème: pour mettre le wifi
    Il ne reconais pas ma clé wifi.
    Can you Help Me?????
    PLEASE!!!
    Xo ^_^ :siffle: :p :-( :evil: oO :) T_T <3 :D :(

    Répondre
    1. Phaethor

      Pour répondre à ton problème de wifi, j’ai utilisé la solution ici : http://the-raspberry.com/wifi-config
      La version en ligne de commande marche.
      (Perso via SSH avec le Rpi connecté en filaire pour MAJ du Rpi puis config du wifi)

      L’autre, je n’ai pas re essayé mais la fois ou j’ai testé, j’ai rien pu en tirer…

      Répondre
  112. Victor

    Bonjour, tout d’abord excellent travail pour tes tutos ! d
    Ensuite, en soit les led ça marche nickel d’accord, mais moi je voudrais apprendre comment configurer la page que t’as créé en php ! Si tu pouvais me diriger sur les sites, tuto que tu as suivi ou simplement les méthodes à avoir je t’en serais redevable ! Merci d’avance !

    Répondre
    1. Idleman Auteur de l’article

      Tu peux aller sur le site du zero (ça s’appelle open classroom maintenant je crois) qui fait d’excellent tutos sur le php

      Répondre
  113. Ping : Spectacle son et lumières sur votre raspberry pi

  114. Darkos

    MERCI BEAUCOUP POUR CE TUTORIEL !
    EXCELLENT, J’ai buggué vite fait sur le fait qu’il fallait donner l’adresse complète http://127.0.0.1/pihome
    Sinon super bien expliqué, je suivrai les suivants avec plaisir :)

    Répondre
  115. moi4012

    y’a t-il une alternative a wiringPi ?
    (car chez moi wiringPi ne marche pas)

    Répondre
    1. Idleman Auteur de l’article

      Tu as quoi comme problème avec wiring PI ?

      Il existe d’autres librairies mais tu trouvera ça plutot du coté du python ou du java.

      Sinon tu n’est pas obligé d’utiliser une librairie pour manipuler les gpio, tu peut faire ça manuellement :

      echo 4 > /sys/class/gpio/export # activation du management du gpio
      echo out > /sys/class/gpio/gpio4/direction # définit le gpio4 en sortie (équivalent wiring pi : gpio 4 out)
      echo 1 > /sys/class/gpio/gpio4/value # met le pin 4 à 1 (équivalent wiring PI : gpio write 4 1)
      echo 0 > /sys/class/gpio/gpio4/value # met le pin 4 à 0 (équivalent wiring PI : gpio write 4 0)
      echo in > /sys/class/gpio/gpio4/direction # définit le gpio4 en entrée (équivalent wiring pi : gpio 4 in)
      cat /sys/class/gpio/gpio4/value # récupère la valeur du gpio 4 (équivalent wiring pi : gpio read 4 )
      echo 4 > /sys/class/gpio/unexport # cloture du gpio 4

      Répondre
  116. moi4012

    l’installation marche, mais quant j’allume une broche
    ( gpio mode 0 out et gpio write 0 1 )
    mais rien ne se passe

    il y a encore un mois, ca marchait T_T

    Répondre
    1. Idleman Auteur de l’article

      T’a un message d’erreur quelconque quand tu lance la commande dans le shell? T’as essayé de le lancer en sudo ? T’es sur de pas te planter de pin (entre les numéro wiring pi et les numéro physiques il y a un décalage)

      Répondre
  117. Inconnu21

    Bonjour Idleman et autres passionnés,

    Super tuto tout d’abord. Il m’intéresse fortement mais j’aurais plusieurs questions pour pouvoir l’adapter à ma demande mais je débute en programmation et en électronique.

    Ton tuto m’intéresse fortement pour pouvoir gérer mes volets roulants à distance. J’ai actuellement des volets avec chacun une télécommande sans fil. Après pleins de recherches, le code tournant de chez bubendoorf ne me permet pas de domotiser mon installation. J’ai donc eu l’idée avec ton tuto de connecter les boutons de la télécommande aux ports gpio du raspberry. Cependant dans ton cas tu passes par une commande 0 ou 1 fixe sauf que pour ma télécommande je souhaite que lorsque je passe à 1 ce soit pour une seconde juste le temps de donner l’ordre.

    Je pense que c’est une tempo à rajouter dans le programme mais n’y connaissant rien ou pas grand chose je demande ton aide.

    Merci d’avance pour ton retour et merci encore pour ces magnifiques tutos.

    Répondre
  118. damdam

    Salut,

    Juste pour te dire que ton blog m’a donné envie de me lancer, j’ai donc acheté mon raspberry, une led, des resistances, je branche le tout, et Ô miracle, j’allume et j’éteins ma petite led en ligne de commande :)
    next step, piloter mes prises DIO !
    C’est vraiment super de partager tout ça

    Répondre
    1. Idleman Auteur de l’article

      Ya aps de quoi et bonne continuation :)

      Répondre
  119. chasseurDedemons

    Salut idleman, merci pour tes tutos et ton site qui sont tout 2 magnifiques.

    J’aurais une question, peux-tu m’expliquer comment tu fait pour dire en php au raspberry d’allumer ou éteindre un port ?
    je début en php et j’ai du mal à comprendre tes pages.

    Merci

    Répondre
    1. Idleman Auteur de l’article

      Je lance des commandes systèmes avec PHP.
      La fonction system() ou encore exec() permet de lancer une commande systèm depuis php comme si tu étais sur un shell classique.
      Puis j’utilise le binaire de wiring pi via la commande système pour ouvrir ou fermer mes ports (gpio mode 1 in, gpio write 1 0 etc…)

      Répondre
  120. new

    Bonjour
    je tiens déjà a te féliciter pour ton tuto et c est pour te signialer qu un de tes lien ne marche pas

    « Mon script est disponible a l’adresse : http://projet.idleman.fr/domopi/data/web/pihome.zip

    Téléchargez le et décompressez le dans le dossier /var/www de votre raspberry PI « 

    Répondre
    1. Idleman Auteur de l’article

      Peux tu réésayer avec le nouveau lien sur l’article ? :)

      Répondre
  121. jerome

    salut,

    Merci pour le Tuto
    le lien pour télécharger le script ne fonctionne plus, y’a-t-il un autre moyen de le télécharger?

    Répondre
  122. graywars

    Bonjour,
    Le lien vers le script ne fonctionne plus :/

    Répondre
    1. Idleman Auteur de l’article

      Peux tu réésayer ? normalement ça devrait être bon :)

      Répondre
  123. Senor

    Le lien pour l’interface php Pihome est mort , possible de le réavoir ?

    Répondre
    1. Idleman Auteur de l’article

      Coucou :), normalement c’est mis à jour :)

      Répondre
  124. Grégoire

    Bonjour,

    Si vous utilisez la rev 2 de la Raspberry, la pin 21 s’appelle maintenant la 27.
    De même pour GPIO 0 qui devient 2, et pour GPIO 1 qui devient GPIO 3 (allez savoir pourquoi …). :(
    Concernant les autres pins , tu peux utiliser toutes les GPIO en IN, OUT ou INOUT (jaunes, bleues, vertes et violettes) à conditions de ne pas activer/utiliser les fonctions spéciales qu’elles peuvent fournir , indiquées entre parenthèses sur ton schéma. (UART pour les jaunes, I2C pour les bleues et SPI pour les violettes)
    Tu as aussi un deuxième 5V sous le premier, et un autre 3,3 en face de la GPIO 24.
    Il te reste donc 4 blanches, qui sont des masses.

    J’ai un schéma qui reprend toutes les pins et qui différencie la rev 1 et la rev 2. N’hésitez pas à me le demander ou facilement trouvable sur google.

    Répondre
  125. george

    Cool pour ce tuto, c est un peu ancien, mais juste ce que j avais besoin ! merci

    Répondre
  126. Zaka

    Salut Idleman , sa fait un petit moment que je me balade sur ton blog (mon prof de méca m’a dirigé vers toi)
    Je n’y connais rien en programmation et tout le reste mais je suis tout à la lettre dans tes tuto.
    Jusqu’à présent je suivais mais là je ne sais pas comment tu as fait ton interface web pour contrôler les 3 GPIO.
    Si tu pouvais me diriger vers un site,blog ou livre à suivre pour apprendre à programmer sous python.
    Merci à plus.

    Répondre
    1. Idleman Auteur de l’article

      Le site du zero me parait pas mal pour apprendre en douceur un nouveau langage :), pour ce qui est du principe général de mon script (en PHP, mais tu peux faire pareil en python) je simule une commande système qui appelle la librairie wiring PI avec la commande system() de PHP

      Répondre
  127. Baba

    Salut, je vais essayer de reproduire ton projet qui m’intéresse beaucoup, mais je suis débutant et je voudrais savoir si tu pourrai me passer ton adresse mail pour pouvoir communiquer plus facilement, si j’ai des questions (ce qui est déjà le cas).
    Merci a+ ;)

    Répondre
  128. totoph33

    Bonjour a tous!!!

    Super tuto tous marche du premier coup, par contre petit problème pour mon projet d’ouverture et fermeture de volet motorisé, je m’explique j’ai acheter une carte 8 relais 5v comme indiquer dans un de tes tuto, mais je ne voudrais pas laisser en permanence ma carte alimenter ( déconseiller risque d’endommager le rasp) donc j’ai eu l’idée d’utiliser un relais 5v que j’actionne avec une sortie gpio mais le problème c’est que le 3,3v du gpio n’est pas assez puissant pour faire coller la bobine (alors qu’en boutique tester avec du 2,9v et ça fonctionnait) donc pas assez d’intensité serait il possible d’utiliser deux sortie Gpio pour actionner cette fameuse bobine sans cramer le raspberry? ou alors est il possible de commander le 5v du raspberry ou as tu une autre idée ou suggestion a me faire.Là j’avoue que je galère je sais pas quoi faire!!!
    Merci par avance.

    Répondre
  129. Benoit

    Bonjour,

    Super Tuto , ça marche nickel. :siffle:

    J’aurai juste 2 questions concernant le programme pour pouvoir l’adapter au mieux à mon utilisation :
    – Peux t’on activer 2 GPIO en même temps avec une seule commande ( lorque que l’on clique sur X ) ?
    – Peux t’on modifier la commande des GPIO ? Je m’explique, au lieu de cliquer pour activer et cliquer pour désactiver, je souhaiterais activer en cliquant et déactiver en lachant le clic. Possible ?

    Merci d’avance

    Ben

    Répondre
    1. Idleman Auteur de l’article

      Avec une seule commande, pas que je sache (a verifier dans la doc wiring pi), mais tu peux lancer deux commandes suffisamment rapidement pour que les deux gpio s’activent en même temps.
      Pour la seconde question oui c’est possible c’est juste une petite manip a faire coté code php si tu t’y connais.

      Répondre
  130. nathan04

    salut idle j ai suivi les explication dans ton tuto (super les tuto que tu as fais)
    « 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. »
    depuis je peux plus utiliser la command sudo ni de passe en root
    tu as une explication?s

    pi@raspberrypi ~ $ apt-get update
    E: Impossible d’ouvrir le fichier verrou /var/lib/apt/lists/lock – open (13: Permission non accordée)
    E: Impossible de verrouiller le répertoire /var/lib/apt/lists/
    E: Impossible d’ouvrir le fichier verrou /var/lib/dpkg/lock – open (13: Permission non accordée)
    E: Impossible de verrouiller le répertoire d’administration (/var/lib/dpkg/). Avez-vous les privilèges du superutilisateur ?
    pi@raspberrypi ~ $ sudo apt-get update
    sudo: effective uid is not 0, is sudo installed setuid root?
    pi@raspberrypi ~ $ sudo -i
    sudo: effective uid is not 0, is sudo installed setuid root?
    pi@raspberrypi ~ $

    Répondre
  131. Ping : Cyberscooty's Wiki » Raspberry – 3 – piloter les PIN

  132. Ping : Cyberscooty's Wiki » Raspberry – 6 – Jouons avec la page web qui pilote les PINS

  133. yoann

    Bonjour, Super Blog, je me régale à chaque article
    D’après vous, on pourrait utiliser le raspberry pi pour allumer un ordinateur sur le même réseau ?
    (sans que ce dernier soit compatible Wake on Lan)

    Répondre
    1. Idleman Auteur de l’article

      Sans le wol, il faut le faire mécaniquement avec un relais ou mieux, électroniquement avec un mosfet en parallèle sur le circuit de l’interrupteur du pc mais oui c’est possible

      Répondre
  134. nono87410

    bonjour ,

    tout d’abord je trouve ton blog super , j ‘ai juste une petite question ,voila en faite je voudrai ouvrir ma porte de garage a l aide du gpio du rasberry pi via internet , seulement il me faut juste un contact sec donc en faite un bouton poussoir qui revient dans ça position d origine , or dans ton programme en php il n y a que des interrupteurs qui font 1 appui ouvert & autre appui ferme.
    comment faire en php pour que lorsque on presse le bouton sur le site web celui ci envoi une impulsion et reviens a sont état premier .

    merci d avance de ton aide .

    Bruno

    Répondre
    1. Idleman Auteur de l’article

      Il faut mettre les deux lignes de code l’une en dessous de l’autre et les séparer par une instruction sleep(1); qui vas attendre 1 sec avant d’executer la seconde ligne (fermeture gpio)

      Répondre
  135. Mortimer

    Bonjour, déjà merci pour vos tutoriels =) j’aimerais savoir, si vous avez un moyen de récupérer une valeur (numéro) d’un carte avec un code php si on connecte un lecteur RDIF RC522 sur le rapberry pi ? Merci de votre réponse. :)

    Répondre
  136. Antho

    Salut, super ton tuto.

    Cependant, j’éssaie de décompresser la fameux fichier « pihome » directement au bon endroit « /var/www » et lorsque je confirme il me dis que je ne possède pas des permissions pour cette action . (message exact: vous n’avez pas les permissions nécessaires à l’extraction des fichiers dans le dossier « /var/www ».)

    Comment faire?

    Merci d’avance.

    Anthony H.

    Répondre
    1. Idleman Auteur de l’article

      Est tu connecté en tant que root?

      Répondre
  137. Bazin

    Bonsoir,

    je ne vois pas comment décompresser ton fichier  » home  » dans le dossier /var/www de la Raspberry PI.

    Répondre
    1. Idleman Auteur de l’article

      Tu télécharge le zip, tu le décompresse sur ton bureau et tu envois le dossier pihome dans /var/www via ftp, ou scp ou autres méthode d’envois.
      Oui alors tu télécharge direct depuis le rpi et tu dezippe avec la commande unzip pihome.zip

      Répondre
  138. Soho68

    bonjour j’ai suivi tes indications mais lorsque j’édite le fichier configuration.php et que je rajoute des lampe et n’apparaisse pas sur l’explorer d’ailleurs je n’ai que 2 lignes et se sont les dernières du fichier.

    Pourquoi peut on m’aider

    Merci Xo

    Répondre
    1. Soho68

      J’ai trouver c’est juste que j’avais les mêmes titres « Objet » et donc il m’affichais uniquement 1 fois 1
      (j’avais LED BLEU *2 et LED ROUGE *2 il ne m’affichais que 1* LED BLEU et 1* LED ROUGE)

      Répondre
  139. Prof_Saesee

    Bonjour.

    Une mise à jour est elle envisagé pour les pin du RP B+ ? :)

    Merci !

    Répondre
    1. Idleman Auteur de l’article

      Il faudrait oui ^^, malheureusement beaucoup de mises à jour sont envisagées et mes ptites papates ne savent plus ou donner de la tête ^^.

      Répondre
  140. totos21

    Bonsoir à tous,
    Très bon tuto idleman. Je m’en suis servi comme base pour pouvoir contrôler mes volets roulants bubendorff mono id car j’ai bien des télécommandes sans fil mais impossible de gérer ce protocole (problème connu pour cette marque).

    J’ai donc voulu utiliser ton tuto et remplacer la diode par un des boutons de ma télécommande groupée en utilisant ton code père noël pour simuler la pression d’une seconde sur le bouton poussoir.

    ça fonctionne très bien avec une diode mais pas avec ma télécommande. lorsque je branche celle-ci, elle s’enclenche direct sans même que j’active le bouton poussoir. Je pense que c’est simplement à cause de la pile de la télécommande donc j’ai enlevée celle-ci mais là il ne se passe rien que j’appuie ou non sur le bouton de ma page web.

    Je pense donc qu’il n’y a pas assez de jus pour activer le bouton mais pourtant ma pile est en 3v et j’imagine que le raspberry envoi aussi du 3v non ?

    Aurais tu une idée ?

    Merci par avance :)

    Répondre
  141. schnoebelen

    J’ai déjà pu réaliser le projet numéro 06 c’est à dire utiliser le GPIO et interagir avec le monde réel, mais pour compléter ce projet j’aimerais savoir comment m’y prendre pour ajouter une ligne dans le tableau qui correspondrais a l’état d’un bouton (utilisation d’un simple bouton avec circuit pull-up). Sa serai pour simuler si la porte est ouverte ou la porte est fermée.
    Merci d’avance pour vos réponses.

    Répondre
  142. Prof_Saesee

    Bonjour bonjour !

    Je suit tes tutos avec assiduité, mais voilà, j’ai un soucis !

    J’ai bien installé Wirring Pi, aucun souci là dessus.
    Mais quand je tape les commande pour les pin, ça me met « command not found », aurait tu une idée ? Parce que j’ai tout updaté, essayé de réinstallé les trucs et tout mais ça me dit que tout est à jours, donc là je ne comprend pas :x .
    Et du coup bien sur, en passant par l’interface PhP ça ne fonctionne pas non plus.

    D’avance merci ! :D

    Nicolas.

    PS: Là j’ai branché la led direct sur les pin avec un petit câblage. J’ai une table de montage aussi mais je n’ai pas tout compris sur comment m’en servir. Il ne faudrait pas branché la Pin 2 dessus normalement pour alimenter le tout ?

    Répondre
  143. Adrien

    Hello, tout d’abord un grand merci à toi pour ce partage, je viens juste de faire l’acquisition de ce petit bijoux qu’est le raspberry, et me voila confronter à un petit soucis;
    Après avoir créer ma petite page avec phpmyadmin et après avoir exporté tout ceci, je place le fichier dans /var/www, mais pas moyen que quoi que ce soit s’affiche en essayant de m’y connecter depuis une page web.
    Si quelqu’un pouvait éclairer ma lanterne je lui en serais très reconnaissant.
    Encore merci pour ce super partage!
    Cordialement

    Répondre
  144. Romesss31

    Salut Idleman
    Merci beaucoup pour ce tutoriel.
    J’ai un petit soucis, j’utilise lighttpd, la page fonctionne correctement et l’affichage et bon.
    Par contre, lorsque je sélectionne un GPIO a allumé, si j’actualise ma page, aucune commande n’est mémorisée et tout est a nouveau éteind.
    Sais tu d’ou pourrait provenir ce soucis ?
    Merci a toi

    Répondre
  145. bob

    bonjour,
    j’aimerai commander un pwm pour commander un cerveau moteur pour cela j’ai crée des fichier en python pour 3 position centre gauche et droite, cela marche très bien quand je les exécute depuis lx terminal, je trouve ton interface web très bien fait, j aimerai pouvoir commander les 3 positions depuis l’interface web. J’ai essayer de le modifier ton code a ma sauce en faisant des appelle de script en python mais cela ne marche pas peut tu m’aider en m’expliquant ton code php
    voila se que j’ai fait pour faire mon appelle de script python :

    exec(‘sudo python camera_centre.py’) //pour la position centre par exemple

    et voici mon code python:

    import RPI.GPIIO as GPIO
    GPIO.setwarnings(False)
    GPIO.setmode(GPIO.BOARD)
    GPIO.setup(7,GPIO.OUT)

    p=GPIO.PWM(7.50)
    P.start(0)
    P.changeDutyCycle(6.5)

    Répondre
  146. LEORAT

    Bonsoir, cela ne fonction pas avec me raspeberry b+ Xo

    je pence que c’est je fichier java scrip qui pose probléme pourais ton en parler aider moi s’il vous plait

    Merci

    Répondre
  147. Troll78000

    Bonjour et bravo pour le tout travail effectué et les tutos de qualités. :D
    Je recherche une méthode pour cadencer mes LEDS sur le tempo d’une musique (genre de guirlande de noël piloté par la musique). T_T
    Mon idée de départ serait de récupérer soit le flux d’un Player soit le retour d’un micro sur GPIO ou en USB. Le tout en PHP ou en C. oO

    Merci de votre aide.

    Répondre
  148. Xavier

    Salut,

    J’ai suivi le tuto de A à Z et … Tout fonctionne. oO

    Je ne sais pas si c’est un hasard mais la disposition des pins du tuto correspondait avec le B+ que je possède.
    Je me suis repéré avec la commande gpio readall

    Merci pour ces tutos

    Répondre
  149. rodolphe

    salut,
    coïncidence, j’ai fait la manip de ce tuto le jour J ! (j’ai failli croire à un canular !) :siffle:
    çà marche nikel avec qq modif de numero de pin because j’ai un Pi B+
    merci pour toutes ces idées , il me reste encore pas mal de chose a capter sur le fonctionnement
    des envois de commande via http et je vais m’attaqué à Yuri/sarah d’ici peu

    si tu es en manque d’idée (j’en doute) , j’ai bricoler un wattmeter via ce site http://www.ramge.de/powermonitor/doku.php?id=pulse_meter
    qui malgré qu’il soit un peu light niveau explication pour mon niveau en soft, m’a bien aiguillé sur la manière de procéder
    bonne continuation, on c’est bien fendu la poire au taf en te lisant entre midi et 2
    un Electronichien :D

    Répondre
    1. Idleman Auteur de l’article

      Merci pour le tuyau, c’est intéressant :)

      Répondre
  150. Samuel

    Bonjour,
    J’ai un problème:
    Lorsque je télécharge le fichier mis en lien (Pihome.rar) je n’arrive pas à le décompresser et donc quand je vais sur la page, il y a toujours écrit It works ! J’y connais vraiment pas grand choses alors si quelqu’un peut m’aider, ce serait super et merci pour ce tuto :)

    Répondre
    1. Idleman Auteur de l’article

      Pour dezipper :
      sudo apt-get install unrar
      puis
      unrar x filename.rar

      It works veux dire que ton serveur marche, il ne reste plus qu’a mettre le code (et donc le dezipper dans le repertoire /var/www)

      Répondre
  151. Hugo LS

    Salut,

    Tout d’abord, merci beaucoup pour ce tuto :)

    J’essaie de faire fonctionner un relai grâce à la librairie WiringPi. La librairie fonctionne correctement car je peux faire des GPIO readall ou mode IN/OUT.

    Mon problème est que dès que je met le pin 11 en mode OUT, la led rouge de mon relai s’active. J’ai beau faire des gpio write 0 0 ou 0 1, l’etat de la led ne change que si je repasse le pin en mode IN.

    La led rouge de mon relai sert à m’indiquer l’état actif ou passif du relai. Il est bien alimenté en 5v, et la led verte d’alimentation reste toujours allumé. Au final, je pourrais gérer mon système en faisant des mode IN et OUT qui aurait le même effet que je veux produire en faisant write 0 0 ou 0 1, mais je trouve dommage de devoir ruser^^

    Pourrais-tu m’aider à comprendre ce qui ne va pas?

    PS: Je possède un RPI B+

    Hugo

    Répondre
  152. Yv_0n1c

    Bonjour,
    Je n’ai pas lu tous les commentaires, je ne sais donc pas si quelqu’un a donné cette solution mais pour le problème avec lighttpd, il suffit de créer un lien symbolique avec la commande ln -s :
    – sudo ln -s /usr/local/bin/gpio /usr/bin/gpio

    Répondre
  153. rodro

    mais NON DE ZEUS ça marche, la joie de voir la diode s’allumer ! (petite larme au passage)
    j’attends les relais 220v de nos amis de chine, on va se marrer :D
    Je suis passé par le petit bridge GPIO et une planche à pain des familles, ça marche.
    Tes tutos sont terribles !
    Merci à toi !

    Répondre
  154. Jerem

    Bonjour,

    Tout d’abord un grand merci à toi pour tout ces tutos.
    Maintenant mon problème : Tout est bien installé, j’arrive à changer la valeur de mes Pins (vérification au voltmètre et à l’aide d’une DEL). Mais j’aimerai faire comme toi, passer par une interface php. Donc j’ai essayé de télécharger celle que tu proposes mais lorsque j’essaie de la copier dans /var/www, raspbian m’indique que je n’en ai pas la permission. As tu une idée de ce que je peux faire ?

    Merci d’avance

    Répondre
  155. Karl

    salut salut !

    Voila, je commence, comme de nombreuses personnes sur mon raspberry pi. Je suis avec attention tes tutos cependant je suis bloqué a une étape Xo ,au moment de créer la librairie gpio…
    je tape bien la commande « gpio write 11 1 » mais quand je fais entrée, j’ai le message : bash: gpio: command not found…
    any ideas ??? merci d’avance!
    Bien cordialement, :D

    Répondre
  156. Karl GIRAULT

    bonjour bonjour ! :D
    Super auto merci beaucoup ! j’ai cependant un problème qui persiste, je ne sais pas si ça a déjà été mentionné plus haut mais je pose ma question quand meme,
    voila au moment de decompresser pihome.zip dans /var/www j’ai un message d’erreur qui dit: can’t perform extraction you don’t have the right permissions to extract the files to the directory /var/www
    c’est bête a la dernière étape… Xo
    Voila merci de me lire.
    en esperant que vous aillez une solution merci a vous
    Cordialement Karl GIRAULT

    Répondre
  157. Karl GIRAULT

    bonjour voila j’ai un soucis, quand je veux deziper pihome dans /var/www on me dit can’t perform extraction ! du coup je me retrouve bloqué…
    Merci de votre aide :D

    Répondre
  158. karl GIRAULT

    quelle est la commande exacte a faire une fois le dossier télécharger ? ca sera plu simple car je n’ai pas de sudo a rentrer puisque j’ai lancé l’interface graphique :p
    cordialement

    Répondre
  159. karl GIRAULT

    jai bien réussi a télécharger le fichier et le deziper mais seulement sur le bureau.
    Tu doit vraiment penser que je suis un nul lol mais bon voila j’ai merci vraiment comprendre ce que je fait et pas suivre bêtement un auto aussi intelligent soit il !
    merci a toi

    PS: comment accéder a la rubrique » téléchargements  » ? Xo

    Répondre
  160. karl GIRAULT

    voici ma démarche, je telecharge pihome grace a ton lien, le telechargement s’affiche en bas entant que pihome.zip je fait open ca m’ouvre une fenêtre et la je fait extract puis extract to: /var/www puis entree et la
    le message d’erreur apparait avec comme texte en gros « can’t perform extraction et en plus petit you don’t havethe right permission to extract the files to the directory /var/www

    voila je te dit tout ce que je sais
    merci beaucoup de ton aide :D

    Répondre
  161. Tintin

    Salut, j’ai un petit problème. Lors du tuto pour installer WiringPi je suis bloqué a l’étape de « ./build »… HELP ME PLEASE T_T

    Répondre
  162. soumaila

    bonjour
    je suis debutant dans ce domaine j’ai fait comme indiqué pour avoir l’interface graphique
    quand je tape l’adresse sur ne vavigateur il me donne :

    Objet PIN Etat
    Lampe (salon) 11 (0)
    Lampe (chambre) 12 (1)
    Lampe (cuisine) 7 (7)
    Joyeux noël !!

    j’ai pas le mème resultat
    merci d’avance

    Répondre
  163. soumaila

    bonjour tout d’abord merci pour ce tuto
    j’ai un souci j’ai suivi de A à Z le tuto ça allait de mieux en mieux jusqu’a la partie de l’interface
    j’ai decompresser dossier dans le /var/www et lorsque je mets l’adresse ip dans le navigateur il m’pas une table comme indique le tuto

    Répondre
  164. soumaila

    desoler de la 1ère publication ça été une erreur de navigation et puis jai mème pas fini écrire
    bon voila
    j’ai un souci j’ai suivi de A à Z le tuto ça allait de mieux en mieux jusqu’a la partie de l’interface
    j’ai decompresser dossier dans le /var/www et lorsque je mets l’adresse ip dans le navigateur il m’affiche pas une table comme l’indique le tuto il m’affiche que les ecriture de la table comme :
    Objet PIN Etat
    Lampe(salon) 11(0)
    Lampe(cuisine) 12(1)
    j’ai revu l’ensemble je sais pas ou se trouve le problème aider moi merci

    Répondre
    1. Malecon

      Bonjour,
      J’ai eu le même problème.
      C’est la feuille de style qui ne passe pas.
      C’est dû au fait que le dossier css est protégé. Il faut changer les droits et le mettre visible par tout le monde. Même punition pour les autre dossiers (img, js et logs).

      Répondre
  165. Stouf

    Bonjour, voilà j’ai suivi le tuto mais la puissance de ma led branchée n’est quasiment pas visible alors que si je mets le GROUND à la place du GPIO la je peux les voir correctement
    je ne comprends pas comment cela se fait T_T
    Stouf

    Répondre
  166. folla

    super tuto merciii bien;
    j’ai un problème avec le capteur PIR (capteur de mouvment) ; j’ai réussi d’afficher un message « mouvement détecté » lors de la détection du mouvement mais j’ai besoin de connaitre comment intégrer ce travail avec un buzzer qui sonne lors de la détection du mouvement avec un serveur web!

    Répondre
  167. Gégé

    Bonjour. Où as-tu trouvé tes connecteurs GPIO ? Car j’ai peur qu’en soudant directement, la soudure coule et que cela fasse des faux contacts. Merci pour tes tutos, très biens faits et interessants.

    Répondre
    1. kevin

      salut il faut utiliser des connecteur dupond femelle-malle ou malle-male
      si non tu peut récupérer d’autre comment par exemple les câbles dans les pc fond très bien
      :D @+

      Répondre
  168. Bastien

    Bonsoir,
    Je suis en train de suivre ce superbe tuto mais je ne comprend pas quoi faire avec le script que tu donne en telechargement. En effet, je l’ai mis dans le dossier /var/www apres avoir bien tout installer mais rien ne se passe. Quand je me connecte en tapant l’adresse de la raspberry, je tombe sur un message « 404 not found ». Que faire ?

    Répondre
  169. sam

    salut, c super le tuto , je le consulte chaque jours, parceque je travaille sur un projet de domotique,
    beh en faite, j’ai téléchargé le dossier ‘pihome’ et je l’ai décompressé dans var/www , beh en faite comment je peut l’excuter depuis python ? ( parceque quand je tape l’@ ip de sur un moteur de recherche il m’affiche toutjours les infos sur le phpinfo…) j’arrive pas à afficher l’interface des lampes que t’as montré sur ce tuto ?!
    ( désoléé pour cette stupide question mais je suis nulle en programmation python :’- T_T ( )

    Répondre
  170. maxime yernaux

    bonjour
    j’ai suivi le tuto mais pour la dernière partie, celle ci :
    http://idleman.fr/ressources/PHP/pihome.zip

    Téléchargez le et décompressez le dans le dossier /var/www de votre raspberry PI

    mon raspberry ne veux pas le décompresser dedans il me dit que je n’ai pas la permission.
    comment pourrai-je remédier a ce problème ?

    j’espere que tu pourras m’aider.
    merci d’avance pour ta réponse.

    Répondre
    1. maxime yernaux

      c’est possible de me répondre le plus vite j’aimerais faire aussi une domotique low-cost mais je suis bloquer avec ça :( si jamais j’utilise les denier model de raspberry avec les dernière version de logiciel et tout

      Répondre
  171. Werner

    Bonjour :)

    Je vais sûrement poser une question bête, mais pour ce tuto, il faut faire de la soudure ? x)

    Pour brancher quelque chose sur le GPIo, comment tu fais ?
    D’après cette image : http://blog.idleman.fr/wp-content/uploads/2012/08/2012-08-15-01.08.27.jpg
    Tu dis utiliser une vieille prise d’imprimante. Je vais essayer de chercher sur ebay ou amazon, mais il n’y a pas de préconisation là dessus ? Un fil c’est un fil ? (Je suis une merde en électronique, je suis juste développeur ^^)

    Merci :)

    Répondre
  172. julien

    bonjour, et félicitation pour ce blog génial, je suis débutant en linux et avec le raspberry par la même occasion , et la j’ai un soucis avec votre interface , quand je rentre l’adresse ip sur ma page web , celas me m affiche not found

    Répondre
    1. Idleman Auteur de l’article

      Vérifique que tes fichiers de scripts php se trouvent bien dans /var/www/html/ , que /var/www/html/index.html est bien supprimé et que l’ip de ton rpi est bonne.

      Répondre
  173. Charles

    Salut a tout le monde, j’arrive a la bourre mais bon ^^

    Il m’est impossible de lancer pihome..
    Ca marche pour phpmy admin avec : adresse/phpmyadmin
    Mais si je mets mon adresse/pihome ca amrche pas… (notfound)

    Un tuyaux ?

    Et au passage merci pout ton boulot c’est top ! (:

    Répondre
    1. Charles

      Ou ca me met une page blanche..

      Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Xo ^_^ :siffle: :p :-( :evil: oO :) T_T <3 :D more »