Raspberry Pi B+ : télécommande 433 MHz universelle

Le Raspberry Pi est une plateforme parfaite pour développer de la domotique. Aujourd’hui, voyons comment lui faire reconnaitre un code de télécommande 433 MHz, et comment reproduire ce code en émission.

Commençons par identifier les sorties GPIO de la bestiole :

raspberryBPLUS_header
La broche 1 est celle située la plus près de la LED rouge d’alimentation. Nous allons donc utiliser les broches 2 et 4 pour le +5V nécessaire aux modules 433 MHz, les broches Ground pour la masse (GND) des modules. Les broches 11 et 13 seront utilisées respectivement pour les datas en émission (11) et réception (13).

raspberry_domo_433
Raccordement des modules Tx / Rx 433 MHz

Sur l’image du montage, le module Tx se trouve en haut, le module Rx en bas à gauche, contre la télécommande Phenix.

Occupons-nous maintenant d’installer les gestionnaires, toujours en mode superutilisateur (sudo su depuis une connexion ssh).

Installation de WiringPi :

cd ~/
git clone git://git.drogon.net/wiringPi
cd wiringPi
./build

Installation de 433Utils :

cd ~/
git clone git://github.com/ninjablocks/433Utils.git
cd 433Utils/RPi_utils
make

Nous voici désormais munis de tous les outils pour recevoir et émettre des trames 433 MHz, mais attention, seulement sans Rolling Code, c’est à dire des télécommandes basiques, non cryptées.

Recevoir les codes :

Pour recevoir les codes, lancez la commande :

sudo ./RFSniffer

Une fois le code reçu, vous le verrez s’afficher à l’écran. Notez le pour une utilisation ultérieure.

Emettre un code :

L’émission d’un code est simple :

sudo ./codesend 12345

pour émettre le code 12345.

Ce petit montage, simplifié à l’extrême, va donc vous permettre de venir automatiser une télécommande existante, à condition que cette dernière ne soit pas sécurisée par rolling code. A vous donc l’activation à distance via une petite interface Web, la programmation d’allumage ou d’extinction en fonction des heures via un crontab, l’activation sur détection de mouvement, etc. Comme toujours avec la Framboise, tout est possible, tout est envisageable.

 

Aller plus loin : la réception 433 MHz en tâche de fond avec 433Utils et RFSniffer

 

Publications similaires

  • Quand Bouygues se moque de Freemobile

    On a beau être dirigeant de grande entreprise, on n’en conserve pas moins le mental d’un ado prépubère boutonneux. Le match a débuté ce matin par un Tweet de St Niel à l’encontre du Ministre du Redressement Productif, De Montebourg : Peu de temps après, c’est Olivier Roussat, PdG de Bouygues Telecom, qui ironise sur l’annonce de Freemobile : Je propose donc de nouveaux accessoires pour les boutiques de ces deux opérateurs : Oui, à force, Messieurs, votre communication prépubère…

  • Bouygues : drôle de Femtocell !

    Bouygues lancer ses Femtocell, ces petites cellules qui, branchées sur une connexion internet, vont générer un signal 3G à votre domicile, via un petit boîtier équipé d’une antenne 3G (14.4 Mbps max.) Les principaux modèles de box sont actuellement utilisables : Bbox, Freebox depuis la v4, Neufbox, Livebox 2, Livebox, etc. La liste complète est disponible ici. Pour plus de détails sur la Femto-cell, vous pouvez également consulter ce guide. Si vous disposez d’une Femtocell, vous pourrez ajouter jusqu’à trois numéros de…

  • Freemobile : premiers essais en 1G

    Si vous suivez les tweets relatifs à l’opérateur bricoleur, vous avez sans doute observé de nombreuses complaintes concernant la vitesse du réseau mis en place par Freemobile. Il semblerait que l’opérateur soit sur le point de déployer un réseau nouvelle génération, un réseau 1G, offrant des débits volontairement réduits, prenant une fois encore à contre-pied les autres opérateurs, plus enclins à se tourner vers la future 5G ultra-rapide. En fait, Freemobile semblerait envisager de basculer la collecte de ses différents…

  • RaspberryPi : suivre les transpondeurs !

    Nouvelle application du Raspberry Pi : suivre les transpondeurs des avions, ou plus exactement les trames ADS-B transmises par les aéronefs. Simplifions à l’extrême : chaque appareil est muni d’un transpondeur, chargé de diffuser des informations à ceux qui veulent bien écouter. On y retrouvera l’altitude, la vitesse, le cap, etc. L’avion va donc se faire « voir » des autres avions et du contrôle au sol, mais également de nous, puisque nous allons nous équiper pour recevoir les données, via notre…

  • La Poste en ruralité : indispensable, présente, amicale !

    On l’oublie trop souvent tellement c’est devenu une habitude, une routine : recevoir son courrier ! Et pourtant, La Poste est présente partout, pratiquement tous les jours de l’année, avec des visages différents, d’innombrables fonctionnaires destinés à assurer le service du courrier. Je ne vais pas ici refaire l’histoire du service public postal, mais plutôt évoquer La Poste et Infracom. Après tout, travailler en ligne, expédier et recevoir du matériel, cela passe très souvent par le service postal, même si…

  • Véhicule électrique : chauffer la batterie avant de charger !

    Vous venez de prendre possession d’un véhicule électrique, mais votre concessionnaire vous a-t-il donné toutes les informations, comme par exemple la nécessité de préchauffer votre batterie avant de lancer une charge rapide ? C’est ce qu’on appelle le pré-conditionnement : la montée en température permet aux différents éléments de votre batterie d’encaisser une puissance de charge importante. Chez Tesla, la batterie monte en général au delà de 40°C pour cela. Elle se conditionne seule en fonction des besoins de recharge…

37 commentaires

    1. oui, ça ne marchera pas. Solution : canibaliser une télécommande et venir remplacer l’appui sur les boutons par des relais, avec PiFace par ex. Ca marche, je l’ai fait ici avec succès.

  1. Le prix… bon c’est le premier module compatible Somfy RTS donc on ne peut pas leur jetter la pierre 🙂

    1. tu vas le prendre ? Ca m’intéresse un retour sur le Pi, solution à creuser pour ce type de télécom.

      1. Non c’est pas prévu 🙂 Je dois déjà jouer avec un RPI qui est à la maison depuis très peu de temps ^^

  2. Bonjour
    J’essaye depuis un moment d’utiliser le recepteur en alimentant en 5V, mais mon GPIO n’apprecie pas trop de recevoir le signal en 5V.
    il fonctionne parfaitement avec le 3,3v, mais la portée est de qqes metres maxi

    ça fonctionne sans pb sur le B+ ?
    Les GPIO sont protégés ?

    Merci

    1. Sur le B+ oui, cela fonctionne. Le test a pour le moment été mis de côté, mais la platine sert tous les jours à télécommander des lampes.
      La protection du GPIO, là par contre pas d’infos, mais tel que le branchement a été effectué rien n’a grillé pour le moment 🙂

  3. Bonjour,

    est-il possible de lancer dans une fenêtre une commande
    sudo ./RFSniffer

    et de lancer dans une autre fenêtre commande
    sudo ./codesend 12345

    Je demande cela pour savoir s’il est possible de tester facilement mon émetteur et récepteur.

    J’attends avec impatience votre réponse.

    1. oui, mais le plus simple est de lancer la réception en tâche de fond je pense : sudo ./RFSniffer &

      On reçoit alors un chiffre en retour, à noter : kill chiffre ensuite pour supprimer la tâche de fond (ex : kill 12345)

  4. Super, je viens de tester et cela fonctionne.
    Pour tous les lecteurs, l’antenne est très très importante. Cela fait 2 jours que j’essaye sans succès avec une antenne et en pointant ma télécommande à côté.

    Mon bout de cuivre devrait être mal mis sur mon circuit imprimé 🙂

    Et oui, nous pouvons envoyer et recevoir en même temps et ainsi tester notre récepteur et émetteur.

    1. maintenant le plus dur sera de recevoir le code, de le capturer et de l’interpréter, car RFSniffer ne fait que l’afficher si on ne modifie pas un peu.

  5. bonjour a tous, je voulais vous remercier pour ce tuto, mais je ne comprends pas, aurait-il une erreur ? car vous dites :
    « La broche 1 est celle située la plus près de la LED rouge d’alimentation. Nous allons donc utiliser les broches 2 et 4 pour le +5V nécessaire aux modules 433 MHz,  » <== ok
    les broches Ground pour la masse (GND) des modules.<== ok
    Les broches 11 et 13 seront utilisées respectivement pour les datas en émission (9) et réception (13). <== Non 9 est un ground ? est-ce une erreur ?

    MErci

  6. Non Merci a Toi, mais j’ai encore une question je possède des prise Di-o de chacon mais je ne peux pas sélectionner les codes via des curseurs, comment je peux récupérer le code des télécommandes, sachant que j’utilise la centrale myfox qui commande les prises ?

    Merci

    1. J’ai un peu regardé les prises et modules Di-o de Chacon, et j’ai compilé la commande que j’ai indiquée précédemment : cela semble fonctionner à priori, même si je n’ai pas ces modules pour le moment, l’émission se fait bien sur mon module :

      sudo /root/wiringPi/send 0 1234564 1 on
      Let’s start dude…
      ON Signal
      root@raspberrypi:~/wiringPi#

      Je testerai plus tard, car les modules miniatures me plaisent bien, et j’ai envie de jouer un peu avec.

  7. bonjour,
    Merci pour l’article c’est ce que je chercher a faire.
    Mais n’y a t’il pas un moyen d’executer codesend sans avoir recourt au sudo ?
    C’est pour l’utiliser dans un script .

    Merci,

    1. eh bien dans un script pourquoi ne pas mettre « sudo codesend xxxxxx » justement ? Quel est le soucis ?

  8. pour éviter le mot de passe, mais je me suis rendu compte qu’il n’y en a pas besoin.
    Par contre je veux faire un script qui lance  » codesend 1381717  » et je c’a ne fonctionne pas. si dans mon terminal je lance la commande  » codesend 1381717  » depuis le répertoire de mon script elle fonctionne, mais pas le script. Ç’a fait déjà un moment que j’y suis sans trouver.

    1. chmod +x script.sh a bien été fait ? Sinon chmod 777 script.sh au pire pour tester, sans doute une question de permissions sur le fichier. Autre solution, indiquer le chemin complet : sudo /root/433Utils/etcetc/codesend xxxxx par exemple

  9. Si tu lances ton script depuis une page php, il faut te mettre les bon droits sur le serveur Apache.

    sudo echo « apache ALL=(ALL) NOPASSWD: ALL » >> /etc/sudoers

  10. le $PATH n’était pas bon.
    je le changé que pour ma session et pas définitivement. Il ne me reste plus qu’a comprendre comment fonctionne le plugin Callbacks2 pour automatisé l’allumage et l’extinction de l’éclairage quand je démarre une vidéo.

  11. Salut.
    D’abord merci pour ce partage. C’est bien utile.
    Ceci dit quelque chose m’intrigue. En effet, j’ai suivi la procédure à la lettre (me semble-t-il), pourtant il m’est impossible de sniffer le code de ma télécommande chacon.
    Il faut noter que j’ai testé mon récepteur en envoyant un signal via l’émetteur couplé et je reçois parfaitement le code.
    Pourquoi m’est-il impossible de recevoir le code de ma télécommande? Quelqu’un a-t-il une idée?

  12. Merci pour la réponse.
    Si je comprends bien c’est une carte qui mémorise le code et le renvoie? Si c’est bien le cas pourrais-je, avec cette méthode, déterminer tout de même le code afin de ne pas dépendre de cette carte avec mode apprentissage?
    Je ne sais pas si je suis clair.

    1. rien compris 🙂 Cf le lien, il explique comment émettre le bon code. Pour recevoir, je n’ai par contre pas d’infos.

  13. Merci.
    J’ai récupérer le code via un autre programme sur le blog idleman.
    Encore merci.

  14. Bonjour,
    D’abord merci pour cet article.

    Où puis-je trouver les modules Tx et Rx que vous avez utilisés? Quelle est leur marque/modèle?

    Merci d’avance.

Les commentaires sont fermés.