Raspberry Pi : réception télécom. 433 MHz avec RFSniffer + script Python

Avec notre RFSniffer modifié, nous savons désormais comment recevoir un code dans un fichier stocké dans /home/pi/recu.txt, un processus mis en tâche de fond.

Voyons maintenant comment, au moyen d’un simple script rx2.py, placé dans /home/pi, nous allons pouvoir lancer des actions en fonction du code reçu (pensez à recréer les identations nécessaires à Python, WordPress a la faculté de tout bousiller lors d’un copier/coller, désolé…).

Nous allons commencer par copier recu.txt dans un fichier temporaire, temp.txt. Ouvrons alors ce fichier, lisons son code et lançons alors les actions appropriées :

  • allumage du salon (un script .sh tout simple exécuté en arrière plan)
  • extinction du salon
  • activation du relai 0 du PiFace, sous forme de pression : j’appuie, je relâche, comme s’il s’agissait d’une pression sur une télécommande
  • activation du relai 1 du PiFace

Pensez à créer un fichier /home/pi/zero.txt contenant juste le chiffre 0 (zero) sans rien d’autre.

Lancez le script simplement :

python3 rx2.py

Si vous voulez le faire tourner en tache de fond, ajoutez simplement un # devant les lignes contenant print, de façon à ce qu’aucun affichage ne vienne vous déranger, puis lancez le :

python3 rx2.py &

 

Je suis conscient qu’il doit être possible de faire un script beaucoup plus « pro » : je ne suis pas programmeur, je l’assume pleinement, mais le script fonctionne, n’est-ce pas l’essentiel ?

Et puis Blogwifi reste ouvert pour la publication de vos améliorations, c’est le principe d’un travail sans licence commerciale, non ? 😉

A vos scripts, prêts, partez !!

raspidomo1

#!/usr/bin/python3
#
# Lecture du code de télécommande reçu par RFSniffer (version modifiée, en tâche de fond)
# le code reçu se trouve dans /home/pi/recu.txt
#
import os
#
# Boucle de detection sans fin
#
# var = 1
while True :
#
# on copie recu.txt dans temp.txt pour éviter de le lire alors que le processus RFSniffer l'utilise (plantage assuré)
#
os.system('sudo cp /home/pi/recu.txt /home/pi/temp.txt')
#
# Ouverture et lecture de temp.txt
#
f = open('/home/pi/temp.txt', encoding='utf-8')
g = int(f.read())
#
# détection du code
# puis remise à zero de recu.txt en copiant zero.txt à sa place
# (zero.txt contient un simple 0)
#

#
# activation relai 0 du PiFace : ON puis OFF
#
if g == 4195665:
print ("Relai 0")
os.system('sudo python /home/pi/output.py 0')
os.system('sudo cp /home/pi/zero.txt /home/pi/recu.txt')

#
# activation relai 1 du PiFace : ON puis OFF
#
if g == 4195668:
print ("Relai 1")
os.system('sudo python /home/pi/output.py 1')
os.system('sudo cp /home/pi/zero.txt /home/pi/recu.txt')

#
# télécommande du salon, lancement des scripts salon_on ou salon_off (envoi de trappes SNMP à un contrôleur 10 relais)
# à modifier selon les besoins, le code est indiqué dans g == xxxxxxxx: xxxxxxx = code de télécommande
#
elif g == 4198737:
print ("salon on")
os.system('sudo sh /home/pi/salon_on.sh &')
os.system('sudo cp /home/pi/zero.txt /home/pi/recu.txt')

elif g == 4198740:
print ("salon off")
os.system('sudo sh /home/pi/salon_off.sh &')
os.system('sudo cp /home/pi/zero.txt /home/pi/recu.txt')

Publications similaires

  • MQTT : origine, utilisation, domotique

    Le protocole MQTT (Message Queuing Telemetry Transport) est un protocole de communication léger, largement utilisé dans l’Internet des objets (IoT). Il a été conçu pour permettre aux appareils connectés de communiquer efficacement avec les serveurs, même dans des conditions de connectivité intermittente ou à faible bande passante. Dans cet article, nous allons explorer le protocole MQTT et son utilisation dans la domotique. Le fonctionnement du MQTT : MQTT est un protocole de communication de type publish-subscribe. Les appareils qui publient…

  • |

    Et si le FSD Tesla se payait à la semaine ?

    J’ai demandé à Gemini de cogiter, entre l’abonnement FSD de Tesla à 99 €/mois et une solution à 10 € par semaine. Je vous copie ici la réponse en intégralité car elle correspond à une réflexion que j’ai déjà eue par le passé : Pour estimer le revenu global que Tesla pourrait générer en France avec son abonnement à la Capacité de Conduite Entièrement Autonome (FSD), nous devons d’abord établir une estimation fiable du parc automobile de la marque dans…

  • Freebox Revolution : allumage via un script .sh

    Allumer sa Freebox Revolution à distance ? C’est tout à fait possible, on peut même intégrer un script à lancer dans une application domotique, par exemple pour simuler une présence. Commençons par récupérer le code de la télécommande de la Freebox en vous rendant dans Réglages, Système, puis Informations. Notez le, et remplacez 123456 dans le script ci-dessous par votre code : !/bin/bash sudo curl –data « code=123456&key=power » http://hd1.freebox.fr/pub/remote_control sleep 8 sudo curl –data « code=123456&key=ok » http://hd1.freebox.fr/pub/remote_control sleep 5 sudo curl –data « code=123456&key=1&key=4 » http://hd1.freebox.fr/pub/remote_control…

  • AirOS v5.5.4-BETA disponible

    La version 5.5.4-BETA du firmware AirOS est sortie hier. Les nouveautés : airMAX: Improved performance in PTMP scenarios airMAX: Lower latency in Long Range PTP mode airMAX: Improved speed test timeout/errors handling and reporting New: Alternative Data Rate module New: Reset configuration to factory defaults when executing TFTP recovery mode New: Update AirView certificate New: Disable « Block Management » option for WAN in default configuration (AirRouter, AirRouter HP, PowerAP N) Security: WEB UI: Show if custom scripts are present on device…

  • Téléphone VoIP DECT

    Nouveau produit sur la boutique en ligne, un téléphone DECT IP, le DP715 de Grandstream, un constructeur asiatique très connu pour la qualité de ses produits IP. Le DP715 permet toutes les combinaisons actuelles d’un téléphone IP, avec en plus la fonctionnalité DECT : vous allez pouvoir utiliser jusqu’à 5 combinés et deux fournisseurs VoIP différents. Les codecs sont on ne peut plus classiques, avec bien entendu le G729, un codec audio qui offre une compression compatible avec une connexion…

  • |

    Au 10 Avril Monsieur Niel !

    MAJ : bizarrement, voici ce qu’on retrouve sur le compte client ce matin : Retour à l’autisme ? Bug de Chrome ? Tout fonctionne superbement ? Hmmm…. Article d’origine, 28 Mars 7h37 : Autisme : « des troubles du développement caractérisés par une interaction sociale et une communication anormales, avec des comportements restreints et répétitifs », voici la définition de Wikipedia du moins. L’autiste Freemobile sort donc de son mutisme et communique enfin : promis, juré, craché, on va tout réparer d’ici 15 jours, cf Freemobileactu qui rapporte les…