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 :
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).
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
J’aurai bien tenté avec du somfy mais y’a du rolling code me semble-t-il…
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.
Sinon j’ai repéré ça : http://blog.domadoo.fr/2014/06/06/rfxcom-devient-compatible-somfy-rts-nouvelle-interface-rfxtrx433e/
🙂
j’avais vu, mais :
1. le prix 🙁
2. capable de capter un rolling code ET le reproduire ?
La gestion en tout cas semble simple : http://code.google.com/p/rfxcmd/
Le prix… bon c’est le premier module compatible Somfy RTS donc on ne peut pas leur jetter la pierre 🙂
tu vas le prendre ? Ca m’intéresse un retour sur le Pi, solution à creuser pour ce type de télécom.
Non c’est pas prévu 🙂 Je dois déjà jouer avec un RPI qui est à la maison depuis très peu de temps ^^
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
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 🙂
[…] du billet vous présentant un Raspberry Pi transformé en télécommande 433 MHz. Mais si, ce billet là, suivez donc le lien enfin […]
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.
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)
Ok merci , je teste et je donne un feedback
bien penser à ajouter une antenne sur les platines, sinon la portée sera vraiment TRES réduite 😉
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.
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.
[…] des outils 433 MHz (433Utils), cela a été décrit en long en large et en travers ici par exemple, pour aller directement sur le script cligno.sh utilisé, d’une simplicité enfantine […]
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
11 et 13 oui, c’est rectifié, merci 😉
J’ai trouvé ce lien sur google en 2 s, des fois que :
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
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.
[…] platine de réception 433 MHz raccordée à votre Raspberry Pi pour déterminer le code transmis, cf ce billet pour apprendre comment sniffer le code. Dans mon cas, le module émet le code 13253135 par défaut, avec les jumpers par […]
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,
eh bien dans un script pourquoi ne pas mettre “sudo codesend xxxxxx” justement ? Quel est le soucis ?
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.
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
Déjà fait. Je ne comprend pas
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
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.
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?
mieux encore : http://www.homautomation.org/2013/10/09/how-to-control-di-o-devices-with-a-raspberry/ ça fonctionne ici sur Chacon DI-O. Une fois en mode apprentissage, on envoie le code de son choix au module et il l’intègre. Ensuite, on ou off, et ça active ou désactive.
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.
rien compris 🙂 Cf le lien, il explique comment émettre le bon code. Pour recevoir, je n’ai par contre pas d’infos.
Merci.
J’ai récupérer le code via un autre programme sur le blog idleman.
Encore merci.
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.
Tx : https://www.monwifi.fr/raspberry-pi/468-module-emetteur-433-mhz-pour-arduino-raspberry-pi.html
Rx : https://www.monwifi.fr/raspberry-pi/467-module-recepteur-433-mhz-pour-arduino-raspberry-pi.html