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_433Utilisation
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 60Mode 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 -ASauvegarder 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 2MLes 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 -AAnalyse 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 -rnExtraire 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
| Flag | Description |
|---|---|
-d soapy=0,driver=bladerf | Utiliser le BladeRF via SoapySDR |
-f 433920000 | Régler la fréquence sur 433,92 MHz |
-g 60 | Régler le gain à 60 dB |
-A | Mode analyse (timing des impulsions + détection de modulation) |
-S 2M | Sauvegarder les signaux détectés en fichiers .cs16 |
-r file.cs16 | Rejouer 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).