Attention: cette page a été traduite automatiquement. Si vous le pouvez, vous devriez la lire dans l'une de ces langues:

rf_gpio

Présentation

rf_gpio permet de simuler un RFLink avec un émetteur et un récepteur branchés directement sur les ports GPIO d’un raspberry pi.

Installation :

cd /home/pi
git clone https://github.com/jmichault/rf_gpio.git
cd rf_gpio  
sudo cp -p rf_gpio.sh /etc/init.d  
sudo update-rc.d rf_gpio.sh defaults  
sudo service rf_gpio.sh start  

connecter le récepteur sur gpio2 bcm27 (broche 13)
connecter l’émetteur sur gpio0 bcm17 (broche 11)

utilisation avec domoticz :

ajouter un matériel de type «RFLink Gateway with LAN interface» adresse distante : 127.0.0.1
Port : 10000
Si le matériel est reconnu, l’intégration avec domoticz est simple : il suffit d’utiliser le bouton «détection auto» de l’onglet «Interrupteurs», ou d’activer l’option «Autoriser pendant 5 minutes»

Émetteurs-récepteurs testés :

Remarque: Pour de bons résultats, le récepteur doit être protégé contre les parasites émis par le raspberry-pi. Pour les tests, vous pouvez utiliser une feuille d’aluminium placée dans une feuille de papier pliée en deux.

MATÉRIELS RECONNUS :

ont été testés avec succès :

D’autres capteurs sont prédéfinis dans sentiloj.ini, mais n’ont pas été testés.

pour ajouter un nouveau capteur :

Il faut identifier le protocole de transfert des données et le format des données.

option 1 :

suivre la sortie de rf_gpio, soit en le lançant dans une fenêtre shell, soit en s’y connectant avec la commande «telnet 127.0.0.1 10000».
Quand le capteur envoie des données, et que le protocole de transfert est reconnu, vous verrez quelque chose qui ressemble à ça :
20;00;p0102,bits=36,D0=529,D1=949,D2=1926,DS=3865;binary=011100110000000011011000111100100000,hex=7300d8f20;
20; = toute trame d’émission RFLink commence comme ça.
00; = première trame émise.
p0102,bits=36,D0=529,D1=949,D2=1926,DS=3865 = rf_gpio a identifié un protocole du type :
bit 0 = D0 D1
bit 1 = D0 D2
36 bits de données
durée D0 = 520 µs
durée D1 = 957 µs
durée D2 = 1936 µs
durée de synchro DS = 3881 µs
binary=011100110000000011011000111100100000,hex=7300d8f20; : données reçues en binaire et en hexa.

option 2 :

exécuter dans un shell :
./analizi
et appuyer sur le bouton de la télécommande, ou attendre que le capteur envoie des données. Si le protocole est reconnu, on voit quelque chose qui ressemble à ça :
73 pulsations protocole : “xxx;p0001,bits=36,D0=689,D1=1923,DS=3890;ID:b1-b36”
données binaires : 011100110000000011011000111100100000
données hexa : 7300d8f20

Il vous faut maintenant analyser les données binaires pour identifier la signification de chaque bit.
Vous pouvez ensuite ajouter une ligne dans le fichier sentiloj.ini, chaque ligne est composée de trois éléments séparés par un point-virgule :

En réception toutes les lignes qui satisfont la condition vont générer une ligne, si vous voulez éviter les faux positifs, vous pouvez mettre en commentaire ou supprimer les lignes qui ne correspondent pas à vos matériels.
En émission, seule la première ligne ayant le bon nom de matériel sera utilisée.

Si le protocole n’est pas reconnu, vous pouvez utiliser analizi pour l’étudier en augmentant sa verbosité avec l’option -v, -vv ou -vvv. Mais rf_gpio ne pourra pas le reconnaitre sans développement supplémentaire.

PROTOCOLES SUPPORTÉS :

Seuls les protocoles ayant au moins les caractéristiques suivantes ont une chance d’être reconnus :

À l’émission, les codes tournants et les sommes de vérification ne sont pas gérés.