rtl_433

Qu’est-ce que rtl_433 ?

rtl_433 est un outil open-source qui décode les signaux radio dans la bande ISM à 433 MHz (et d’autres fréquences). Il supporte une large gamme d’appareils : stations météo, capteurs de pression de pneus, thermomètres sans fil, télécommandes domotiques et bien d’autres capteurs IoT.

Malgré son nom, rtl_433 fonctionne avec tout SDR supporté par SoapySDR, pas uniquement les dongles RTL-SDR.

Installation

sudo dnf install rtl_433

Utilisation

Capture en direct avec BladeRF

Écouter sur 433,92 MHz en utilisant un BladeRF via SoapySDR :

rtl_433 -d soapy=0,driver=bladerf -f 433920000 -g 60

Mode analyse

Le flag -A active le mode analyse : il affiche le timing détaillé des impulsions et des intervalles, et tente de deviner la modulation utilisée :

rtl_433 -d soapy=0,driver=bladerf -f 433920000 -g 60 -A

Sauvegarder des signaux

Utiliser -S 2M pour sauvegarder les signaux détectés dans des fichiers .cs16 (échantillons IQ complexes signés 16 bits) :

rtl_433 -d soapy=0,driver=bladerf -f 433920000 -g 60 -A -S 2M

Les fichiers sont numérotés séquentiellement (g001_433.92M_250k.cs16, g002_433.92M_250k.cs16, …), préservant l’ordre chronologique.

Replay des signaux capturés

Pour rejouer un seul fichier .cs16 :

rtl_433 -r g001_433.92M_250k.cs16 -A

Analyse en lot

Pour rejouer tous les fichiers capturés et compter les occurrences de chaque trame décodée :

for f in *.cs16; do rtl_433 -r "$f" -A 2>/dev/null; done \
  | grep "^codes" | sort | uniq -c | sort -rn

Extraire les codes uniques d’une taille spécifique dans l’ordre de capture :

for f in $(ls -1 *.cs16 | sort); do rtl_433 -r "$f" -A 2>/dev/null | grep "^codes.*{52}"; done | awk '!seen[$0]++'

Flags principaux

FlagDescription
-d soapy=0,driver=bladerfUtiliser le BladeRF via SoapySDR
-f 433920000Régler la fréquence sur 433,92 MHz
-g 60Régler le gain à 60 dB
-AMode analyse (timing des impulsions + détection de modulation)
-S 2MSauvegarder les signaux détectés en fichiers .cs16
-r file.cs16Rejouer un fichier signal sauvegardé
-X '...'Utiliser un décodeur flex avec des paramètres personnalisés

Format de fichier

Les signaux sauvegardés utilisent le format .cs16 : échantillons IQ complexes signés 16 bits. Le nom de fichier encode la fréquence de capture et le sample rate (ex. g001_433.92M_250k.cs16 = 433,92 MHz à 250 kSPS).

Articles associés

Références