Sniffer RF433 MHz et télécommandes 433MHz (à finir…)

 

J’avais essayé il y a déjà longtemps les émetteurs et le récepteurs RF433 des sites chinois avec l’Arduino , et j’avais été enthousiasmé par la facilité de cloner les télécommandes bon marché eu utilisant la libraire RC-Switch…

par exemple :
http://anothermaker.xyz/iot/domotique-arduino-nano-raspberry-pi-partie1-rf433mhz-4995

Mais j’ai été très vite déçu, en effet de nombreuses télécommandes n’étaient pas identifiées pas ce moyen…( j’apprends ce jour que cette bibliothèque à évolué avec 29 protocoles supplémentaires…., dont les DiO…, super…on continue quand même)

J’ai donc entrepris de me passer de cette Library pourtant excellente…
Pour cela j’ai revu  le sniffer433 en utilisant la numérisation rapide….

il envoie les données capturées à un moniteur graphique écrit avec Delphi, celui de l’arduino étant limité à 500 données…

Pour le bouton on d’une télécommande, le signal est le suivant:

On y voit des barres fines et des barres plus épaisses séparées par des blancs, on suggère rapidement des 0 et des 1, soit « 0001010100010101010101110 »
En fait la dernière barre fine est le début du signal….suivi d’un grand blanc ce qui constitue l’entête de synchronisation

On peut obtenir davantage de détails en jouant sue le paramètre ‘factor’ de la procédure a2dSetup (configuration du convertisseur analogique numérique) avec un paramètre à 4 on obtient une donnée toutes les 16 µs…(environ…)

Le moniteur graphique permet de mesurer les périodes…

Ici en moyenne  une mesure toutes les 9,54µs (factor mis à 3), 8 périodes (bits) 1086 mesures soit un bit 9,54*1086/8=1295 µs et donc un pulse (état H ou b) à 323,75 µs

L’analyse complète donne:
1-Entete de 32 ‘pulses’: Hbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
2-Bit 0: 4 pulses Hbbb
3-Bit 1: 4 pulses HHHb
4-durée d’un état (pulse): 323 µs

On peut ainsi simuler la télécommande physique par un programme:

Telecommande On/Off

PS: pour les télécommande DiO, une solution est ici:
http://charleslabs.fr/fr/project-Contrôle+de+prises+DiO+avec+Arduino
marche très bien
Finalement j’utilise RC-Switch avec tous ses protocoles….

 

Version Simplifiée avec esp32

les timers de l’esp32 permettent une version plus claire

resultat sans signal

Durée des mesures: 208 attendu :208

**************** les mesures avec comptage ***********************************
(0:1)
11 (1:2)
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (0:3997)
Touche en attente…

résultats avec signal (après élimination des données superflues ou redontantes…)

Durée des mesures: 208 attendu :208

**************** les mesures avec comptage ***********************************

111 (1:3)
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (0:197)
111111 (1:6)
00000000000000000000 (0:20)
111111 (1:6)
0000000000000000000 (0:19)
111111 (1:6)
00000000000000000000 (0:20)
111111111111111111 (1:18)
00000000 (0:8)
11111 (1:5)
00000000000000000000 (0:20)
111111111111111111 (1:18)
000000000 (0:9)
1111 (1:4)
000000000000000000000 (0:21)
111111111111111111 (1:18)
000000000 (0:9)
1111 (1:4)
00000000000000000000 (0:20)
111111111111111111 (1:18)
000000000 (0:9)
1111 (1:4)
000000000000000000000 (0:21)
111111111111111111 (1:18)
000000000 (0:9)
1111 (1:4)
00000000000000000000 (0:20)
11111 (1:5)
000000000000000000000 (0:21)
11111 (1:5)
00000000000000000000 (0:20)
111111111111111111 (1:18)
000000000 (0:9)
1111 (1:4)
000000000000000000000 (0:21)
111111111111111111 (1:18)
000000000 (0:9)
1111 (1:4)
00000000000000000000 (0:20)
111111111111111111 (1:18)
000000000 (0:9)
1111 (1:4)
000000000000000000000 (0:21)
111111111111111111 (1:18)
000000000 (0:9)
11111111111111111 (1:17)
000000000 (0:9)
11111111111111111 (1:17)
000000000 (0:9)
1111 (1:4)
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (0:197)

entre deux blocs de 197 O, on voit apparaitre une alternance de 0 et 1:

-un 1 :
111111111111111111 (1:18)
00000000 (0:8)

-un 0:
11111 (1:5)
00000000000000000000 (0:20)

On retrouve le codage sur 4 états HHHb pour un 1 et Hbbb pour un 0, la durée de chaque état étant de 5 à 8 intervalles de mesures de 52 µs soit 260-416 µs soit en moyenne 338 µs ( entre 25*52/4 et 27*52/4)

En comptant les nombres d’échantillons de chaque état, on on obtient la signature du signal, par exemple:

11111111111111111111111111 (1:26)
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (0:1019)
111111111111111111111111111111111 (1:33)
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (0:99)
11111111111111111111111111111111 (1:32)
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (0:99)
11111111111111111111111111111111 (1:32)
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (0:100)
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 (1:98)
0000000000000000000000000000000000000 (0:37)
111111111111111111111111111111 (1:30)
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (0:102)
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 (1:98)
0000000000000000000000000000000000000 (0:37)
111111111111111111111111111111 (1:30)
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (0:103)
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 (1:97)
00000000000000000000000000000000000000 (0:38)
11111111111111111111111111111 (1:29)
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (0:103)
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 (1:97)
000000000000000000000000000000000000000 (0:39)
11111111111111111111111111111 (1:29)
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (0:103)
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 (1:98)
000000000000000000000000000000000000000 (0:39)
1111111111111111111111111111 (1:28)
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (0:104)
111111111111111111111111111111 (1:30)
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (0:103)
11111111111111111111111111111 (1:29)
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (0:103)
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 (1:97)
000000000000000000000000000000000000000 (0:39)
11111111111111111111111111111 (1:29)
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (0:103)
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 (1:97)
0000000000000000000000000000000000000000 (0:40)
1111111111111111111111111111 (1:28)
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (0:103)
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 (1:98)
000000000000000000000000000000000000000 (0:39)
1111111111111111111111111111 (1:28)
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (0:104)
1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 (1:97)
000000000000000000000000000000000000000 (0:39)
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 (1:96)
0000000000000000000000000000000000000000 (0:40)
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 (1:96)
000000000000000000000000000000000000000 (0:39)
1111111111111111111111111111 (1:28)
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (0:1019)
26,1019,33,99,32,99,32,100,98,37,30,102,98,37,30,103,97,38,29,103,97,39,29,103,98,39,28,104,30,103,29,103,97,39,29,103,97,40,28,103,98,39,28,104,97,39,96,40,96,39,28,1019,

Cette dernière ligne sera donnée au player avec la durée entre deux échantillons, par exemple

 

 

 

Ce contenu a été publié dans Non classé. Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *