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

  • Bouygues ADSL : 19,99 €, sous conditions

    Martin Bouygues l’a annoncé ce matin : Bouygues Telecom va proposer dès Mars 2014 son offre ADSL à 19,99 € : Toutefois, attention aux détails : pas d’appels sur les mobiles (6 € en sus) uniquement sur les DSLAM dégroupés Bouygues Telecom, tout comme l’offre B-and-You, ce qui limite sérieusement les clients potentiellement touchés par une telle offre Bbox ancienne génération : on recycle, on recycle 🙂 165 chaines TV, un disque dur 40 Go. Une option à 6€ par…

  • WemosD1 et OpenMQTTGateway

    Le petit Wemos D1, un ESP8266 utilisable avec MicroPython, EspEasy ou juste l’IDE d’Arduino permet de créer à moindre frais une passerelle 433 MHz vers MQTT en utilisant OpenMQTTGateway. Voici l’intégration du Wemos D1 dans un petit boîtier, 2 antennes, une pour l’émission, l’autre pour la réception. Pas de platine sophistiquée ici, juste des fils reliés aux modules 433 MHz (invisibles sur la photo), une connexion USB pour l’alimentation et le tour est joué : Le serveur MQTT va ainsi…

  • mPower 1 port : baisse de prix, contrôle distant ssh

    Le tarif de la mPower 1 port vient de perdre quelques Euros, pour le plus grand plaisir de nos clients 😉   Rappelons que ce petit matériel peut s’associer à un contrôleur mFi ou se gérer de façon totalement autonome. Il se relie en WiFi et se configure très rapidement avec un simple navigateur internet. De plus, avec un accès SSH ouvert, l’appareil est facilement contrôlable à distance : Activation du relai : echo 1 > /proc/power/relay1 Extinction du relai : echo…

  • Freemobile sur Crossac (44) : essais décevants

    Accusé de tous les maux contre le pauvre Freemobile qui nous a pondu un réseau tellement magnifique et tellement dense en nous libérant du joug des méchants opérateurs historiques, je me suis dit que c’était le bon moment de m’excuser et de refaire quelques essais avec un Honor 5X et ses deux SIM : [checklist] Bouygues Telecom Freemobile [/checklist]   Et je le prouve, des fois que certains fanboys idiots (pléonasme facile) aient envie de douter, de croire à une…

  • Point d’accès extérieur pour Livebox Orange

    Renouvellement de gamme, amélioration du produit, des fonctionnalités, voici venir le nouveau point d’accès extérieur pour Livebox Orange, adaptable sur toute box : Ce nouveau matériel est plus petit que l’ancien point d’accès, dispose d’un angle d’éclairage WiFi plus large (75° environ). Il est toujours livré avec 20 m de câble ethernet CAT5 blindé, avec son alimentation POE 24 V et une documentation de mise en service en français. Pour les utilisateurs expérimentés, de nouvelles fonctionnalités ont fait leur apparition,…

  • Point d’accès de plafond

    Voici un point d’accès à fixer au plafond, cette fois-ci avec des caractéristiques améliorées, par rapport aux générations précédentes. Commençons par le 300 Mbps Mimo 2×2 avec 2 antennes de 3 dBi, poursuivons par le firmware amélioré, capable de gérer toutes les situations en WiFi. Ce petit AP trouvera sa place dans tout déploiement intérieur nécessitant un maximum de discretion. Il s’alimente de 12 à 24 Vcc, compatible donc avec les switches PoE Ubiquiti. Le montage au plafond est simple,…

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.