Raspberry PI ~ 10 : Commander le raspberry Pi par radio

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

Nous avions brièvement abordé l’émission/transmission radio via le raspberry pi lors de notre tutoriel n°8.

Je vous avais promis une application concrète et plus poussée, nous allons donc aujourd’hui donner des ordres au raspberry PI via une télécommande radio achetée dans le commerce.

Voici la petite vidéo traditionnelle avec l’objectif final à atteindre et la démonstration du processus Sourire

Commander le raspberry Pi par radio from idleman on Vimeo.

 

Je sais, la vidéo est encore à l’envers, j’arrive pas à m’y faire… à ce propos je cherche un bénévole un peu calé en vidéo montage pour améliorer la qualité de ces dernières, si une bonne âme se sent de remanier les vidéos qu’il me contacte Sourire.

Tenté par l’idée de reproduire ça chez vous ? Bien ! Mettons nous au travail !! Rire

<!> NB : Vous devez avoir suivis les tutoriaux 04, 06,07 et 08 minimum avant d’aller plus loin.

Le Matériel :

Si vous avez bien suivi le tuto 8, la pluparts de ces éléments sont déjà en votre possession :)

  1. Un raspberry PI en état de marche Sourire
  2. un kit émetteur/récepteur 433,92 Mhz j’ai acheté le mien à 15,95€ sur conrad mais je me suis fait avoir  je vous conseille ce modèle a 1.5€ sur ebay qui fonctionne pareille et qui à 200m de portée
    NB :Vous pouvez n’acheter que le récepteur pour ce tuto, mais nous auront besoin de l’émetteur dans le tutos suivant donc autant grouper.
  3. Un kit télécommande + 3 prises D – IO by chacon modèle 54795 vendu 29,95€, encore une fois, nous n’utiliseront dans le tuto que la télécommande, mais dans le prochaine nous nous occuperons des prises donc autant grouper.

<!> Prenez bien le même modèle que moi, car il semblerais que le protocole radio varie légèrement d’un modèle a un autre

  1. Vous voila équipé bande de veinards !!

Installation :

Branchez le récepteur au raspberry PI en suivant les instructions du tuto N°8, ceci permettra au raspberry de capter les ondes radios sur la fréquence 433 mhz

Si vous avez suivis le tuto N°7, vous pouvez également brancher votre carte relais sur l’une des bornes du raspberry PI afin d’allumer/éteindre une lampe/un réveil comme dans la vidéo, sinon, vous vous contenterez de la partie envois de mail et affichage des codes de la télécommande.

C’est tout pour les branchements Sourire, maintenant voyons le code !

Assurez vous que la librairie wiringPi (qui permet de gérer facilement l’état 0 ou 1 des ports GPIO du raspberry PI) est bien installé sur votre raspberry PI.

Téléchargez mon petit programme de réception en C + PHP nommé originalement radioReception ici.

Décompressez le tout dans le répertoire /var/www de votre raspberry PI

image

  • LICENCE et README :Les infos sur la licence et autres du code.
  • radioReception :l’exécutable C qui vas parser les infos sur port gpio de réception et les envoyer au fichier PHP
  • radioReception.css :la source du programme C, vous pouvez le supprimer si vous ne comptez pas modifier le code.
  • radioReception.php : Le fichier PHP qui vas être exécuté par le programme C, recevoir les infos du signal, et effectuer une action en conséquence.

 

Utilisation :

positionnez vous dans le répertoire du programme,

cd /var/www/radioReception

définissez que le programme peut être exécuté avec un chmod (je sais, on peux faire moins permissif)

sudo chmod 777 radioReception

puis lancez le programme C avec la commande suivante :

image

./radioReception /var/www/radioReception/radioReception.php  7

/var/www/radioReception/radioReception.php : Chemin vers le fichier PHP qui traitera les informations reçues (identifiant de la télécommande, numéro du bouton, état on/off etc..) 

7 : Numéro WiringPi du PIN Gpio auquel est branché le récepteur 433 mhz

Vous pouvez maintenant appuyer sur les boutons de la télécommandes et constater les actions effectuées par le PHP.

image

chaque action exécute le fichier PHP initialement entré en paramètre et lui fournis les informations suivantes :

  • $sender: l’identifiant de la télécommande
  • $group: Si c’est une commande de groupe (1) ou non (0), avec cette télécommande, cette valeur sera toujours à 0.
  • $state: si le bouton est on (1) ou off (0)
  • $interruptor : l’identifiant de la rangée de bouton de la télécommande

A vous de modifier le PHP et de développer les actions qui vous semblent intéressantes, je n’ai laissé que l’exemple d’ouverture/fermeture du port gpio 3 (15 em port physique) dans les sources.

Si vous avez des problèmes de portées, de gros parasites, ou de mauvaise communication, pensez a faire ces deux choses :

  • Prendre une alim externe pour les cartes radio  et les l’alimenter au maximum de ce qu’elles sont capables de faire (cf la clause “voltage max” de fiche technique, souvent c’est entre 5 et 12V)
  • Souder un fil conducteur de 17.3 cm a l’émetteur et au récepteur pour servir d’antennes.

Avec ces deux points, vous pouvez passer de quelques centimètres à plusieurs centaines de mètres de portée, la différence est vraiment flagrante.

C’est tout pour ce tuto !! Si vous ne voulez pas comprendre ce que vous faites, vous pouvez vous arrêter ici ^^, sinon je vous invite a entrer avec moi dans les subtilités du protocole radio utilisé en lisant les paragraphes ci dessous.

Dans le prochain tuto nous tenterons le processus inverse, à savoir émettre avec le raspberry PI pour allumer/éteindre les prises chacon (et on pourra jeter cette vilaine télécommande XD)

Comprendre plus en profondeur :

C’est une chose d’appliquer bêtement un tuto, c’en est une autre de comprendre entièrement ses tenants et ses aboutissants, pour les curieux qui voudraient comprendre plus en détail comment nous récupérons et nous traitons le signal radio, voila quelques explications…

Zallez voir, c’est pas ultra compliqué quand on a toutes les infos bout à bout (ce que j’ai passé 2 mois a réunir) mais il faut s’accrocher un minimum Sourire

Concrètement qu’envoie la télécommande chacon ?

Cette télécommande envoie un signal radio sur la fréquence 433.92 mhz, ce signal respecte (plus ou moins) le protocole radio domotique home easy (très mal documenté au passage).

Le protocole home easy transmet les informations sous la forme d’un signal de 32 bits, un bit étant un 1 ou un 0 (ça tombe bien, les ports GPIO peuvent lire les 1 et le 0 Rire)

il y a donc un signal de 32 : 0 ou 1 par exemple : 00011000101001010010100100010110

Vous noterez l’utilisation de zoulies ptites couleurs Sourire, ce n’est pas pour rien :

Les 26 premiers bits (en bleu) correspondent à l’identifiant de la télécommande
Le 27em bit (en violet) correspond au numéro de groupe (information que nous n’utiliseront pas)
Le 28em bit (en rouge), correspond à l’état (ON ou OFF) envoyé, 0=off, 1=on
Les bits 29 à 32 (en vert) correspondent au numéro du bouton de la télécommande appuyé

La télécommande vas donc envoyer le signal en fonction du bouton appuyé, de la télécommande et de l’état ON ou OFF de ce bouton.

  1. Okay mais on a un seul pin branché au récepteur non ? comment on vas capter tout ces 0 et ces 1 d’un coup ?

C’est une bonne question !! :D En fait toutes les infos vont être envoyé par le récepteur sur le même pin (dans notre exemple, le pin 7) mais avec des délais entre chaque 0 ou 1 afin de bien les distinguer les uns des autres !

Mais alors le signal vas être long à capter non ?

Pas du tout ! En effet les délais dont je vous parlais sont de l’ordre de la micro seconde ! Donc un signal dans son intégralité a peu de chance de dépasser la milli-seconde ce qui est totalement ridicule pour la perception humaine :).

Bon, et t’as mis 2 mois pour comprendre ça ?

En réalité, nous ne sommes pas au bout de nos peines, c’est un peu plus compliqué que ca Sourire, admettons que la télécommande nous envoie le code :

00011000101001010010100100010110

Nous recevrions en réalité quelque chose comme ça :

01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101

que nous traduirions en ça :

0101011010010101100110010110011001011001100101100101011001101001

et enfin en ça :

00011000101001010010100100010110

(on fait moins le malin la pas vrai ? Tire la langue)

Hum, j’y comprends plus rien la… tu nous a bien enflé avec ton histoire de 32 bits !

C’est juste Sourire, mais il fallait simplifier pour ne pas vous perdre dès le début ^^, en réalité le signal est bien de 32 bits, mais il est “traduit” deux fois avant émission et réception pour les raisons que nous allons voir ci dessous.

La première traduction, est liée a ce qu’on appelle le “codage de manchester” derrière ce nom étrange se cache un principe tout simple : on vas convertir les 0 en 01 et les 1 en 10.

Donc le code de la télécommande

00011000101001010010100100010110

vas se transformer (avant d’être émis) en ce signal de 64 (car 32*2) bits :

0101011010010101100110010110011001011001100101100101011001101001

Mais pourquoi se compliquent t’ils la vie avec leurs codage de machin chose?

Dans notre contexte, le code de manchester est utilisé pour diverses raisons mais essentiellement pour éviter les parasites, et croyez moi, des parasite radio, nous en sommes blindés ! Rire Bref je ne vais pas m’étaler sur le principe, les infos sont sur wikipedia mais en gros si une paire de bit est égale a 11 ou 00 le programme comprendras qu’il s’agit d’un parasite (car en prenant les bits par paire depuis el début du signal, on ne peux avoir que des 10 ou des 01 si le signal n’est pas un parasite).

Ok donc on à juste une petite conversion à faire, c’est pas méchant, mais c’est quoi la deuxième traduction alors ?

Et bien la seconde traduction, c’est tout simplement la transformation en “onde”, c’est ce dont nous parlions tout à l’heure avec les délais, par exemple pour que la télécommande émette “1” il lui faut envoyer une impulsion (impulsion qui n’est autre qu’un passage de 0 à 1 ) avec un certain délais entre le 0 et le 1 (pour signifie qu’on envoie un 1 et pas un zero.

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

image

C’est le délais en micro seconde ou le signal est bas qui définit si un 1 ou un 0 a été envoyé.

Attention nous disons ici qu’un 1 a été envoyé, mais comme nous respectons le codage de Manchester nous devons envoyer “10” :

image

Comme vous pouvez le voir sur le schéma pas du tout précis, le premier “front bas” (qui représente le 1) est plus court que le second (qui représente le 0), leurs somme fait “10” qui, en codage Manchester signifie “1”

Je suppose que vous êtes sur les rotules, mais soyez fiers de vous, il n’y a plus rien à comprendre par la suite (vous pouvez imaginer maintenant pourquoi j’ai mis un peu de temps à décrypter le protocole de cette fichue télécommande sans la moindre doc et sans connaitre les lois de la radio transmission).

Voila un petit graphique pour résumer le chemin d’un signal :

HomeEasyProtocol

Et voila un petit script tout droit sortis de mes petites papattes pour vous aider a visualiser un signal : http://domotique.idleman.fr/radiograph.htm

Notez une dernière chose importante !

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

Les verrous sont des bits émis par la télécommande avant et après le signal afin d’annoncer au récepteur que le signal commence et se termine (ce qui permet également de distinguer un signal d’un parasite).

Ces verrous sont au nombre de 3 : deux avant le signal, un a la fin. Les pulsations de ces verrous sont très long (pour les distinguer des pulsations de bits d’informations) de l’ordre d’une centaine de micro secondes.

Bon, j’ai bien tout compris, mais tu as oublié de nous donner quelque chose d’important : les délais de chaque pulsation (0, 1 et verrous) !!?

C’est bien !! Vous suivez !! Rire Et vous avez raison je ne vous les ai pas donnés pour la raison suivante : je ne les connais pas ! Ha ha ha ha !!

En fait c’est la que le manque de doc se fait ressentir sur le protocole home easy :

  1. Aucune doc n’est complète
  2. Les docs se contredisent entre elles pour les délais
  3. La marque Dio by chacon semble altérer légèrement les délais d’un modèle à un autre (pour brouiller les pistes?)

Bref on ne peux qu’estimer les valeurs de chaque délais, c’est la raison pour laquelle vous noterez que mon programme ne capte pas à tout les coups, les délais étant encore mal calibrés, libre a vous de tester les délais et de me faire vos retours si vous parvenez a être plus précis, voila mes délais actuels :

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

Vous noterez aussi que dans mon code, je n’ai pas tenu compte des verrous 2 et 3, qui ne sont pas indispensables dans ce cas précis (même si ce serait mieux de les demander), en revanche quand nous émettrons depuis le raspberry PI, il nous faudra être plus rigoureux.

Je suis a disposition pour d’éventuelles questions et incompréhensions du processus Sourire

 

 

Article rédigé par Idleman

227 réflexions au sujet de « Raspberry PI ~ 10 : Commander le raspberry Pi par radio »

  1. TeepH

    Bien présenté, avec juste ce qu’il faut de sérieux. Bravo !

    Répondre
    1. Youssef

      Bonjour Idleman, je tiens tout d’abord à te remercier de tout tes tutos super bien expliqués, sauf que pour celui-ci je rencontre un problème: lorsque je lance la commande “sudo ./radioReception /var/www/radioReception/radioReception.php 7” Rien ne se passe, mon Rasp tourne à fond, mais rien ne s’affiche à l’écran, j’ai vérifier tout mes branchements, j’ai aussi essayer de changer de GPIO, mais toujours la même chose ! Je pensais que le problème venait de Raspbian car il y avait trop de chose installé, j’ai donc retélécharger une version de Raspbian, je l’est réinstallé sur une nouvelle carte SD, j’ai installé que Lamp et WiringPi mais toujours la même chose.. La référence de ma télécommande est 54760, mais je ne pense pas que sa servirais à corriger mon problème étant donné que le programme ne se lance même, à l’aide svp !

      Répondre
  2. darkvodka

    Salut

    simpa ce tuto =)

    Juste pour info : http://forum.snootlab.com/viewtopic.php?f=46&t=767
    ça permet cette fois ci de contrôler du matériel SCS.
    Même principe que ton futur tuto mais avec un protocole différent. (qui n’a pas l’air spécialement plus simple ^^)

    Répondre
    1. Idleman Auteur de l’article

      Pas mal !! Les prises ont l’air de moins bonne qualités mais un peu moins cher donc c’est a voir :), cependant je vais continuer sur mon protocol maintenant que je suis vraiment proche du but ça serait con de partir sur autre chose, je verrais dans un second temps si le rapport simplicité/qualité/prix n’est pas meilleur avec les SCS, c’est une bonne piste en tout cas ^^

      Répondre
  3. Anael

    Non c’est pas moi !! T’a pas reçu mon commentaire ? :o

    Répondre
    1. Anael

      Ha foque, je viens de voir que les commentaires s’ajoutent sans modération de ta part … Mais, mais ça veux dire que mon super commentaire de la mort qui tue n’a pas été enregistré par ton blog, ha non là je suis pas content !!

      Répondre
      1. Idleman Auteur de l’article

        Nié ? Les commentaires doivent être modérés pour être publiés normalement (ou alors j’ai loupé quelque chose ^^) il y a du avoir un fail dans l’enregistrement :), d’un côté ça me fait chier (parce que je voulais pas ça) et d’un autre j’aurais au moins eu un commentaire spontané sur l’article si ça n’est pas toi XD.

        J’y pense tant que je te tiens, c’est toi qui avait parlé de contributions pour blazekiss ou c’est un autre ? J’ai promis un accès svn a quelqu’un et je n’arrive plus à retrouve le mail (et donc l’internaute) dans lequel j’ai dis ça.

        Répondre
      2. Anael

        Rah bah zut, j’avais fais un joli commentaire en plus. Bon bah, ça sera pour ton prochain article sur le Raspberry PI =P

        Oui c’était moi pour BlazeKiss, sauf que je ne suis pas un très fan de SVN =/. Ça te dirait pas de faire un GitHub pour le projet plutôt ? :D

        Répondre
        1. Idleman Auteur de l’article

          Je ne susi pas très à l’aise avec git, de plus tout mon environnement/vitrine projet est basé sur svn (génération du flux rss, génération des archives etc…) donc ça ne m’arrange pas des masses, j’aime la simplicité de svn et je ne vois aucune fonctionnalité qui m’est utile chez git que svn n’aurait pas :).

          (j’avais pas remarqué, mais ton avatar est vachement ressemblant de ton irl (il manque le chapeau classe) :D)

          Répondre
          1. Anael

            Ok bon on verra alors =P Tu pourrai pas faire un article sur “comment collaborer à un dépot SVN ?” ça m’aiderai bien pour le coup ! :D … C’est surtout que j’ai pas vraiment le temps en ce moment de chercher à apprendre 300 trucs avec mes projets …

            (Merci pour l’avatar, c’était le but :D)

          2. Idleman Auteur de l’article

            En fait pour utiliser un svn ya pas vraiment besoin de grandes connaissances ^^, si tu veux je te fais l’article ici même :

            Télécharger et installer un client svn (disons tortoise SVN, qui est juste parfait pour les assistés comme moi)
            Clic droit sur un dossier qui sera l’espace de travail –> svn checkout (qui signifie, se relier à un dépôt svn), tu entre l’adresse du dépôt (http://projet.idleman.fr/blazekiss.svn/) ton login, ton mdp, et ça y est tu est branché :)

            Dans le même menu contextuel tu as trois options intéressantes qui te serviront, le reste tu peux oublier :

            svn commit = envoyer des fichiers sur le svn
            svn update = récupérer la dernière révision svn
            svn show log = voir les modif qui ont été faites et les commentaires associés (un commentaire est posté lors du commit, c’est important de commenter car sur mon espace de travail c’est ça qui alimente le flux rss http://projet.idleman.fr/blazekiss.rss)

            Tu es toujours chaud ou tu préfère te retirer ? :), je comprendrais que ça te saoule le svn, moi même je ne me vois pas me lancer dans un projet avec git, j’ai pas assez de temps pour m’adapter ^^.

          3. Anael

            Ok, je veux bien tenter alors :)

            Tu a mon email pour les accès !

    1. Idleman Auteur de l’article

      Zut me voila démaqué :p, oai je suis grand fan de la blondinette sexy, c’était la belle époque ou les vampires n’était pas hémo et ne brillaient pas au soleil comme des boules disco.

      Répondre
      1. bajazet

        Génération trilogie du samedi :) J’ai dû voir toutes les saisons également.

        Répondre
        1. Idleman Auteur de l’article

          hahaha, oai j’était complètement fan !! Slider, highlander, buffy, même charmed me rendais complètement fou (beau casting il faut dire) ^^

          Répondre
          1. bajazet

            Ah oui Sliders, les mondes //, j’adorais, je me souviens de Rembrandt ^^
            Highlander, tu n’as pas acheté une épée en plastique pour jouer à High Glandeur ?
            Charmed j’ai arrêté une fois que les deux gamins étaient nés.
            Y’avait Le Caméléon aussi avec Parker :)

            http://www.cetait-mieux-avant.fr/

          2. Idleman Auteur de l’article

            J’ai jamais été trop caméléon :), j’aimais pas la gueule de l’acteur, en revanche parker avait un petit côté froid qui ne me laissait pas indifférent :p.

            Je me demande si ça existe encore la trilogie, 6 ans que je n’ai plus la TV et c’est le seul truc qui me manque ^^ . Bah j’imagine que ça a été remplacé par une merde de tv réalité type ko lanta… tout fout le camps :p

          3. bajazet

            Avant la trilogie c’était samedi fantastique, j’étais gamin mais je me souviens de “aux frontières du réel”, “xfiles”. Maintenant c’est NCIS, FBI & co.

          4. Idleman Auteur de l’article

            C’est vrai que ça à perdu de sa magie, au sens littéral comme au sens propre, il faut croire que ça ne fait plus rêver les gosses de devenir scientifique explorateur ou magicien :) (m’en fiche un jour je botterais le cul de gandalf)

  4. alain

    Bonsoir idleman !

    J essai de suivre tes tutos , jusqu’ici ca allait , mais la ca bloc … le tuto 10 : lorsque je lance le petit programme ‘”./radioReception /var/www/radioReception/radioReception.php 7″ ca bloc .. le raspberry ralentit a mort et le processeur tourne a fond . impossible d’utiliser :-( ai je pu oublier un truc ?

    merci d avance

    Répondre
    1. Idleman Auteur de l’article

      Ca peux venir de n’import ou, de ton montage, de ta carte RF, de ta télécommande….

      Le programme de réception tourne en temps réel il est donc normal que ton rpi soit “concentré” ^^ en revanche tu devrais voir des information s’afficher quelque part sur la console, il se passe rien du tout partie console ? Tu as quoi comme télécommande?

      vérifie que ton montage est bien branché sur le bon pin, attention le pin 7 correspond au numéro wiring PI du pin et non au numéro physique.

      Répondre
      1. alain

        Merci bcp de ta réponse et aussi félicitation pour ton travail.
        J ‘ai vérifier le pin , c’etait pas bon .A présent sur le pin 7 , changement: ca mouline moins ( cpu moins sollicité) mais toujours pas de réaction et d’affichage quand j appuis sur les boutons de la telecommande.j ai ce recepteur http://www.evola.fr/product_info.php/kit-transmission-433mhz-compatible-arduino-p-162 la telecommande est la meme en apparence une DI-O First by chacon ( mais ref differente 54798)
        Questions: Dois je obligatoirement brancher une carte relais pour que ca fonctionne ?
        Comment stopper le programme dans la console ? Si cela vient de la telecommande , comment fait on pour decripter le signal pour l adapter le programme ? je sais c bcp de question , je suis debutant en linux et encore plus en raspberry
        merci bcp

        Répondre
        1. Idleman Auteur de l’article

          Ton récepteur est en modulation ASK et non AM, ça joue peut être (mais c’est pas dit)

          Pour quitter le programme il faut taper ctrl+C

          Ta ref de télécommande est différente, ça peux jouer sur les délais entre chaque bits

          Je te conseille de modifier l’ecart entres les délais dans la page radioReception.cpp L105 (genre 2200 et 3000 au lieu de 2700 et 2800, de recompiler avec la commande :

          g++ radioReception.cpp -o radioReception -lwiringPi

          (nb : il faut avoir installé g++ et wiringPi sur ta machine pour que ça compile bien)

          et de réessayer et de voir si tu passe au moins le premier verrou.

          Répondre
          1. alain

            ca progresse … j arrive enfin à obtenir un affichage , j ai modifié et compilé , essayé plusieurs valeurs .. ca marche mais c lent et il faut rester appuyer lgt pour esperer une reaction .est un autre probleme de verrou ? mon recepteur ? ma telecommande ?
            d ailleurs au sujet de la telecommande si les verrous sont legerement different d’un modele a l’autre comment etre sur alors que cela fonctionnera avec les autres modules de DI-O (interrupteur volet roulant, douille d ampoule … ) une derniere question , dans le tuto 12 , la page HTML permettant de piloter les prises demande un mot de passe ??

          2. Idleman Auteur de l’article

            Tu ne peux pas en être certain, DIO est propriétaire et ne publie donc aucune information concernant son(ses) protocole(s). le mieux est encore de régler pour une référence et de n’acheter que cette référence de récepteurs OU de construire sois même ses propres récepteurs (ce que nous feront peut être par la suite dans ces tutos, ça coutera moins cher et ça nous permettra de créer notre propre protocole de manière à l’améliorer (notion de retour) et à en être totalement maître)

            Pour le tuto 12, le login/mot de passe est admin, admin, on peux les changer dans le fichier constant.php, visiblement j’ai oublié de le préciser dans le tuto effectivement ^^

            Le fait que tu doivent appuyer longtemps viens certainement des délais de verrous ou de réception des données, il faut bien les calibrer, ça peut être long et douloureux mais tu sait comment faire maintenant ^^, pense également a mettre une antenne d’environ 10 cm sur ton récepteur ça peux aider.

          3. Alex

            Bonjour
            J’utilise pour ma part des prises et une télécommande de marque “OTIO” (documentation : néant…) et un peu anciennes, histoire de corser les choses.
            La bonne nouvelle, c’est que c’est de la récupération donc ça me coûte rien. La deuxième bonne nouvelle, c’est que j’ai placé une LED à la sortie du récepteur (puis-je la laisser d’ailleurs ?) : ça clignote sévère lorsque j’utilise la télécommande. La mauvaise nouvelle, c’est que le protocole est inconnu.

            J’en viens au fait : Est il possible de créer un programme qui, au lieu de “décoder” le message envoyé par la télécommande, pourra tout simplement le “copier” pour le recracher sur l’émetteur… Je sais que c’est un peu crado comme technique, mais je me dis que ça pourrait être suffisamment universel pour ne plus avoir à scripter d’autres …

            Pour en revenir sur la LED, elle clignotait bien quand je reliai la sortie à la terre, puis elle a arrêté de le faire lorsque j’ai branché sur le GPIO. En utilisant la commande “gpio mode 1 in”, pas plus de clignotement. Par contre avec “gpio mode 1 out”, j’ai à nouveau un sapin de noël (wut?)… surprenant… une idée ?

            Merci d’avance

          4. Idleman Auteur de l’article

            Oui c’est tout à fait possible de créer ce genre de programmes, en revanche je déconseille le rpi (trop lent question réception) pour ce genre d’exercice, un arduino et une carte émission/réception RF ferais parfaitement l’affaire.

            En revanche pour tous ce qui est code tournant (signaux qui changent en fonction du temps par mesure de sécurité) le processus ne fonctionnerais pas, mais bon t’a quand même un paquets d’engins qui fonctionnent à code fixe.

            Concernant la led, tu peux la laisser si tu y joint la ptite résistance qui vas bien (sinon a force de se prendre du 5v pur dans la tronche elle vas finir par te lâcher).

            Pour ce qui est du branchement, je ne suis pas sûr de t’avoir compris, il faut brancher la led comme sur le schema, attention la led est polarisée donc le sens des pattes compte.

          5. Alex

            Merci de ta réponse.
            Tu me met qu’il faut que je branche la LED comme sur le shémas… mais lequel ? je n’ai pas vu de schémas avec une LED sur ce tuto ni le tuto 8…
            Pour le branchement, je m’explique mieux : J’ai soudé l’une des pattes (l’anode) à la borne logique du récepteur, puis la cathode à un fil avec un connecteur pour les ports GPIO.
            Lorsque ce fil est branché à la masse, j’ai effectivement la diode qui clignote, signe que ça fonctionne, celle-ci d’ailleurs s’affole dès que j’actionne la télécommande.
            En revanche, lorsque ce fil est branché à un port GPIO, cela ne clignote plus, sauf dans le cas précis ou ce port est en mode “sortie” (et non “entrée” comme ça le devrai) et ou le signal de sortie est “0”.
            Quand je lance radioReception, pas plus de clignotement. Je me demande donc si j’ai pas merdé quelque part ou si c’est juste que la LED n’est pas utilisable si on veux utiliser le port GPIO en même temps…
            Pour l’instant j’ai retiré la LED, dans le doute, mais j’aimerai bien l’y replacer pour avoir un visuel direct lorsqu’un signal est envoyé. Je ne compte utiliser le récepteur qu’occasionnellement, lorsque je devrai “apprendre” un nouveau code à mon raspberry.

          6. Idleman Auteur de l’article

            Tu dois brancher la borne négative de la led directement à la masse du rpi (borne 6), et la borne positive de la led à la borne logique du récepteur, elle même reliée a la borne gpio du rpi de ton choix, borne qui doit effectivement être en “in” (pour input).

            Pense aussi à place une résistance entre la borne logique du récepteur (qui envoie du 3v3 ou du 5v en fonction de ton récepteur et de comment tu l’alimente)

          7. Alex

            J’utilise le même kit émetteur/récepteur que le tien alimenté en 5V, je dois donc placer ma diode entre la borne logique et la masse (avec 1kOhm pour la protéger), mais normalement pas besoin d’une résistance au niveau du fil qui va de la borne logique vers le GPIO vu que j’utilise le même modèle que toi (ce n’est pas dans le schéma du tuto 8) ?

          8. Alex

            Je confirme, pas besoin d’une résistance au niveau du fil récepteur puisque d’après la doc de conrad, la sortie est en max 0,8V.
            Par contre je vais mettre une résistance et la LED entre la sortie et la masse pour avoir un petit aperçu de ce que perçoit l’emetteur.
            Merci pour ces réponses

            Ps : j’essaye ce soir un programme trouvé sur le net qui à l’air moins “strict” sur le protocole -> https://github.com/CurlyMoo/433.92-Raspberry-Pi

          9. Alex

            Finalement je suis passé par ma carte son pour décoder le signal de ma télécommande… un code tout simple, des trames de 25 bits envoyés au moins 4 fois. Pas de verrous, juste 25 bits(ex: 0100010101000100010101000). Le programme d’envoi ne devrai pas être trop difficile à coder.
            Par contre, j’ai remarqué quelque chose : Lorsque je me sert uniquement du Raspberry pi en tant que alimentation 5V, sans la carte SD (booouuuuuh !!!) j’ai un signal propre, la LED ne clignote que lorsque j’appuie sur la télécommande. En revanche, lorsque le Raspberry est “fonctionnel” (la carte SD est branché) alors là j’ai le droit au sapin de noël, je pensai au début être complétement envahi d’interférences, mais on dirai que la cause est le fonctionnement du Raspberry lui même…
            Je n’utilise pourtant que le 5V (p1-04) et la terre(p1-06 et p1-09), donc pas d’erreur de branchement possible. Mon fil raspirécepteur est relativement court (environ 10cm) et je n’ai pas encore essayé de “faradiser” mon Raspberry.
            Pour moi ce n’est pas bloquant puisque j’ai mes codes, mais quelqu’un a t-il été confronté au même problème ?

          10. Wifsimster

            Merci des infos ça vient de me débloquer également.

            J’ai une télécommande ref 54760, j’ai dû changer les valeurs de verou également pour avoir un affichage.

            Le temps d’appui sur le bouton on est très très long par contre aussi.

          11. Alexis

            Salut,

            J’ai une télécommande DIO de référence 54760, quel valeur de verrou avez-vous utilisé pour réussir a avoir un quelque chose sur en tapant la commande : ./radioReception /var/www/radioReception/radioReception.php 7

            Je pense que mon montage est bon mais il me reste ce problème de verrou.

            “Wifsimster” si tu es encore dans les parages dit moi quel valeur tu as utilisé ;)

            A vot’bon coeur ;)

          12. JP

            Bonjour, je rencontre le même problème qu’Alex sauf que pour ma part après avoir suivi tous les coms, ça ne marche toujours pas. Pas d’affichage, rien et le raspberry est super lent. Je tiens à dire que le recepteur reçoit bien le signal de ma télécommande parce que, je l’ai testé avec le gpio read et avec une led. Je peux tester l’écart du premier verrou jusqu’à combien au max ? T_T

        2. Firimeldaie

          Finalement ton système avec la référence XXX798 fonctionne ?
          Quels ont été les tolérances de lecture sur les verrous et les bits ?

          Merci par avance

          Répondre
  5. Helyott

    C’est simple j’ai l’impression de devenir intelligent avec les explications que je trouve sur ce blog.
    Merci pour toutes ces informations qui semblent limpides et simples, presque un truc à me donner envie de me lancer dans l’aventure……..

    Bon ceci dit une fois lancé j’aurai probablement de ne rien y capter… Mais l’intérêt du truc c’est d’être simple…. ( Le support comme les outils ).. Et ça c’est super….

    J’adore ce blog.

    Répondre
    1. Idleman Auteur de l’article

      Je me disais la même chose en commençant, mais il s’avère que les cartes types raspberry PI, arduino etc.. sont de véritables petits bijoux pour aider les passionnés non initiés a commencer l’électronique, à ma grande surprise, je n’ai pas encore été bloqué par quoique que ce soit alors que je suis toujours in-fichus de faire une différence claire entre tension et intensité ^^

      Répondre
      1. Steph

        Si j’étais toi, pour comprendre la différence entre tension est intensité, je prendrai l’image du fleuve, et d’une cascade :-)

        La différence de tension correspond à la différence de hauteur entre le haut et le bas de la cascade.
        L’intensité correspond au débit du fleuve.

        Ainsi, si j’ai deux rivières en parallèles (ex, deux composants), la différence de hauteur est la même.
        Par contre, à l’endroit où elles se rejoignent, les deux débits s’ajoutent (ou se soustraient si c’est une rivière qui se sépare en deux).

        Maintenant imaginons deux cascades en série. Elles sont sur la même rivière, donc le débit est le même. Par contre, il y a deux fois un changement de hauteur.

        Transposé en électronique, cela nous mène aux lois suivantes (appelées Loi des noeuds et Loi des mailles ou Lois de Kirchhoff, pour ceux qui veulent lire plus de choses sur le sujet : http://fr.wikipedia.org/wiki/Lois_de_Kirchhoff) :
        sur deux branches en parallèle, les différences de potentiel (appelées tensions) sont les même, et les intensités se somment.
        sur deux composants en série, l’intensité est la même, et les tensions se somment.

        J’espère que ça aura éclairci ton esprit, autant que tes tutos auront éclairci le mien :)

        Bonne journée !

        Répondre
        1. Idleman Auteur de l’article

          Je connaissais la métaphore mais avec un robinet (toi tu vois les choses en grand ^^) cela dit c’est tout de même flou parfois mal-grès cette aide :p

          Répondre
  6. colin jeremy

    bonsoir je ne parvient pas a décrypté ma télécommande je me suis connecter en ssh
    j ai execute tout les commande jusque la dernière
    ./radioReception /var/www/radioReception/radioReception.php 7

    c et la ou sa bloque rien ne ce passe
    voici les erreur que j ai
    pi@raspberrypi /var/www/radioReception $ ./radioReception /var/www/radioReception/radioReception.php 7
    Failed to switch to realtime scheduler.: Operation not permitted
    wiringPiSetup: Unable to open /dev/mem: Permission denied
    pi@raspberrypi /var/www/radioReception $
    pi@raspberrypi /var/www/radioReception $ sudo chmod 777 /dev/mem
    pi@raspberrypi /var/www/radioReception $ ./radioReception /var/www/radioReception/radioReception.php 7
    Failed to switch to realtime scheduler.: Operation not permitted
    wiringPiSetup: Unable to open /dev/mem: Operation not permitted
    pi@raspberrypi /var/www/radioReception $ sudo chmod 777 /dev
    pi@raspberrypi /var/www/radioReception $ sudo mkdir “/dev/mem”
    mkdir: cannot create directory `/dev/mem’: File exists
    pi@raspberrypi /var/www/radioReception $ sudo chmod 777 /dev/mem
    pi@raspberrypi /var/www/radioReception $ ./radioReception /var/www/radioReception/radioReception.php 7
    Failed to switch to realtime scheduler.: Operation not permitted
    wiringPiSetup: Unable to open /dev/mem: Operation not permitted
    pi@raspberrypi /var/www/radioReception $

    Répondre
  7. Thomas

    Bonjour et merci pour ce tuto très intéressant :)

    J’ai acheté ce recepteur ci :
    http://shop.snootlab.com/composants/145-recepteur-rf-434-mhz.html

    Que j’ai monté comme sur ce tuto (pour le côté double des câblages)
    http://forum.snootlab.com/viewtopic.php?f=38&t=399
    en combinant à ton tuto

    mais lorsque je lance le programme, rien ne se passe .. j’ai modifier les valeurs L148 (t 3000) mais toujours rien après compilation.. de même, j’ai placé une diode entre la masse et la borne logique du récepteur comme sur ton tuto (http://blog.idleman.fr/?p=1711) mais rien ne s’allume jamais (la diode fonctionne, je l’ai testé en branchant direct à l’alim avec succès).
    Du coup je suis perdu là .. j’ai une télécommande DI-O ref 54760.

    A tu une idée ??

    Répondre
    1. Idleman Auteur de l’article

      Arf si tu fais des mix de tutos/matériel effectivement il y a de grandes chances que ça ne fonctionne pas… tu devrait te cantonner à un tuto ou à l’autre, je ne peux pas assurer la maintenance des tutos externes a mon blog j’ai déjà à peine le temps pour les miens ^^

      Répondre
    1. Idleman Auteur de l’article

      J’en ai justement commandé 2 de ceux la histoire d’être certain que ça allait avec mon tuto pour les conseiller, oui normalement avec ceux la + les branchements et code de mon tuto tu devrais t’en sortir sans problèmes :)

      Répondre
      1. Thomas

        Je revient vers toi concernant ce model, je viens de le recevoir et .. rien tjrs dans la panade :(
        J’ai mis plein de console dans le code, résultat :
        digitalRead(pin) est en permanence à 0

        As tu finalement testé ??

        Répondre
        1. Idleman Auteur de l’article

          Chez moi ça fonctionne niquel avec ceux la, je n’ai eu aucune modification à faire :)

          Est tu certain d’avoir le bon pin relié au pin data (et non a l’antenne ou à la masse par exemple) du recepteur?

          Répondre
          1. Thomas

            Argh je comprend pas pourquoi ça déconne, pourtant ma led témoin clignote à tout bout de champs :/

            Peut tu me dire si tu vois qqch d’anormal ?

            Vue d’ensemble :
            http://imageshack.us/f/820/img201302132157361.jpg/

            Récepteur :
            http://imageshack.us/f/694/img201302132159431.jpg/

            RPI :
            http://imageshack.us/f/202/img201302132159151.jpg/

            J’ai modifié les valeurs pour être plus “sûr” de capté qqch :
            //Verrou 1
            while((t 3000)){

            SSH :
            http://imageshack.us/f/856/rpi.png/

            Par contre comment tu à géré les deux datas de la puce ? Je les es relié entre elles ..

          2. Thomas

            Bon en fait j’était pas non plus sur le bon pin .. (problème avec le tuto 8 où j’ai pas capté ? enfin bref ..)

            maintenant j’ai ça :
            Verrou 1 detecte
            Aucune donnee…

          3. Idleman Auteur de l’article

            Ca signifie que les delais du programmes ne sont pas tout à fait adaptés a ceux de ta télécommande, ouvre le fichier .cpp, modifie les tolérances de délais après le verrou 1, recompile, relance, et re teste :)

          4. Romeo

            Bonjour Idleman,

            Que veux-tu dire par “les délais du programme ne sont pas adaptés” ? Quelles valeurs dois-je essayer de modifier ? La définition du bit ? ligne 159 ?

            En ce moment, j’ai :
            Verrou 1 detecte
            Aucune donnee…

            Merci beaucoup pour ton aide et félicitations pour ce super blog.

  8. Pierre

    Bravo et merci pour cette série de tutoriels! Vivement la suite :)

    Répondre
  9. cnobbb

    Bonsoir idleman,
    Merci beaucoup pour tes tutos, ils sont excellent et très instructif ;)
    J’ai bien les prises chacon (d’ailleurs le tuto 12 fonctionne nickel)
    Mais pour celui-ci, je n’ai pas les infos qui s’affichent, quand je clique sur la télécommande, il semble se passer quelque chose : le curseur clignote plus vite, mais rien ne s’affiche…
    Est ce que ça peut venir du fait que mon receiver est Working method: OOK/ASK ?
    Merci de ton aide

    Répondre
    1. Idleman Auteur de l’article

      Yop!! :)

      Parfois les verrou d’entrée du signal diffèrent un peu en fonction des modèles de télécommande, essaye d’aller dans le code, d’élargir l’écart entre les verrous et de recompiler puis de re tester pour voir :)

      Je ne pense pas que le problème vienne de ton récepteur (mais tout est possible)

      Pense à te mettre au plus près possible de ton récepteur quand tu envoie le signal
      Pense à bien exécuter l’exe en sudo
      Vérifie bien tes branchements

      Répondre
      1. cnobbb

        Salut,
        Merci, en effet, en bidouillant les valeurs je reçoit quelques signaux, reste à peaufiner.
        Merci encore pour le partage !

        Répondre
  10. GM

    Salut,

    Pour revenir aux problématiques de temps réel, je pense que tu peux déjà améliorer la détection au niveau du code lui-même.
    Le souci ici est que tu mixes les appels à pulseIn (qui doit être au plus proche du temps réel) et l’interprétation du signal qui se passe alors que tu ne cherches plus à lire ton GPIO.

    Une piste pour améliorer le truc serait :
    1) Tu prépares une shmem, puis tu forkes ;
    2) Le fils se concentre (en scheduling temps réel) sur le pulseIn, et stocke dans la shmem un buffer contenant la liste des durées en état LOW ;
    3) Le père consomme la shmem et effectue dessus les traitements lents, à son rythme.

    Pour améliorer encore, tu peux même te contenter de stocker dans la shmem le timeofday à chaque changement d’état détecté. Charge alors au lecteur de faire le boulot d’extraction de la durée. Moins tu auras de code dans pulseIn, moins tu perdras d’information.
    Après, si tu as besoin d’une granularité de 200 us pour le front bas, il te faudra probablement du RT quand même (vu qu’avec Xenomai on tourne à 40 us de latence max).

    Répondre
    1. GM

      Ceci dit, ton idée de mettre un Arduino au cul de ton rpi est probablement la meilleure. Vu que lui, au moins, ne fera que ça, tu peux te permettre de perdre quelques cycles processeur dans de l’interprétation.

      Répondre
      1. Idleman Auteur de l’article

        Oui je pense qu’il vaut mieux séparer le bas niveau du haut niveau plutôt que de tenter de faire du premier avec le second ^^, ça vas bouffer de la perf pour un résultat peu convaincant, quand à l’utilisation du patch xenomai, outre le fait que ça m’a l’air assez laborieux et incertain comme bidouille, je ne suis pas certain que ça soit pratique lors des MAJ de raspian & co.

        De plus j’ai fais de bon progrès en programmation d’Atmega (le prochain tuto “construire sa propre prise radio” vas d’ailleurs détailler la manip) je pense donc que ça ne devrait pas trop poser de problèmes, mais j’en suis encore à la phase réflexion, notamment sur la limite entre ce que la carte de transition devra faire et ce qu’elle devra déléguer au rasp.

        Répondre
  11. GreG

    Hello,

    Est ce possible de récupérer les valeurs de sonde de température aussi ?

    Merci

    Répondre
    1. Idleman Auteur de l’article

      Oui, c’est d’ailleurs l’objet de l’un de mes prochaines tutos : construire une sonde de temperature

      Le prototype est créé, mais je cherche à l’améliorer un peu avant de lancer le tuto

      Répondre
  12. zebulon55

    Salut ! Pour tes vidéos . Je n’ aurais jamais le temps de te les montées , mais en filmant un poil plus large en en les passants sur Youtube tu devrais déjà avoir quelque chose de plus propre .
    Je m’ explique sur Youtube il y a un ” scrip ” qui stabilise l’ image , c’est une option a cocher quand tu l’ UpLoad , Youtube va mettre un peu de temps à la traiter .
    Puis tu peu la DownLoad toute propre .
    P.S. :ça recoupe un peu les bords des fois

    Répondre
    1. Idleman Auteur de l’article

      Pas idiot :), mais bon faut créer un compte youtube et tout le tralala, migrer mes vimeo etc.. ^^ tant pis je me contenterais de mes vidéo à l’arrache, c’est le contenu qui compte hein ^^ le jour ou j’aurais un peu de temps, je les mettrais au propre :)

      Répondre
  13. Yaug

    Salut Idleman,

    Ayant enfin reçu du matos, j’ai passé quelques heures de test aujourd’hui, avec le récepteur / émetteur ebay fourni en lien.
    En faisant varier les valeurs du verrou 1, j’arrive au mieux à des taux de réussite de 3/10 voir 4/10.
    Je ne sais pas trop si c’est du à un environnement parasité (je vais mettre une diode pour voir), ou du au problème de temps réel. Mais ce n’est pas fameux comme résultat pour le moment.

    Petite question, qu’est ce que tu utilises comme antenne au juste ?

    PS : je viens de placer une diode, elle clignote quasiment en permanence. Je pense que mon problème vient de parasites du coup ….

    Répondre
    1. Idleman Auteur de l’article

      Deux astuces pour augmenter grandement le taux de réussite :

      1) met une antenne (fil conducteur peu importe lequel) de 17cm et des brouettes (je précise la valeur exacte dans l’un de mes tutos mais je ne sais plus lequel)
      2) Execute bien le programme C en sudo (pour activer le simulateur de temps réel)
      3) Point très important que j’ai découvert il y a peu : alimente avec une alim externe au rpi, et au max de ce que ton recepteur peux supporter.

      Ce dernier point est important, le rpi est une très mauvaises alimentation, il gère mal cet aspect des choses et sous alimente souvent les receteur émetteurs, leurs portée/efficacité en est d’autan réduite.

      Beaucoup de problèmes que je pensaient du au temps réel venaient de la.

      J’utilise ce genre de ptit truc bien pratique (http://www.ebay.fr/itm/MB102-Breadboard-3-3V-5V-Power-Supply-Module-For-MB102-Solderless-Bread-Board-/330875743297?pt=LH_DefaultDomain_0&hash=item4d09bb2c41#ht_2801wt_946) couplé à une alim 12 pour avoir du 5v parfait, et bien même avec du 5v (sachant qu’on peux mettre plus) ca fonctionne vraiment mieux, preuve que le rpi ne fournis pas cette tension la en continue.

      Répondre
      1. Yaug

        Haaa, ça, c’est cool.

        Question antenne j’avais mis un cable de connexion dans le trou de l’antenne (mais sans qu’il fasse 17,2 cm (ou 17,6 je ne sais plus).

        Va falloir que je me trouve une alim dans ce genre du coup.
        De toute manière, dans la doc du RasPi, il est clairement précisé qu’il faut de préférence utiliser des alimentations externes dès qu’on sort du simple test de composant. Apparemment, ça n’est pas conseillé pour rien :)
        Merci pour cette réponse rapide.
        J’ai switché sur le test de Hall pour le moment de toute manière :p

        Répondre
        1. Idleman Auteur de l’article

          Pas de souchis :), j’espère que ça fonctionnera mieux, les deux derniers lecteurs a qui j’ai conseillé ça on résolu leurs problème (sensiblement identique au tiens) donc je crois les doigts :).

          Répondre
  14. Rémi

    Merci pour ces supers tutos.
    Je débute et j’attends avec impatience mon Pi pour m’y mettre :p

    Répondre
  15. Matthieu

    Salut,
    beau boulot, je suis avec intérêt ton blog depuis pas mal de temps et j’ai enfin reçu les pièces nécessaires pour passer à l’action, mais je bloque sur un point j’ai un message d’erreur dont je n’arrive pas à me dépetrer :

    sudo ./radioReception /var/www/radioreception/radioReception.php 7

    Failed to switch to realtime scheduler.: Operation not permitted
    wiringPiSetup: Unable to open /dev/mem: Permission denied

    qu’en penses tu?
    merci

    Répondre
    1. Idleman Auteur de l’article

      Visiblement ça ressemble à une histoire de permission :)

      es tu sûr d’avoir faite le sudo? D’avoir tapé le bon mot de passe ? D’avoir le droit de faire du sudo depuis ton compte ?

      essaye de taper “su” pour changer et passer sur le compte root avant d’exécuter ta commande :)

      Répondre
      1. Matthieu

        Ouep, j’ai mis les droits comme il faut (il me semble), j’ai fait le sudo.
        je fait tout en ssh depuis le compte utilisateur “pi”
        en revanche, il n’y a pas de dossier “mem” dans le dossier “dev”
        j’ai l’impression que l’install de wiringpi est pas finalisée, mais je l’ai refaite au moins 5 fois…

        Répondre
        1. Idleman Auteur de l’article

          Effectivement il y à une couille dans le potage…, ce qui est étonnant c’est que les fonctions real_sheduler n’utilisent pas wiring pi donc ça ne viens pas uniquement de la librairie, c’est comme si ton compte n’était pas sudo du coup tu ne peux executer ni wiring pi, ni les real time schedulers…

          Répondre
          1. viskor

            j’avais le meme probleme j’ai du passer par un su et rester en root et sa passe nikel

  16. Matthieu

    bon, j’ai retenté en passant par le compte root et là, plus de message d’erreur… plus rien du tout d’ailleurs.
    je valide la ligne du programme et il passe à la ligne sans rien écrire. seul un ctrl+c le fait stopper.
    ça me dépasse! que se passe t’il??

    Répondre
    1. Idleman Auteur de l’article

      C’est une très bonne question ^^, j’ignore si c’est positif ou négatif, normalement tu devrais avoir un message genre “programme démarré”…

      Répondre
  17. Matthieu

    C’est ce que j’ai cru comprendre en épluchant le code c++
    mais là, aucune réaction du Pi…
    je vais continuer mes recherches…

    D’ailleurs au cas où, sais tu pourquoi mon relais fonctionne normalement sur arduino, mais une fois sur pi, il s’enclenche dès qu’il est relié au pin gpio… (j’utilise une alim externe en 5v)

    Répondre
    1. Idleman Auteur de l’article

      Soit ton port pi est déja à l’etat 1, soit il y a un soucis dans ton branchement, essaye de prendre une alim externe pour le + et – du circuit de commande du relais et de relier le pin data du relais au pin data du rpi, ainsi que la masse du relais à la masse du rpi.

      Répondre
      1. Matthieu

        non, port à 0 ou 1, même résultat.
        J’ai lu que l’arduino sortait du 5v à 40mA, peut être est-ce différent avec le Pi.
        Pour le branchement c’est exactement ce que j’ai fait…
        Je doispas être doué pour l’électronique !

        Répondre
        1. Idleman Auteur de l’article

          Il faut persévérer, en électronique rien ne marche jamais du premier coup, crois moi j’en sais quelque chose :)

          Répondre
  18. Nico3

    Hello,

    Après avoir lu et relu ce blog très bien fait, j’ai fait le pas. Et sachant que mon matériel Chacon n’est pas celui du tuto, j’ai quand même voulu tester le tout d’une manière simple!
    Deux fenêtre ssh ouvertes sur le RPi et d’une part la commande:

    root@raspberrypi:/var/www/radio# ./radioReception radioReception.php 2 (13ème pin)

    et dans l’autre fenêtre SSH:
    root@raspberrypi:/var/www/hcc# ./radioEmission 7 12325261 4 on (7ème pin)

    Je teste donc que ce qui est émis par l’un est reçu par l’autre. Que neni cela ne fonctionne pas.
    J’ai recompiler le C++ par sécurité.
    Ce qui m’inquiète, c’est que si le récepteur est activé, l’emmeteur est en mode “idle” ;-). Dès que l’on stoppe le récepteur la commande passe.

    Ai essayer mon modèle Chacon ref:54655 mais rien au niveau récepteur.
    Ai demander à un pro de vérifier ma connectique: tout ok au multimètre, antenne de taille,….

    Alors là je me demande bien ce qui cloche!!
    Et puis en suivant un tuto si bien fait quelle chance que j’ai de me tromper.

    Une idée serait bienvenue.

    Nicolas

    Répondre
    1. Idleman Auteur de l’article

      Brancher les deux en même temps est déconseillé pour deux raisons :

      1. Les programmes utilisent tout deux une fonction permettant de “prioriser” le programme sur tout les autres, ceci évite que raspian s’occupe d’une autre tache pendant la réception et qu’on loupe un bit transmis par exemple, or si les deux programmes sont priorisés l’un sur l’autre, je ne sais pas comment raspian gère ça.

      2. Le rapsberry PI possède une grosse faiblesse : sa mauvaise gestion de l’alimentation sur ses pin 3.3v et 5v, il est donc ultra déconseillé de l’utiliser pour un composant qui pompe un peu, mais imagine pour deux composants comme ça ^^.

      Ce que tu peux faire :

      – Alimenter les deux composants avec des alims externes, au max du voltage qu’ils acceptent (généralement 5v, mais parfois moins pour l’émetteur, a voir dans ta datasheet)

      – Modifier le programme radioEmission pour désactiver la fonction de priorisation de la tache (scheduler_real_time si mes souvenirs sont bons) et le recompiler

      Répondre
    2. Hauck Jeremy

      Salut,

      Je possède aussi des prise chacon ref 54655, en essayant de lire le signal émis de la télécommande je me retrouve devant quelques chose qui ne correspond pas au protocole Home Easy (des état haut et bas long alors qu’en home easy c’est l’état bas uniquement qui indique le bit).

      Je me demande donc si mon signal est parasité ou si ce modèle de prise utilise un autre protocole ?

      As tu réussi a utilisé tes prises ?

      Jeremy

      Répondre
  19. Romain H

    Salut Idleman,

    voila j’ai enfin reçu l’émetteur et le récepteur 433mhz, le problème c’est que j’ai des prises de marque SCS, j’ai trouvé le code binaire, mais je bloque.
    Tu crois que je peux bidouiller tes sources pour rendre cala compatible avec mes prises ?

    Deja j’arrive pas a faire capter au prog radioReception ma télécommande j’ai tenter de modifié le verou mais niette…

    Merci

    Répondre
    1. Idleman Auteur de l’article

      Tes prises utilisent un protocole qui est certainement différent de chacon, ce qui explique que radioReception ne puisse le détecter, ce n’est pas un code de réception universel, il est juste adapté au protocole home Easy (utilisé par chacon).

      Il ne suffit pas de connaitre le code binaire envoyé mais aussi le temps (en micro secondes) entre chaque envois de 0 ou de 1 (qui définira ledit code) les éventuels verrous de départ et de fin du signal etc… analyser un protocole radio sans avoir de doc ou de materiel approprié est très laborieux, j’ai mis un mois pour le protocole home easy.

      Donc pour répondre à ta question, oui tu peux bidouiller le code pour l’adapter assez simplement à ton protocole, le problème c’est qu’il te faut les infos sur ce protocole, et que les fabricants ne les donnent quasi jamais (ce n’est pas dans leurs intérêt de permettre qu’on puisse mettre nos papattes dans le circuit de commande :p)

      Répondre
  20. Alain Ternaute

    Le Web est petit dis-donc !
    Tu sais, cette image d’entête de ton article, bah c’est moi qui l’ai faite et mise en ligne sur Hebus (sous un affreux pseudo, on est tous d’accord).
    PS: c’est pas des conneries, j’ai encore le fichier avec tous les calques.

    Répondre
    1. Idleman Auteur de l’article

      Tu parle du carré de présentation ? C’est une image magnifique qui a longtemps fait office de fond d’écran sur mon portable :), toutes mes félicitations !!

      Répondre
  21. Stéphane

    J’ai pas encore de prises Chacon pour tester, et tous mes appareils 433MHz ont des codes tournants… chouette chouette…

    en attendant j’ai trouvé un autre code source (plus complet si je puis me permettre) qui indique des valeurs plus précises pour les verrous :

    latchStage == 2 && pulseWidth > 2550 && pulseWidth < 2750) pour le temps de relachement du verrou dans le cas du protocole Home Easy Avancé (il y a aussi un simple apparemment)

    Le C je découvre ( et je patauge) donc je laisse lire les pros :
    https://code.google.com/p/homeeasyhacking/source/browse/trunk/Arduino/HomeEasy.cpp

    Répondre
  22. firimeldaie

    Resalut, alors je sais pas pourquoi mes commentaires n’arrivent pas à bon porc ;)
    Donc quand je lance le code en C à partir du rasbperry et sans rien de connecter sur les ports GPIO, mon rasb mouline du taquet sans rien afficher, doc. est ce normal

    Répondre
    1. Idleman Auteur de l’article

      A bon porc ? Ya pas de porc ici monsieur, on fait de l’informatique pas de la boucherie XD !!

      Je n’ai pas retrouvé tes anciens commentaires, ils otn peut être été classé comme spam faudra que je mate ça.

      As tu bien lancé le programme en sudo ?

      Répondre
      1. Firimeldaie

        Haaaaa merci merci pour la réponse j’ai bien lancé le programme en sudo ./radioReception ./var/www/radioReception/radioReception.php 7
        et dès là ça patinne à mort.

        Par contre j’ai débranché même le récepteur et aussi là ça mouline dans le bac à sable.
        Pourtant j’ai bien suivi les tutos du 1 au 10 bien sagement et tout fonctionnait à présent.

        Répondre
        1. Idleman Auteur de l’article

          Arf, essaye de commenter la fonction scheduler_realtime(); L104 de radioReception.cpp et de recompiler.

          Visiblement le programme ne se lance même pas chez toi car tu devrais au moins avoir :

          “Pin GPIO configure en entree”
          “Attente d’un signal du transmetteur …”

          Répondre
          1. firimeldaie

            J’ai fait ca et toujorus pareil ca prend toutes les ressources de la carte :(

          2. Idleman Auteur de l’article

            Alors la je suis désolé mais je ne vois pas d’ou peut venir le problème :)

          3. firimeldaie

            Alors j’ai essayé un autre truc de mettre en comment les lignes 125 à 255 pour au moins avoir Pin GPIO configure en entrée) et bien là lorsque je lance la ligne
            g++ radioReception.cpp -o radioReception -lwiringPi

            et bien là le programme se lance mais n’affiche aucun texte.

            P.S oui je suis une bille sous linux aussi

        2. Firimeldaie

          Alors petites nouvelles concernant mon soucis est que je lance correctement le programme en C mais j’ai systématiquement en bouche Vérrou 1 détecté pui aucune donnée, même si j’appuie sur les bouton de la télécommande.

          Sinon concernant le ramage en règle du Pi en faite il s’agissait essentiellement de mon écran TV je suis passé par la suite sur un écran de PC et la fluidité est meilleure. ensuite j’ai décommenté
          cout << a << endl; puor avoir les commentaires.

          Par ailleurs je passe par putty depuis mon pc pour lancer des commandes via le SSH et ça fonctionne bcp mieux en terme de prise de ressources CPU je sais pas si c est une impression ou un fait.

          Répondre
  23. Romain

    Bonsoir Idleman,
    Deja bravo pour tes tutos,je ne suis qu’un débutant(programmation de leds…).Innitialement,je n’allais pas utiliser le pi pour de la domotique mais tes tutos sont vraiment bien très faits et pédagogique.Par contre je voulais te demander,dans la vidéo j’ai pu remarquer ton clavier rétro éclairé,je voulais savoir quel est sa marque et son modèle car je dois changer le mien.
    merci

    Répondre
  24. R.

    Bonjour,

    Super tutos.

    J’ai un émetteur récepteur mais il semble être ASK je ne sais pas si il est compatible avec le tutoriel.
    J’ai vu que quelqu’un avait fait des tests mais on sais pas si ils sont concluants ou non.

    Cordialement,

    Régis.

    Répondre
    1. Idleman Auteur de l’article

      Yop, de ce que j’en sais, ça ne gêne pas, mais je ne peux rien te garantir :)

      Répondre
      1. R.

        Je viens de tester avec ta petite commande et des chacon dio et ça marche nickel.

        Répondre
  25. R.

    Bon je vais tester :-)

    Merci!

    Répondre
  26. ALex

    salut
    bon voila je suis en terminal et j ai un projet qui est de créer de A à Z un alarme de maison sans fil j ai donc choisit d utilisé une Rasp je t ais envoyé un mail avec plus d infos. en gros j aimerais savoir les différents code des 4 boutons afin de les reproduire via mes capteurs pour ne pas avoir a modifié ton code (je n es pas le niveau) merci de me repondre

    Répondre
    1. Idleman Auteur de l’article

      Les codes des boutons sont spécifiés lorsque tu lance l’exécutable (au format décimal et non binaire, c’est peut être pour ça que tu ne les a pas vu)

      Répondre
  27. Damien

    Salut à tous,

    Enfin une réaction de ma télécommande avec le récepteur radio !

    Je m’explique :

    Au départ alim 5v venu du Rpi sans changer les valeur du verrou 1 > aucune réaction.

    Par le suite Alimentation 5v 1A : http://www.ebay.fr/itm/EU-USB-AC-Chargeur-Adaptateur-Secteur-Pour-iPhone-5-4S-4G-3GS-iPod-Touch-Nano-/400470779398?pt=FR_Mobiles_PDAs_Autres&hash=item5d3deb2606

    Avec le changement de 2200 à 3000 pour le verrou 1 + Antenne 17,3 cm (Yes! je m’en rappel^^) détection de la remote ! Ouf!

    Par contre je suis effectivement obliger d’être au maximum à 10cm du récepteur et de laisser appuyer le bouton on de la 1ere rangé minimum 1,5 2 secondes.

    La remote est bien une chacon et je possède le kit récepteur et émetteur (ebay) que tu cite dans ton tuto.

    Faut-il faire s’amuser encore avec les valeurs du verrou 1 ?

    Je signal que ma diode est pratiquement tout le temps allumé. Problème de parasites ? En sachant que dans ma boiboite se trouve des cartes relais avec du 220v ?

    Sinon comme plusieurs personnes une fois la commande lancé pour moi aucuns messages ne s’affiche, seulement le sender ect… du signal reçu.

    Merci encore pour ce blog qui m’a fait galérer mais me fait avancer au final.

    Damien

    Répondre
  28. MrCam

    Bonjour,

    J’ai ,moi aussi, eu pas mal de problème avec l’interface web pour que les programmes RadioEmission marche. Les droits étaient bon, lighttp de configurer tout bon. Je me suis apercu que l’utilisateur www-data utilisé pour l’interface php devait réaliser un sudo avant de pouvoir executer quoique ce soit pour eviter ceci voici la manipulation :

    1- sudo visudo
    2- Aller tout a la fin du fichier est ajouter une ligne pour l’utilisateur www-data comme ceci :
    www-data ALL=(ALL) NOPASSWD: ALL

    Maintenant j’ai bien une emission radio via YURI ou Interface PHP

    Répondre
    1. Idleman Auteur de l’article

      Pas sûr que ça soit très secure ça ^^

      Répondre
      1. MrCam

        Tout à fait, ça débloque après il est nécessaire d’affiner
        dans le fichier visudo à la place de ALL (www-data ALL=(ALL) NOPASSWD:ALL) il est possible d’y ajouter un chemin telque /var/www/hcc/radioEmission ; ca permettra de donner accès uniquement à l’utilisateurs www-data au fichier qui nous interesse et pas au reste.

        Répondre
        1. Idleman Auteur de l’article

          C’est quand même dommage de passer par la alors que ca fonctionne sans ça chez beaucoup de monde, il doit y avoir une petite couille de rien du tout à régler, toucher au visudo me semble être une alternative un peu bourrine bien qu’effectivement on puisse la sécuriser dans l’absolu en ajoutant le chemin d’exécution permis.

          Répondre
  29. fab

    Salut, Tutos émission et réception réalisés ! ça marche, j’ai donc essayé mon autre téléc CHACON , celle ci
    J’ai du modifier le verrou 1 comme tu le préconisais :)

    Cela a fonctionné aussi.

    Maintenant je vais décliné avec mon détecteur PIR (toujours un chacon et pourquoi pas les autres détecteurs de la gamme …

    Pour l’émission, j’ai testé avec les modules volets roulants, cela fonctionne aussi !!

    A l’occaz, tu pourrais mettre une explication de ton montage pour “écouter” et “décrypter” un code arrivant d’un émetteur d’un autre type (toujours en 433 MhZ)

    merci ,

    Répondre
    1. Idleman Auteur de l’article

      Yep faudra que je fasse ça ^^ j’ai 10000 idées de tutos en tête et pas une minute pour en terminer un seul ^^

      Répondre
  30. Rico

    Bonjour,

    Dans le but de découvrir le langage python, j’ai voulu reprendre le code radioReception.cpp . Et là je sèche sur les fonctions scheduler_realtime et scheduler_standard.
    J’y vois bien l’intérêt en gros, mais je n’arrive pas a comprendre se qui s’y passe concrètement. Si qq’un pouvait m’expliquer le pourquoi du comment, je suis preneur. Et si en plus on me donnait la traduction en python, alors là ce serait le grand luxe.

    Merci d’avance

    Répondre
  31. mAXIME

    Bonjour,

    Tout d’abord merci pour ces super Tuto pour nos Raspberry Pi.
    J’ai une petite question, pense tu que le protocole radio utilisé par la marque Astrell est le même que Chacon ?
    J’ai trouvé le kit télécommande 4 prises et une télécommande pour 15€ dans le commerce.

    Je ne trouve pas comment utiliser leur protocole sur internet. C’est bien du 433.92 Mhz.

    Répondre
    1. Idleman Auteur de l’article

      Ca c’est difficile à dire, tous les protocoles radio domotiques ont des similarité, mais rien n’indique qu’ils utilisent tous home easy pour autant :), il faut tester, et le cas échéant, analyser le nouveau protocole.

      Répondre
  32. N@K

    Hello,
    une subtilité sur le récepteur d’ebay ?
    Impossible de faire fonctionner le mien,qqch de particulier ?

    Répondre
    1. Idleman Auteur de l’article

      Normalement non, as tu placé une led quelque part pour voir si ça oscille ? Tu as fait quoi comme branchement?

      Répondre
      1. zycker

        Salut à toi Idleman et d’abord mes félicitations pour ton blog, c’est tes tuto qui m’ont donné envie de me lancer même si j’avais ça dans la tête depuis un bon moment, là ça m’a paru tout à fait réalisable.
        J’ai donc reçu mon Rpi, un kit RF (MX-03 et récepteur MX-05V http://www.ebay.fr/itm/433MHz-Wireless-Transmitter-and-Receiver-Modules-MX-FS-03V-MX-05-/140928401303).
        Comme tu le conseille, je l’alimente par une alimentation 5v 2A indépendante, je lui ai collé une led entre la sortie et la masse : elle s’allume bien et réagit bien quand je transmet du RF 433,92 à côté. Le hic c’est que je n’arrive pas du tout à en faire l’acquisition sur le Rpi. WiringPi et RadioReception installés et fonctionnels mais quand je fait ./radioReception /var/www/radioReception/radioReception.php 7 rien ne se passe. J’ai édité ton cpp pour activer la fonction log et voilà le résultat :
        – Demarrage du programme
        – Librairie WiringPi detectee
        – Pin GPIO configure en entree
        – Attente d’un signal du transmetteur …
        – Verrou 1 detecte
        – Aucune donnee

        Les deux dernières tournent en boucle. J’ai un doute sur la cohérence entre ton branchement du récepteur sur la pin 13 (tuto 08) et là tu donnes le n° wiringPi 7 alors ça devrait être 2 (https://projects.drogon.net/raspberry-pi/wiringpi/pins/) mais même branché sur le Pin 7, GPIO 7, wiringPi 7 ça ne change rien.
        Tu as une idée ? Sinon j’ai fait de l’acquisition de signal IR et ça fonctionne bien.

        Répondre
        1. Idleman Auteur de l’article

          As tu autre chose de branché en GPIO ou en usb a ton rpi ? ça peux influer, n’hesite pas a ance le programme en sudo aussi de maniere a simuler le temps réel et a approcher le plus possible ta télécommande du rpi.

          Si tu reçois bien “Verrou 1 détecte” quand tu appuis sur la télécommande c’est que le branchement est bon, il n’y a pas de rapport entre le tuto 8 et celui ci, ici nous utilisons le 7 (qui est également le 7 em physique).

          Je pense que ton soucis viens du rpi qui a du mal a capter et pas du branchement en lui même.

          Répondre
  33. Toitoine

    Salut Idle !

    Magnifique site, tuto parfait ! Je voulais te demander si tu avais tester d’autres produit de la gamme Chacon autre que les prises (douille, interrupteur) ? Sais tu si des modèles seraient compatible avec ton système ?

    Merci beaucoup pour ces tutos, c’est une mine d’or !

    Répondre
    1. Idleman Auteur de l’article

      Je n’ai pas testé d’autres prises en revanche je soupçonne tous les matériels chacon d’utiliser le même protocole puisqu’ils vendent aussi les télécommandes, les douilles ou les prises seules (on peut en déduire qu’une télécommande peux fonctionner avec n’importe quelle prise et réciproquement) j’ai qu’un modèle de prise mais deux télécommandes qui ont été achetées séparément et tout fonctionne bien ce qui me conforte dans mon idée :)

      Répondre
      1. Toitoine

        C’est bien ce que je pensais ! Bon, je vais me lancer et acheter d’autres article de la gamme chacon ! je te tiendrai au courant si ça fonctionne ou pas ! Merci pour la rapidité de tes réponses !

        Répondre
  34. Duch

    Merci Idleman.

    Pour ces supers tuto.

    Pour moi les 3 prises 1500w Di-o by chacon chez leroy merlin fonctionne tres bien.
    ref : 54798

    Répondre
  35. Thomas

    Salut, la lib wiringPi est passé en version 2; depuis ça ne fonctionne plus :(

    error while loading shared libraries: libwiringPi.so.1: cannot open shared object file: No such file or directory

    Une idée de comment je pourrait soit modifier le script pour qu’il tourne avec la nouvelle version ou forcer l’installation de la version précédente ??

    nb : dans /usr/local/lib j’ai ceci :
    libwiringPiDev.so libwiringPiDev.so.2.0 libwiringPi.so libwiringPi.so.2.0

    Merci IdleMan

    Répondre
  36. kamina

    Bonjour j’ai reçu tous mon matos après 2 semaine d’attente ….

    je cherche a copier la transmission d’une télécommande pour lumière et d’un velux .
    Mon problème comment je récupéré la transmission dans a “norme”

    Répondre
    1. Idleman Auteur de l’article

      Utilise le logiciel protocole analyser, arme toi de patience et suis leurs recommandations de montages :D, (ou alors acheté toi un oscilloscope numérique avec champs de fourier)

      Répondre
  37. JCOLIN

    Bonjour,

    Bravo pour ton blog qui est vraiment très intéressant pour un novice curieux comme moi !
    Je suis en train de construire ma maison et j’ai des volets roulants utilisant la technologie Somfy RTS. Quand j’aurai fini l’étape construction, j’aimerais automatisé le système avec une interface web commandé avec les ordinateurs et smartphone du réseau.

    Seulement le protocole RTS de Somfy (propriétaire) a l’air d’être compliqué à s’approprier. Aurais-tu une piste pour lire (ou enregistrer ou interpréter) le signal des télécommandes et le générer depuis un émetteur RF 433 Hz ?

    Merci d’avance

    Répondre
    1. Idleman Auteur de l’article

      Tu peux utiliser le logiciel protocol analyzer + un cable jack + un récepteur rf 433 mhz pour analyser un signal (le branchement est expliqué sur leurs wiki), évidemment il te faudra perdre quelques cheveux pour déduire quel etat correspond a quoi, j’ai mis plus d’un mois pour décrypter le home easy et encore j’avais des brides de doc sur le net :p

      Répondre
    2. Dom

      Bonjour,
      Je suis sur un projet identique… Il est presque impossible de piloter les volets somfy, le protocole utilisé est proche de celui des voitures… Le codage change à chaque utilisation… La solution la plus efficace est de sacrifier une télécommande et de souder des relais directement aux boutons de la commande…. Je l’ai fait et ça marche !
      Si tu veux plus d’infos, fait le moi savoir.

      Répondre
  38. Dom

    Super blog ! Très instructif pour un néophyte comme moi… Merci !
    J’ai un petit soucis avec le récepteur… Rien ne s’affiche quand je lance la commande de radioReception… Après plusieurs essais et vérifications… Je suis bloqué !
    Comment faire pour savoir si c’est un soucis logiciel ou un pb matériel ?
    Y a t-il un fichier log que l’on peut analyser ?
    Merci

    Répondre
    1. Idleman Auteur de l’article

      Tu n’a même pas un truc genre “verrou 1 blablabla” ? Ta télécommande est de quelle marque/fabricant/modèle ? quel est ton branchement ?

      Répondre
  39. Pera

    Je suis en train de griller pas mal de neurones cette nuit :)

    J’ai en fait le meme probleme que zycker, je detecte les verous en boucle, mais impossible d’avoir une trame complete… Mon emetteur avec radioReception fonctionne, j’active ma prise Di-o et ça marche avec les arg “0 0 on” et “0 0 0” exclusivement (je sais pas si c est normal arg “1 0 0” et “1 0 on” ça devrai pas marcher?)

    Quand je passe emetteur et recepteur sur arduino je communique bien avec le protocole home easy et active les prises.

    Je n’ai pas de télécommande pour tester, mais puisque l emetteur active les prises, normalement il marche et devrai etre detecte en reception… j’utilise 2 ports raspberry (emission et reception), mais j alimente exterieurement avec masse commune au raspberry. J’ai aussi desactive la fonction temps reel de l emetteur, rien a faire.

    Je me demandai pk tu as autant modifié les delay du protocole d origine? si je continu a bloquer je les remettrai peut etre a leurs etat d origine pour tester, car il marchai pour moi sur arduino.

    si tu as des conseils c est cool :)

    Répondre
    1. Idleman Auteur de l’article

      Salut :),

      Tu commande sur le tuto 10 mais j’ai l’impression que tu ne parles pas de celui la… peux tu préciser ce que tu essaye de faire ?

      Répondre
  40. Maxime

    Bonjour à toi,
    Tout d’abord, merci pour ton blog, il est juste génial et ça me permet de bricoler un peu à mes heures perdues.

    J’essaie d’utiliser ce tuto pour récupérer le signal radio d’un capteur sans fil 433MHz d’ouverture de porte. Avec ton code, impossible, même en changeant les délais.
    Mon seul but est de savoir quand ma porte s’ouvre. Le capteur fonctionne bien et en utilisant RFSniffer (tuto ici), je reçois bien le code de mon capteur, toutefois j’aimerais n’utiliser que ton code (avec le PHP derrière pour le traitement), le but final étant de faire une solution domotique + sécurité complète, en utilisant ce tuto pour contrôler mes prises chacal. Je voudrais donc recevoir mon capteur de porte et contrôler mes prises en même temps.

    Aurais-tu une expérience de ce genre de capteur, une idée pour laquelle ça fonctionne avec l’un et pas avec l’autre (surtout que leur code est tout bête).
    Merci d’avance et continue ainsi, c’est vraiment super ce que tu fais ;)

    PS : voici le capteur que j’ai achet.é

    Répondre
    1. Idleman Auteur de l’article

      Yop !!

      Mon code est fait pour le protocole utilisé par chacon (protocole home easy)) et ton capteur n’est certainement pas eu même protocole bien qu’il soit sur la même fréquence (433 mhz)

      Répondre
  41. jmb

    Bonjour,

    Les changements de DPIO entre le RPI rev1 et rev2 ont ils un impact sur ce post ?
    En gros, j’ai tout fait comme indiqué mais ça ne fonctionne pas (et je me demande si cela n’a pas tout simplement trait au modèle de RPI).

    merci

    Répondre
      1. jmb

        Bon en fait j’ai résolu le problème. Lorsque j’émets, le capteur ne recoit pas (i.e., le tout monté sur la même breadboard avec le meme rpi).
        Par contre quand j’émets (avec une télécommande) le récepteur (côté rpi) recoit bien et quand j’émets avec le RPI alors le récepteur (prise télécommandé) reçoit bien.
        Je ne parviens juste pas à faire tourner en même temps émetteur et récepteur (ce qui n’est pas grave).
        Autre point, je trouve que le récepteur consomme toutes les ressources du RPI (sans doute car le code doit boucler en écoute). Y aurait-il moyen d’optimiser cela ?

        Répondre
        1. Idleman Auteur de l’article

          Ton problème doit résider dans l’alimentation, le rpi est mauvais pour alimenter les périph externe, tu devrais utiliser une alim externe pour ton récepteur/émetteur.

          Pour le code tu peux enelver la clause qui fait du programme une tâche prioritaire mais ça risque de moins bien capter.

          Répondre
  42. Jo

    Hello,

    Ce lien semble mort : http://domotique.idleman.fr/data/chaconPI/radioReception.zip !

    J’aurais bien jeté un œil au code pour la réception radio avec le protocole home easy :)

    Je viens de recevoir mon kit Chacon DIO, tout fonctionne parfaitement, mais je trouve le protocole Home Easy assez aléatoire niveau fonctionnement :'( (si une coupure d’électricité arrive et que par malheur le signal “on” est envoyé dans les 5 sec après le redémarrage, ou même “off”, il peut y avoir une association/désassociation non voulue).

    Merci encore pour ces tutos forts sympathiques :) !

    Répondre
    1. Idleman Auteur de l’article

      C’était juste un crash momentané du serveur :p, le lien est de nouveau up :p

      Répondre
  43. Jo

    J’ai voulu tester votre code et cela n’a pas fonctionné : je me demande si le récepteur ne serait pas HS. J’ai fait une petite analyse du signal avec mon propre petit outil et j’ai ces résultats (timing en µs entre chaque changement d’état, à vide sans émission particulière, avec une antenne de 17,3cm) :

    364
    179
    91
    92
    86
    82
    80
    659
    117
    96
    702
    99
    84
    547
    154
    738
    730
    212
    201
    173
    100
    813
    147
    746
    187
    79
    88
    80
    87
    401
    202
    170
    90
    87
    370
    178
    125
    120
    81
    353
    165

    etc.

    Arrivez-vous à la même conclusion que moi ? Sachant que la télécommande Chacon DIO fonctionne très bien avec les prises dans l’environnement radio dans lequel je me trouve.

    Répondre
    1. Idleman Auteur de l’article

      Même pas de “verrou 1 activé” ou un truc du style avec mon programme ? Les valeurs affichées semblent due a des parasites, ça n’a pas l’air régulier

      Répondre
  44. Jo

    Alors le récepteur était non opérant apparemment ! Donc ton programme marchait bien je suppose. J’ai récupéré le récepteur d’un autre appareil et ça a bien marché :). Mais entre temps j’ai développé mon propre système de réception et d’émission : 100% de CPU c’est vraiment pas viable :(. J’ai utilisé le système d’interruption de wiring pi, c’est beaucoup plus sympathique pour le CPU :P. Je suis tout de même à 10% d’utilisation CPU en moyenne (j’ai même développé un récepteur avec détection de collision, donc réception + émission simultanée), 10% que je trouve encore beaucoup trop élevé ! Niveau consommation d’énergie c’est pas top.

    Le problème n’est plus logiciel : la quantité hallucinante de parasites (fonctionnement idle) implique un nombre d’interruptions très élevé, alors que ça ne devrait pas ; y aurait-il moyen de placer un filtre qui évite cela ? J’ai bien une antenne de 17,3cm enroulée selon les règles de l’art… Peut être que la qualité de l’émetteur peut changer quelque chose ? Peut être que c’est la raison du coup aussi faible de ces récepteurs chinois sur Ebay :). Autant en informatique et développement je suis calé, mais en élec…

    Répondre
    1. Idleman Auteur de l’article

      Je suis intéressé par ton nouveau code si tu partage :), réduire l’util du CPU était une prochaine étape, si tu peux me faire gagner du temps la dessus je suis pour :).

      Concernant la réduction des parasites, deux choses sont super importantes : l’antenne et l’alimentation.

      Concernant les antennes il en existe des hélicoïdales qui sont parait il très sympa, beaucoup d’antennes vendues pour al wifi sont aussi très performantes.

      Concernant la tension, utiliser la tension max que l’émetteur/récepteurs peuvent utiliser (spécifiée sur la datasheet) et éviter les alim chinoises ou la tensions est rarement stable.

      Concernant les filtres ça doit exister mais je n’en sais pas plus désolé :)

      Répondre
    2. Yves

      RFSniffer prends également 100% de CPU chez moi, comment as tu fais pour tomber à 10%.
      Peux tu partager ton code?

      Répondre
  45. Snake91

    Bonsoir,

    J’essai depuis le début de la soirée de faire fonctionner le transmetteur et émetteur radio que j’ai commandé pour mon RPi. Comme 3/4 des personnes ici, j’ai ceux acheté sur ebay.
    J’ai voulu faire le tuto pour me serveur de l’émetteur pour des prises Chacon et autres. Malheureusement je n’ai pu me couplé avec aucune des prises.

    Je suis donc revenu en arrière pour faire le tuto du récepteur. Mais je n’obtiens aucune réception de signal, avec aucune télécommande ni même mon émetteur Rpi…

    – Demarrage du programme
    – Librairie WiringPi detectee
    – Pin GPIO configure en entree
    – Attente d’un signal du transmetteur …
    – Verrou 1 detecte
    – Aucune donnee
    – Verrou 1 detecte
    – Aucune donnee
    etc etc…

    Photo des télécommandes:
    http://img842.imageshack.us/img842/9414/rc21.jpg

    Photos du montage:
    http://img853.imageshack.us/img853/8858/9inx.jpg

    + à gauche de la Breadboard alimenté avec une pile 12V
    – à droite de la Breadboard, Ground de la pile 12V.

    VCC du récepteur sur le + de la Breadboard
    GND du récepteur sur le – de la Breadboard
    DATA du récepteur sur le Pin 12 (1)
    root@raspberrypi:/var/www/radioReception# ./radioReception /var/www/radioReception/radioReception.php 1

    VCC de l’émetteur sur le + de la Breadboard
    GND de l’émetteur sur le – de la Breadboard
    DATA de l’émetteur sur le Pin 16 (4)
    root@raspberrypi:/var/www/hcc# ./radioEmission 4 12325261 1 on

    Je suis connecté en Root sur le Rpi
    J’ai changé le verrou 1 plusieurs fois, actuellement je suis à 1500 – 3000.
    Une antenne d’une quinzaine de centimètre est soudé sur chacune des pistes.

    Merci d’avance pour votre aide

    Répondre
    1. Idleman Auteur de l’article

      Premièrement mon code fonctionne uniquement avec le protocole home easy, utilisé entre autre par chacon, donc je serait toi je me cantonnerais
      dans un premier temps a faire fonctionner ça uniquement avec la télécommande de chacon (celle de gauche sur ta photo) car les autres télécommandes n’utilisent peut être pas le même protocole.

      Ensuite pour le tuto 10 je te conseille de ne brancher que le récepteur (car pas besoin de l’émetteur et ça pompe du jus au rpi).

      Enfin on vois mal sur ta photo mais j’ai l’impression qu’il y a un problème de branchements, tu dois brancher le gnd du rpi sur le gnd du récepteur ET le pin data du rpi (je crois que tu a pris le 7 sur ta photo) au pin data du récepteur.

      Je crois que ton problème c’est que tu as pensé que comme tu utilise une alim externe il n’y avait plus besoin de branche le gnd sur rpi au récepteur, or pour que le pin data communique entre le recepteur et le rpi, il faut “fermer” le circuit de commande entre ces deux via le gnd.

      Bref ton circuit est bon mais il manque le gnd qui vas du rpi vers le récepteur (et tu peux dégager l’émetteur qui n’a rien a faire sur le tuto 10^^)

      Je te conseille aussi de respecter un code couleur stricte afin de ne pas t’emmêler les pinceaux et que ce soit plus simple de s’y retrouver lorsqu’on découvre ton circuit : rouge pour le vcc, noir pour le gnd, jaune pour le pin data

      Répondre
  46. Snake91

    Je te remercie pour la remercie, c’étais bien ça le problème, le GND manquant :)

    Répondre
  47. Nicio

    Bonjour,

    Tout d’abord, merci pour tout tes tutos, je m’éclate comme un fou avec mon raspberry et les idées de domotiques en tout genre qui me passent par la tête.
    J’ai commencé avec du Chacon, suivant tes tutos qui sont clairs et permettent de bien comprendre tout ce qu’on peut trouver sur le net, félicitations d’ailleurs pour ta capacité à rendre tout ça accessible !

    Maintenant, voilà : l’ancien proprio de mon appart’ a laissé des détecteurs de mouvement, toujours opérationnels et qui émettent sur de 433.92 Mhz. Mais je lutte pour isoler leur signal, n’arrive donc pas à trouver de trame qui se répète etc.

    Aurais-tu une astuce pour ça ? J’ai beau chercher (mais peut-être que je doive creuser encore), je ne trouve pas de doc pour cette marque (Flash). Est-ce que tu aurais vu au fil de tes recherches des sites listant ce genre d’info ?

    Merci !

    Répondre
    1. Idleman Auteur de l’article

      C’est toujours chiant de décoder un protocole et ya jamais de doc (évidemment les constructeurs font plutôt tout pour les cacher).

      La meilleur solution (si tu n’a pas d’oscilloscope hyper perfectionné sous la main) consiste a analyser le protocole via un programme comme protocol analyzer et un vieux jack dénudé.

      Mais c’est fastidieux :)

      Répondre
      1. Nico

        Ok merci :)

        Déjà, je vais tenter de réduire les parasites (deux ou trois trucs à revoir sur le montage avec émetteur ET récepteur), et voir si j’arrive à retrouver des patterns (mais j’ai peu d’espoir, c’est plus par curiosité).

        Encore merci.

        Répondre
    2. mael

      Bonjour Nicio,

      Il semblerait que le protocole de la société Flash s’appele Fib. Il est également utilisé dans les cassettes de programmation des radiateurs Noirot.
      Si tu as pu trouver des infos concernant ce protocole. Cela m’intéresse.

      Répondre
  48. Morgan

    Bonsoir,
    Je viens vers vous pour savoir si quelqu’un à trouvé comment résoudre les problème de lenteur du réception du signal de télécommande, car je cherche, je test différentes valeurs mais toujours aussi lent pour ma part.
    Merci à vous est super tuto !

    Répondre
  49. Johann

    Bonjour Idleman;

    Merci beaucoup pour ta contribution et tes super tuto.
    J’ai reussi à faire fonctionner des récepteurs dio avec mon raspberrry.
    Par contre, j’aimerais porter le code source (le C) sur un arduino atmega.
    J’ai testé; ca compile, j’envoie sur le atmega mais ca ne fonctionne pas. J’envoi le meme code que par le PI mais rien…
    As tu déjà testé de porté ton code sur arduino ?

    Merci de ton aide

    Répondre
    1. Idleman Auteur de l’article

      Je dirais même plus, je me suis fortement inspiré des codes existants sur arduino pour créer mon code sur le rpi, tu peux retrouver les auteurs de ces codes dans les credit en commentaires dans mon code, ou sinon tape arduino playground home easy c’est le premier lien :)

      Répondre
  50. Morgan

    Bonjour à tous,

    J’ai remarqué quelque chose d’intéressant sur le programme de réception.
    En faite je cherché a réduire les problèmes de lenteur et je me suis aperçu qu’en enlevant les commentaires de la fonction log le programme était plus rapide par contre la réception m’affiche “aucune données”.
    Lorsque je désactive la fonction log, je reçois bien le code télécommande.
    Qelqu’un a t-il une idée ?

    Répondre
  51. julien

    Salut, après des heures je ne parviens pas a recevoir la moindre données. J’ai un truc bizarre : si j’alimente en 5v le récepteur et que je branche la data sur le pin 11 c’est le 12 qui en “high” (via la commande gpio readall) et si je debranche le transfo c’est bien le 11 qui est en High… J’y comprend rien

    Répondre
  52. Didou

    Bonjour Idleman, tout d’abord chapeau pour le site et les tutos je remets ça au gout du jour car je ne sais pas de quand date tous ces excellents tutos, cependant moi je viens de m’y mettre et ja’i tout mis en oeuvre avec succès. Ma question est : comment peut on faire fonctionner d’autre module en 433Mhz? je pôssède des prises télécommandées en 433Mhz également de marque Phenix et j’aimerais bien pouvoir interpréter le code avec ton programme radioReception mais comment faire peux tu me donner des tuyaux ? Prevois tu d’autres tutos ? ou par pour le moment
    Merci à toi

    Répondre
    1. Idleman Auteur de l’article

      serveur relancé, tu peux reesayer :)

      Répondre
  53. Arkaitz

    Bonjour, le lien vers le code source est cassé, où puis-je télécharger radioReception.zip?

    Répondre
  54. Arkaitz

    Hello, sorry to write in english.
    Can you re-upload the radioReception.zip file, please? The link is broken.

    I would like to check the source code, thank you very much for your blog post and your help.

    Répondre
  55. Arkaitz

    Thanks for uploading the file again!

    I would like to ask you if you have used Chacon/DI.O Wireless Movement sensors (http://www.chacon.be/index.php/domotique/installation-renovation/interrupteur-det-de-mouvement-sans-fil.html?___store=vitrine_fr&___from_store=vitrine_es). The radioReception program doesn’t read ON/OFF signals from this wireless sensor (The signal sent from this sensor might be different from regular ON/OFF signals).

    I’ve tried reading signals from the door sensors (http://www.chacon.be/index.php/domotique/confort/contacteur-de-porte-timer-dio.html?___store=vitrine_fr&___from_store=vitrine_es), and it works fine, just like with the radio relays, it sends an ON signal when the door opens and an OFF signal when the door is shut.

    This movement sensors have a learning state when the sensor sends some sort of signal to the receiver, (in this case, the on/off wall-socket switch) to link both devices, after that, the switch is controlled through the wireless sensor. The radioReception program doesn’t pick up (or at least doesn’t print out) this code transmisions (Code learning signaling and ON/OFF signaling).

    Could you help me with that?
    In the other hand I would love to translate the whole Y.A.N.A project to Spanish if you are ok with it.

    Répondre
  56. Ping : [i]ooner – Hack Chacon DIO – Introduction

  57. Nukem

    Salut Idleman !
    Tout d’abord un grand merci pour tout tes tutos !
    J’ai une petite question concernant le “codage” de la télécommande.
    Tu dis que l’identifiant est codé sur 26bits, mais si on compare a tes captures d’écran de ton identifiant de télécommande (8217034), ça donne 28bits (à moins que je ne sache plus compter).
    Ma question est donc, comment trouver le rapport entre les 2 ?
    Mon but est d’appliquer ce rapport à l’identité de la télécommande du tuto 12, lorsqu’on assigne l’identifiant “12325261” au Raspberry.
    Voilà, d’avance merci pour ton aide, si tu as besoin d’informations plus clairs, n’hésite pas !

    Répondre
    1. Idleman Auteur de l’article

      26bits = 2^26 soit 67 108 864 possibilités, donc tu peux mettre une valeur de 0 à 67 108 864

      Répondre
  58. Dijkstra173

    Bonjour,

    Merci pour toutes ces informations ! Je voulais savoir.. comment je peux faire pour tester le bon fonctionnement du récepteur ? Par moment je détecte le verrou 1 sans rien faire et parfois plus de data même en appuyant sur les touches de la télécommande. J’ai aussi connecté une LED sur le récepteur, elle est tout le temps fixe et par moment quand appuis sur la touche de la télécommande elle clignote mais ça reste aléatoire.

    PS : J’ai soudé un une antenne en spirale au récepteur .

    Merci d’avance

    Répondre
  59. Soca42

    Salut,
    Merci pour tes tutos, tous marche parfaitement. ;)
    J’avais dans l’idée d’ouvrir la prise Chacon, de récupérer le CI et de l’intégrer derrière les interrupteurs de mon appart. J’ai donc ouvert la prise chacon et essayé de repérer les différents composants … Et la surprise je ne vois pas de microcontroleur ou quoique se soit qui pourrait traiter le code que l’on envois.
    D’où ma question : Comment la prise fait-elle pour mémoriser son adresse et pour savoir que le signal s’adresse à elle ?

    Répondre
  60. Morgan

    Bonjour à tous,
    J’avoue que pour la partie réception j’ai lâché le raspberry qui (je trouve) rame pas mal, ce qui est normal vu que le programme tourne en temps réel. J’ai donc décidé de me lancer avec l’Arduino malgré mon manque de connaissances. J’aimerai savoir si quelqu’un a trouvé une solution pour faire fonctionner notre télécommande Chacon (DI-O) sur Arduino.
    Je pense qu’il serait intéressant d’exploiter l’Arduino pour ce programme. Si quelqu’un à une idée ?
    Merci.

    Répondre
  61. Alacran

    Bonjour,
    Ca y est, je me suis lancé !!! \o/
    Bon, je me suis assez vite retrouvé bloqué ^^
    voila, j’ai acheté 3 prises chacon avec une télécommande de référence 54760
    J’ai essayé de branché le récepteur (rectangulaire).
    Premier problème: j’ai deux pattes data. Je branche laquelle? J’ai essayé les deux alternativement, mais ça ne fonctionne pas.
    Quand je lance le programme “./radioReception /var/www/radioReception/radioReception.php 7” peut importe les boutons appuyés sur la télécommande, rien ne fonctionne.
    deux questions donc:
    1- comment je fais pour suivre ton tuto qui ne parle que d’une patte “data alors que j’ai deux pattes “data sur mon récepteur (le rectangulaire)?
    2- Wifsimster parle dans un commentaire de changer les valeurs de verrou pour la télécommande? Serait-il possible d’avoir les valeurs pour cette référence de télécommande?

    Merci à vous pour vos réponses, et bravo pour tout ce travail !

    Répondre
    1. Idleman Auteur de l’article

      Branche celle qui est au dessus du “d” de data, essaye de lancer ta commande en sudo,

      Répondre
    2. Spip

      J’ai aussi eu une télécommande 54760.
      Apres tâtonnement, je me suis fixé sur les valeurs 2550-2850, c’est peut être un peu large mais ca marche.

      Je profite de ce premier commentaire pour envoyer un grand merci à Idleman pour tous ses tutos ! ^^

      Répondre
  62. ghostegos

    Un grand merci pour tous tes tuto plus intéressants les uns que les autres. J’aurais aimé réaliser ce tuto mais je n’arrives pas à télécharger les codes des programmes… Pourrais-tu me les transmettre par mail ? D’avance merci

    Répondre
    1. Idleman Auteur de l’article

      réessaye ça devrait fonctionner maintenant, le serveur est sujet a quelques coupures occasionnelles

      Répondre
      1. ghostegos

        Ok c’est bon merci . Je vais profiter de ce long WE pour m’y mettre

        Répondre
  63. Norirom

    Bonjour,
    j’aimerai faire une détection d’ouverture de porte en utilisant le composant suivant qui fonctionne par onde :
    http://hackspark.fr/fr/433mhz-wireless-door-sensor-door-switch.html
    Le but est de fusionner ce tuto avec celui de la détection de porte. Le problème est que je n’y arrive pas. En effet, quand j’utilise ton programme de reconnaissance radio, cela fonctionne avec une télécommande, mais pas avec mon composant. J’ai mis une diode dans le circuit, comme tu l’as conseillé, et je vois bien la lumière clignoter quand j’actionne mon détecteur, mais le programme ne me renvoie rien. Pourquoi ? j’ai beau chercher sur le net, tout ce que je trouve c’est pour des arduino (qui ne fonctionnent pas avec Rasp, rien de ce que j’ai trouvé ne fonctionne). Du coup, j’ai essayé de comprendre ton programme, mais la partie la plus importante n’est pas très bien commentée, du coup je ne sais pas pourquoi le programme ne capte pas mon signal. As tu une idée . Comment pourrais je faire ? j’ai l’impression que ton programme ne fonctionne qu’avec les télécommandes c’est bien ça ? Comment le faire marcher avec autre chose, faire sauter cette sécurité ? je pensais faire ça un premier temps pour réussir à définir le clé de commande radio de mon émetteur pour ne détecter que lui après. Pourrais tu m’aider stp ?

    Merci d’avance.

    Répondre
  64. Baba

    Bonjour,

    D’abord merci pour les tutos c’est vraiment top. J’essai de faire fonctionner l’émetteur et le réception sur le même RPi (radioEmission, radioReception). J’ai fais quelques ajustements mais rien de méchant pourtant impossible de recevoir le signal émis. Est ce que le fait que la réception se fait en real time, pourrait perturber l’emission que j’effectue en parallèle ? Sinon pourrais-tu me donner des pistes à approfondir ?

    Merci beaucoup

    Répondre
    1. Idleman Auteur de l’article

      Oui, le rpi est mauvais quand il n’a qu’un seul flux radio à traiter, alors deux… ton problème vient surement de là effectivement :), je te conseille de passer par un arduino pour l’acquisition du signal et de transmettre l’info au rpi

      Répondre
  65. kstou2001

    salut,
    merci pour tes precieux tutos qui m’ont permis d’avancer avec mon detecteur d’ouverture de porte 54781.
    Par contre j’ai un peu plus de mal avec les télécommandes 54798.
    Je ne parviens pas à trouver les bonnes valeurs. Si quelqu’un les avait…
    Sinon peux tu m’expliquer à quoi correspondre ces 2 valeurs (2700 et 2800) histoire de comprendre comment les modifier.
    merci encore

    Répondre
  66. Delta

    Salut !
    Je ne vais pas faire dans l’original: le lien vers radioreception.zip est mort.
    Y’aurait moyen de remettre le fichier au bout STP ? :)

    Répondre
    1. Idleman Auteur de l’article

      Peux tu ressayer vois si ça refonctionne ? :)

      Répondre
  67. jacktheripper

    Slt!
    Super Tuto, le seul problème c’est que ton lien vers le zip radioRecepteur est mort, est ce que tu pourrait s’il te plait le remettre.
    Merci!

    Répondre
    1. Idleman Auteur de l’article

      Coucou :), normalement c’est bon maintenant, peux tu réessayer ?

      Répondre
  68. jc092

    Salut,
    J’ai un rasberry PI avec la carte PIFACE. Je n’arrive pas a adapter ton programme de réception avec la carte piface. Sais tu comment faire ?

    Répondre
    1. Idleman Auteur de l’article

      Désolé je n’utilise pas la piface, je trouve que c’est une arnaque, on peux fair ela même chose avec des shif registers pour bien moins cher :), cela dis dans leurs doc il doit y avoir le mapping des pin gpio / wiring pi / piface

      Répondre
      1. Benjy

        Idleman : oui c’est de l’arnaque, mais pour faire les premiers essais rapidement et sans se faire $*ù% c’est super pratique :)
        jc092 : Il te suffit d’incrémenter le numéro de pin de 200, la pin 7 est donc 207…

        Répondre
  69. jacktheripper

    Ouai c’est bon ça marche, Merci! :)

    Répondre
  70. rinty35

    Bonjour et merci pour ce tuto.

    Malheureusement je n’arrive pas à le réaliser.
    J’ai pour ma part un modele 54760, j’ai testé avec le timing de verrou original et j’ai ensuite modifié pour les valeurs 2200 et 3000.
    Cela ne change rien je reste sur attente d’un signal…
    Quelqu’un aurait il réussi à faire fonctionner ce modèle et pourrait il m’indiquer les timing qu’il a utilisé ?

    Une autre question j’ai positionné comme proposé une LED entre le DATA et la Masse.
    celle ci est allumée en permanence et tend à s’éteindre quand un signal 433mhz est capté. Est un fonctionnement normal ?

    Répondre
  71. Patoch

    Salut ,

    je viens de réaliser ce montage sur mon Raspberry Pi , j’ai pas mal de raté de détection .
    J’ai soudé une antenne sur mon récepteur idem, donc cela doit venir des verrous .
    j’ai envie de faire un essais sur mon Arduino avec la librairie Home easy , est ce qu’une âme charitable peut m’expliquer comment elle fonctionne ,par un petit exemple .
    merci par avance .
    Merci aussi à idleman de partager son travail qui permet d’occuper mes week end pluvieux de Normandie lol. :)

    Répondre
  72. elrohir

    Salut,

    J’ai un petit problème lors de la réception des informations avec ton code. Lorsque j’appuie sur un bouton de la télécommande, je reçois bien le premier verrou par contre, il me dit tout le temps que je n’ai aucune donnée. J’ai déjà modifié les intervalles de temps pour les bit “0” et “1” mais rien ne fait , je reste toujours bloqué sur le même message “Aucunes données”. Pourrais-tu m’aidé peut être a tu déjà rencontré ce problème. Merci beaucoup

    Répondre
  73. Benjy

    Idleman, avant tout car ça le mérite, merci pour ton blog et toutes ces infos que tu partages ;)
    As-tu eu une réponse du dit “Jo” qui disait avoir trouvé une solution avec les interruptions de wiringPi pour faire tomber la conso du proc à 10%
    Car avec ce que tu proposes, je suis tjs à plus de 90% d’utilisation du proc… c’est donc pas exploitables
    Pire, l’on ne peut pas émettre en mm temps une commande car les 2 prog en realtime ca passe pas (l’émission devient ralenti et le signal n’est donc plus valide)
    Si t’as des news de Jo surtout partage, je pense pas être le seul a être intéressé par cela ;)
    Si t’as une idée/piste de comment régler ce problème de conflit de “realtime” je suis prenneur aussi :)
    Merci encore pour ton taf et bonne continuation
    Ben

    Répondre
    1. Idleman Auteur de l’article

      Pas de réponse de Jo (enfin je crois, mais j’en suis au 124em commentaire en attente à valider du jour et j’ai un peu perdu le fil ^^) tu peux essayer en desactivant les fonction shedule dans le code (qui sont responsable du bouffage de proc) mais il te faudra compenser par de bonnes antennes et de bonnes alim externes ainsi que de bon capteurs pour arriver a quelque chose.

      Répondre
      1. Benjy

        124 en attente… Oula y’a du taf :-)
        J’ai bien tenté en désactivant le scheluder, mais du coup la gestion de temps d’intervalle pour analyser le signal devient galère car semi’ l’utilisation du proc on a des intervalle différent… Que du bonheur…
        Je pense que je vais changé d’optique et passer la réception sur un atmega indépendant, a priori il est possible de la programmer depuis le rasp… ;-)

        Répondre
  74. bx33

    bonjour idle, j ai suivi ton tuto mais quand je tape
    ./radioReception /var/www/radioReception/radioReception.php 7

    il ne se passe rien j ai beau appuyer sur la telecommande dio rien ne ce passe
    la led que j ai branché entre les bornes data et gnd du recepteur reste allumé constamment
    j ai acheter les meme prise et l emetteur /recepteur que toi
    je bloque dessus depuis un moment

    Répondre
  75. David

    Bonjour,
    Je possède un Raspberry pi+, un E/R RF433 (comme celui-ci: http://www.amazon.fr/433Mhz-metteur-cepteur-commande-Arduino/dp/B00G23NW6S/ref=sr_1_1?ie=UTF8&qid=1409084557&sr=8-1&keywords=emetteur+recepteur+RF+433) et un ensemble DI-O. La référence de la télécommande est 54760.
    Quand je lance la commande sudo ./radioReception /var/www/radioReception/radioReception.php 11 (GPIO17) ben pas grand chose. Cependant le raspberry tourne à bloque.
    J’ai beau refaire la manip, réinstallé wiringPi… Rien ne se passe.
    Je sais que tu n’assures pas le SAV mais j’ai besoin d’aide.
    Vois tu où est l’origine de cette anomalie? :)

    Répondre
    1. Idleman Auteur de l’article

      t’a aucun message quand tu envois un signal ? Tu as essayé de plus prés ? As tu essayé avec une alim externe ? As tu fixé des antennes ? :)

      Répondre
    2. mougel

      +1 J’ai exactement le même soucis, j’ai même essayer sans rien brancher au RPI exactement la même chose, je lance la commande rien de se passe mais j’utilise plus de 150% le processeur du RPI obliger de tuer la tache 433_utils…

      Si quelqu’un as une solution je suis preneur ^^

      Répondre
  76. Gin

    Salut tout le monde,

    j’essaie en vain de faire fonctionner ce petit programme. Au niveau du branchement, tout est correct. Lorsque j’envoie un télécommande la led clignote comme demandé dans ce tuto. mais par contre j’ai beau changer de pin logique le logiciel ne m’affiche rien malgré le spam d’onde radio.

    Répondre
  77. klic

    Salut

    J’ai découvert ce blog très intéressant et m’en sert comme inspiration pour un un petit projet domotique pas chère.
    J’ai acheter des petits modules émetteur/récepteur 433Mhz et tout fonctionne correctement.
    Par contre j’ai un petit soucis, autant en émission lorsque j’émets un code la porté est assez grande pour contrôler mes lampes ou prises dans tous mon appart.
    Mais en réception, je ne dépasse pas les 3-4m avec un fil d’antenne de 17 cm.
    Je viens donc me renseigner sur la portée obtenue par les lecteurs de ce blogs et éventuellement connaitre les solutions que certains ont utilisées pour résoudre ce problème.

    Répondre
    1. bing

      Quand je vois des télécommandes copieuses comme la “Why Evo 4.2” je me dis que c’est possible. Peut être en acheter une pour tester, à moins de 30€ je n’ai pas grand chose à perdre …

      Répondre
  78. ety

    Salut

    J’ai une question bête (je ne m’y connais pas du tout je suis juste bon à faire du copier coller et refaire quelques tuto T_T )

    Pour tansmettre un signal d’une télécommande que l’on possède déjà n’est il pas possible de faire une sorte d’enregistrement audio (à 433 Mhz) et de juste reproduire l’enregistrement pour actionner notre prise RF ou porte de garage …

    Ca semble tellement simple de faire comme ça que je pense que cela n’est pas possible :p si c’est le cas pourais tu m’expliquer rapidement pourquoi …

    Merci d’avance

    Répondre
  79. Toph92

    Bjr,

    SUPER TUTO MAIS il y a un piège redoutable qui guette pas mal de lecteurs (je me suis bien fait avoir).
    Pas de problème dans le sens Raspberry vers Chacon, cela marche mais en récepteur cela fonctionnait super mal. Quand j’ai mis une LED sur le récepteur j’ai compris mon problème: Si vous avez un dongle Wifi de branché à quelques centimètre du récepteur 433 ce dernier est bien brouillé (les LED étaient synchronisées). Il suffit de mettre un cable ethernet pour que tout fonctionne BEAUCOUP mieux (3 mètres => 10 mètres sans antennes).

    Encore merci pour ce tuto (et les autres articles)

    Répondre
  80. Gautier

    Hola Idle, je viens de tester ton truc d’émission/réception entre un Raspberry Pi et un Arduino
    Tout fonctionne niquel !
    Je n’ai cependant pas trouvé l’intérêt que tu as eu a utiliser EepromAnything pour y stocker le signal reçu (je trouve ça un peu chiant si tu as des champs parasites autour)
    J’ai donc enlevé toute la partie gestion Eeprom et j’ai tout simplement annoncé mes 2 variables d’entrée :

    unsigned long emetteur = 12345678;
    unsigned int identifiant = 8;

    Tout cela fonctionne a merveille tant que mon émetteur contient 8 chiffres et que mon récepteur ne dépasse pas 1
    J’ai essayé avec 28 comme identifiant récepteur et plus rien (signal non reconnu).
    Je suis donc condamné a n’avoir que maximum 10 récepteurs par télécommandes ?

    J’espère que tu verras mon message et que tu auras une solution car je ne vois pas trop comment faire niveau code
    Merci d’avance et encore bravo pour ton travail

    Répondre
  81. hsaturn

    Bonjour

    Il y a un problème dans ce tuto, c’est que l’état des bits est inversé…

    Il faut inversié bit=0 avec bit=1 pour recevoir le VRAI code de la télécommande (tel que celui renvoyé par un module RFXCOM par exemple).
    (Rfxcomm ajoute 0x22 au début et 0x00 à la fin).

    Merci pour ce tuto, je bloquait sur le codage manchester pour décoder les trames.
    Je me suis inspiré de ton tuto pour coder ça sur Arduino, succès au bout de 2 heures.

    J’ai codé ça en interruption, l’arduino peut faire ce qu’il veut dans loop().

    Le module Ebay doit être connecté sur la broche 2 de l’arduino (interruption 0).
    Il a un défaut, il oscille en permanence en l’absence de signal. C’est filtré dans l’interruption, mais
    ca génère un ‘load’ important de l’arduino (pas encore estimé).

    Le code rate peu de trames, mais parfois reçoit des trames incomplètes (pas compris pourquoi …)

    En revanche, impossible de dépasser une portée de plus de 1m (ca peut être du au récepteur OU aux valeurs du programme).

    Voici le code en version beta
    Streaming.h se télécharge sur le net (sinon, remplacer les Serial<< par du Serial.print(…)

    #include

    #define DATA_RF 2
    #define DATA_BIT (PIND & (1<<DATA_RF))
    #define LED_PIN 13

    uint32_t receive=0;
    uint32_t last_received=0;

    void rf433();

    void setup()
    {
    Serial.begin(57600);
    pinMode(DATA_RF, INPUT); // Data module 433
    pinMode(LED_PIN, OUTPUT);
    pinMode(A0, OUTPUT); // Synchro oscilloscope (bon ça ne sert plus maintenant)
    {
    PORTC = 255;
    delayMicroseconds(1);
    PORTC = 0;
    delayMicroseconds(1);
    }
    // while(1)
    {
    PORTC = 255;
    delayMicroseconds(10);
    PORTC = 0;
    delayMicroseconds(10);
    }
    attachInterrupt(0, rf433, CHANGE);

    delay(100);
    }

    void outMsg(uint32_t received)
    {
    for(uint8_t i=0; i<32; i++)
    {
    if (received & 0x80000000)
    Serial << '1';
    else
    Serial << '0';

    received <<= 1;
    }

    Serial << ' ';
    }

    void loop()
    {

    if (receive)
    {
    uint32_t received=receive;
    Serial << "RECEIVE " << received << ' ';
    if (received & 16)
    Serial << "ON ";
    else
    Serial << "OFF ";

    outMsg(received); // Afficher le code reçu en binaire
    outMsg(received^last_received); // Afficher le/les bits changés
    last_received=received;
    Serial <2680 && t<2750) // Msg start
    {
    bitnr=0;
    msg=0;
    //Serial << endl << t << " : ";
    count++;
    sum+=t;
    if (tmax) max=t;
    // Serial << "avg=" << sum/count << " count=" << count << " min-max=" << min << '-' << max << endl;
    }
    else if (bitnr220 && t1260 && t<1480)
    {
    bit = 1;
    }
    // else if (t ?) détecter la fin (oscillo))
    else
    {
    // fin ou parasite
    // Serial << "? " << t << endl;
    bitnr=254;
    }
    if (bitnr&1)
    {
    if (prevBit^bit)
    {
    msg <<=1;
    if (prevBit)
    msg |=1;
    }
    else
    {
    // parasite
    Serial << "P " << t << " bitnr " << bitnr << " sig=" << prevBit << '.' << bit << '=' << (prevBit^bit) << endl;
    bitnr=254;
    }
    }
    bitnr++;
    if (bitnr==64)
    {
    receive=msg;
    bitnr=255;
    }
    }
    prevBit = bit;
    }

    prev_start = mic;
    prevState = state;
    }

    Répondre
  82. hsaturn

    @clic

    Pour la portée

    Les modules trouvés sur Ebay sont généralement mal accordés. Il me semble qu’ils sont exactement sur 433Mhz, alors que les télécommandes DIO sont sur 433.92Mhz. En plus de cela, je soupçonne que les réglages soient effectués rapidement pour des questions évidentes de coût.

    J’ai doublé la portée de réception d’un tel module (8m au lieu de 4). En affinant le réglage.

    La procédure est simple : il y a une vis de réglage sur la self qui se trouve sur le récepteur. En tournant cette vis, on change la fréquence centrale de réception.

    Il faut donc

    Enlever le vernis (généralement rouge) présent sur la self pour pouvoir tourner la vis avec un minuscule tournevis (ou avec un cutter au pire).

    Ne pas utiliser d’antenne pour réduire la portée de réception à quelques cm.

    Puis, trouver le meilleur réglage en éloignant petit à petit la télécommande.

    Une fois le réglage trouvé, appeler madame, pour remettre une petite couche de vernis sur la vis afin de la fixer (important, la vis bougerait avec les éventuelles vibrations (claquement de porte par exemple).

    Sur le module que je vient de régler, j’ai fait un peu moins d’un quart de tour vers la droite (visser).

    ————————
    Avec le code arduino que j’ai fourni, une led s’allume brièvement dès qu’un code est reçu.
    Il est donc facile de vérifier la réception
    —————————
    Une autre procédure est de faire d’emblée un quart de tour vers la gauche, puis :

    1 – Trouver la portée limite en appuyant sur la télécommande
    2 – Tourner la vis très légèrement à droite
    3 – reprendre l’étape 1, et s’arrêter dès que la portée se réduit à nouveau

    Attention, éviter au maximum les objets métallique alentour (tournevis à éloigner systématiquement par exemple)
    Travailler sur une table en bois, sans armature métallique

    Ne pas modifier, ni l’orientation ni la position du récepteur (il ne DOIT PAS BOUGER, hormis la vis…)
    Ne pas modifier l’orientation de la télécommande.

    Voila comment j’obtiens 8m de portée.

    Maintenant, remettre l’antenne et vérifier que la portée est effectivement augmentée.
    On peut de nouveau jouer très légèrement sur la vis pour peaufiner le réglage.

    Enfin, à propos de l’antenne, sachez que les antennes Ebay en spires sont relativement bien adaptée, mais ne sont pas très efficaces.
    En déroulant la spire, au détriment de l’encombrement cependant, on amméliore nettement la portée.

    Répondre
  83. jackm

    Bonjour à tous et Meilleurs Voeux

    tout d’abord félicitations pour ce blog
    j’ai une petite expérience concernant HomeEasy (système avec lequel je commande mes volets et quelques lampes)
    Idleman ,j’ai lu que vous n’avez pas beaucoup d’infos sur son codage ,regardez sur ce lien il peut vous éclairer sur ce protocole (https://projects.vmi.ei.tum.de/ros/browser/vmi-ros-pkg/trunk/roseasy/homeeasy_dongle/src?rev=307) ,je ne sais ce que cela vaut ,mais je m’en suis inspiré
    en effet mes télécommandes HE841 envoient à chaque émission 3 codages différents (je peux vous envoyer un fichier avec les impulsions capturées et leur durée)
    une autre remarque , vous avez certainement de bonnes raisons d’utiliser wiringPi mais de mon coté je me suis servi de PIGPIO (http://abyz.co.uk/rpi/pigpio/index.html) qui sur mon système utilise beaucoup moins de % CPU (entre 10 et 15%)
    (je suis un piètre programmeur ,je m’y connais mieux en électronique qu’en informatique)
    je reste à votre disposition pour vous fournir de plus amples informations sur mes recherches concernant ce protocole

    Répondre
  84. mamat

    Bonjours à tous et vous souhaite une bonne et heureuse année
    Salut Idle
    tout d’abord je voudrais te félicité pour tes excellent tuto !!
    J’ai mon Rasp depuis un mois et suivi tes tuto, tous fonctionne nickel.

    Ma question sur radioReception est :
    -Avec la télécommande chacon, je reçois bien le signal
    -J’ai aussi un détecteur d’ouverture de porte chacon DIO réf.: 54781 dont je reçois le signal:

    emetteur : 14113774
    Group :off,
    on/off : on,
    bouton : 9sender 14113774
    no group
    off
    recipient 9
    Tu dis que l’on peut développer les actions en modifiant le PHP comme pour le port GPIO 3 donc j’ai fait:
    //Ouverture porte
    case ‘9’:
    system(‘gpio mode 0 out’);
    //Bouton On appuyé
    if($state==’on’){
    echo ‘Ouverture porte Mise à 1 du PIN 0 (17 Pin physique)’;
    system(‘gpio write 0 1’);
    //Bouton off appuyé
    }else{
    echo ‘Fermeture porte Mise à 0 du PIN 0 (17 Pin physique)’;
    system(‘gpio write 0 0’);
    }
    break;

    mais la console me répond :
    eception/radioReception.php 7
    sender 14113774
    no group
    on
    recipient 9
    PHP Parse error: syntax error, unexpected ‘case’ (T_CASE) in /var/www/radioReception/radioReception.php on line 59

    je ne comprend pas alors qu’avec la télécommande cela fonctionne

    Répondre
  85. vinzouille

    Hello,

    En suivant le tudo j’ai récupéré les sources de wiringpi et le Makefile https://git.drogon.net/?p=wiringPi;a=blob;f=wiringPi/Makefile;h=4e3342e03ca354c531fc3f687885a360ca7a9432;hb=HEAD
    Seulement en lançant le makefile j’ai un petit paquet d’erreurs :'(
    Ma question serait de savoir si le wiringpi est un prérequis indispensable pour les tutos de pilotage de prises radio et sonde température ?

    Je mets les erreurs ci dessous
    ./Makefile: ligne27: DYN_VERS_MAJ : commande introuvable
    ./Makefile: ligne27: DYN_VERS_MIN : commande introuvable
    ./Makefile: ligne32: VERSION : commande introuvable
    ./Makefile: ligne35: DEBUG : commande introuvable
    ./Makefile: ligne36: CC : commande introuvable
    ./Makefile: ligne37: INCLUDE : commande introuvable
    ./Makefile: ligne38: DEFS : commande introuvable
    ./Makefile: ligne39: DEBUG : commande introuvable
    ./Makefile: ligne39: DEFS : commande introuvable
    ./Makefile: ligne39: INCLUDE : commande introuvable
    ./Makefile: ligne39: CFLAGS : commande introuvable
    ./Makefile: ligne41: LIBS : commande introuvable
    ./Makefile: ligne46: SRC : commande introuvable
    ./Makefile: ligne60: SRC:.c=.o : commande introuvable
    ./Makefile: ligne60: OBJ : commande introuvable
    ./Makefile: ligne62: DYNAMIC : commande introuvable
    ./Makefile: ligne62: all: : commande introuvable
    ./Makefile: ligne64: STATIC : commande introuvable
    ./Makefile: ligne64: static: : commande introuvable
    ./Makefile: ligne66: STATIC : commande introuvable
    ./Makefile: ligne66: OBJ : commande introuvable
    ./Makefile: ligne67: @echo : commande introuvable
    ./Makefile: ligne68: STATIC : commande introuvable
    ./Makefile: ligne68: OBJ : commande introuvable
    ./Makefile: ligne68: @ar : commande introuvable
    ./Makefile: ligne69: STATIC : commande introuvable
    ./Makefile: ligne69: @ranlib : commande introuvable
    ./Makefile: ligne72: DYNAMIC : commande introuvable
    ./Makefile: ligne72: OBJ : commande introuvable
    ./Makefile: ligne73: @echo : commande introuvable
    ./Makefile: ligne74: CC : commande introuvable
    ./Makefile: ligne74: VERSION : commande introuvable
    ./Makefile: ligne74: OBJ : commande introuvable
    ./Makefile: ligne74: @ : commande introuvable
    ./Makefile: ligne76: .c.o: : commande introuvable
    ./Makefile: ligne77: Erreur de syntaxe près du symbole inattendu « newline »
    ./Makefile: ligne77: ` @echo [Compile] $<'

    Répondre
  86. twister

    Salut ! Tout d’abord je souhaite te dire que ton blog est géniale ! Merci pour tout ces tutos !! J’aurais aimé que tu me dises comment programmer une douille DI O chacon avec le raspberry pour ensuite pouvoir la gérer via une interface web. A l’heure actuelle je parviens à gérer 4 prises télécommandables de la marque Phenix qui utilisent une forme particulière de codage.

    Merci pour ta réponse

    Répondre
  87. Thierry

    Hello,

    Encore bravo pour ton site que j’avais découvert il y a longtemps et qui me pousse a me remettre a jouer avec le Pi.
    Pour info les délais de livraisons, a ce jour de l’emetteur/recepteur a 1,5$ sur eBay sont de 1,5 mois / 2 mois… Fais chier.

    Bon joujou avec le pi !

    Répondre
  88. Popcorn

    Bonjour à tous et Merci à Idleman pour ces tutos,

    Quand je lance la commande : sudo ./radioReception /var/www/radioReception/radioReception.php 7 . Rien ne se passe. Pas une ligne du style ” le programme démarre” ou un message d’erreur. Je doit quitter avec un ctrl + C.

    J’ai lu tous les commentaires et pas pour habitude de poster sur les forums mais la ça fait 3 jours et je crois que j’y voit plus très clair..

    Avant de vous expliquer ce que j’ai fait, peut être que je m’entête pour rien. En fait, j’ai pas les télécommandes ni les prises Chacon!! Je sais c’est très con pour tester mais je pensais que le programme devrait au moins se lancer, non??

    Mon récepteur fonctionne, je vois la led clignoter et réagir si j’active ma télécommande de mon portail ou de ma voiture, et j’ai essayer avec alim du Pi et une alim externe.

    J’ai même refait une carte SD avec noobs pour tout reinstaller, les autres tutos fonctionne.

    J’ai réédité et recompiler le fichier radioReception.cpp pour changer les valeurs des verrous et là je pense que je m’égare sérieusement car il faudrait que déjà que le programme cherche quelque chose.

    Une dernière chose, j’ai lu qu’apparemment le RPI mouline, comment voyer vous ça? J’imagine avec la led orange qui clignote, ben moi, je vois pas ça!
    Il réagit pas, la borne data est bien relié au GPIO 7 qui est le Pin physique 7 sur mon Raspberry B+.

    Alors?? Je suis en train de perdre mon temp et faut que j’aille acheter un ensemble chacon?

    Répondre
  89. gonzo47

    Bonjour
    Félicitation pour toute cette séries de tutos.
    J’ai enfin sorti mon rasp du placard pour me lancer dans la domo.
    J’ai mon petit émetteur recepteur et des prise maclean Energy.

    J’aimerai savoir si le code RadioReception permet de récup toutes les onde ou seulement celle des chacon ?

    Merci d’avance

    Répondre
  90. Ping : Commandez vos prises électriques à distance avec le Raspberry Pi – arno0x0x

    1. Idleman Auteur de l’article

      Je pense que c’étais une déco temporaire car le lien est toujours actif au moment ou je te réponds :)

      Répondre
  91. K20

    Pour ceux qui auraient une télécommande DIO de ref 54760 voici mon retour d’expérience après avoir galéré pendant quelques heures.
    Pour les valeurs du verrou 1 j’ai carrément mis : t 4000

    Mon but étant seulement de récupérer le code pour pouvoir utiliser ma télécommande et mon raspberry pi pour gérer mes prises.
    Même avec ces valeurs ça ne fonctionnait pas (je ne captait rien) alors que j’arrivais à capter le signal d’une autre télécommande en 433 Mhz (mais pas une DIO).

    J’ai quand même décidé de rapprocher la télécommande du Pi et là bam ça a fonctionné du premier coup :D
    Voilà si ça peut aider des gens.

    Merci Idleman pour ton super programme ;)

    Répondre
  92. samir

    Bonjour à tous,

    C’est très simple de connaitre les délais réel entre chaque bit, il suffit de connecté un Oscilloscope à la sortie du récepteur, ensuite vous analysé le signal et vous trouvez le délais entre chaque état haut ou bas. Rien de plus simple à condition d’avoir un Oscilo. Sinon bon travail si c’est toi qui à créer le programme ! A quand de la vrais électronique ? Parce que désolé mais assemblé des module tous fabriqué j’appel ca des légos. Je vois des centaine de tuto sur les mêmes choses avec les mêmes modules , vous ne pourrez jamais innové avec quelque chose de pré-fabriqué. A+++

    Répondre
    1. Idleman Auteur de l’article

      Aux vue du prix d’un oscillo, je préfère le système D :).
      Pour ce qui est de l’électronique tu as tout a fait raison, garde cependant à l’esprit que nos tutos ne portent pas sur l’apprentissage de l’électronique mais sur la mise en place d’une domotique simple et customisable à bas couts, nous ne tentons pas de réinventer la roue, simplement de faire communiquer notre rpi avec des modules bas couts pour mettre en place une domotique low cost et compréhensible pour tous, si tu t’intéresse a des cours d’éléc plus poussés je te conseille http://www.elektronique.fr/

      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 »