
Programa para decodificar transmisiones de radio de dispositivos en las bandas ISM (y otras frecuencias)
rtl_433 (a pesar del nombre) es un receptor de datos genérico, principalmente para las bandas ISM de 433.92 MHz, 868 MHz (SRD), 315 MHz, 345 MHz y 915 MHz.
El código fuente oficial está en el repositorio https://github.com/merbanan/rtl_433/.
Véase también una lista de software que funciona con rtl_433 en la wiki. Para más documentación y proyectos relacionados, en particular aquellos que ayudan con el desarrollo de rtl_433, véase el sitio https://triq.org/.
Funciona con RTL-SDR y/o SoapySDR. Se prueban y soportan activamente los dongles DVB basados en Realtek RTL2832 (usando RTL-SDR) y LimeSDR (LimeSDR USB y LimeSDR mini engineering samples amablemente proporcionados por MyriadRf), PlutoSDR, HackRF One (usando controladores SoapySDR), así como SoapyRemote.

rtl_433 está escrito en C portable (estándar C99) y se sabe que compila en sistemas Linux (también embebidos), FreeBSD, MacOS y Windows. Los compiladores y toolchains más antiguos son soportados como objetivo clave. El bajo consumo de recursos y las muy pocas dependencias permiten que rtl_433 se ejecute en hardware embebido. La mayoría de las arquitecturas de CPU comunes de 32 y 64 bits como amd64, arm64, armhf, i386, ppc64el, riscv64, s390x y otras están bien soportadas.
Véase BUILDING.md
Linux (Debian, Ubuntu): sudo apt install rtl-433. Para otras distribuciones véase repology o pkgs.org.
FreeBSD: pkg install rtl-433.
MacOS: brew install rtl_433.
Las imágenes Docker con rtl_433 están disponibles en la página de github de hertzg.
Véase CONTRIBUTING.md.
rtl_433 -h```
A "rtl_433.conf" file is searched in "./", XDG_CONFIG_HOME e.g. "$HOME/.config/rtl_433/",
SYSCONFDIR e.g. "/usr/local/etc/rtl_433/", then command line args will be parsed in order.
= General options =
[-V] Output the version string and exit
[-v] Increase verbosity (can be used multiple times).
-v : verbose notice, -vv : verbose info, -vvv : debug, -vvvv : trace.
[-c ] Read config options from a file
= Tuner options =
[-d | : | | rtl_tcp | help]
[-g | help] (default: auto)
[-t ] apply a list of keyword=value settings to the SDR device
e.g. for SoapySDR -t "antenna=A,bandwidth=4.5M,rfnotch_ctrl=false"
for RTL-SDR use "direct_samp[=1]", "offset_tune[=1]", "digital_agc[=1]", "biastee[=1]"
[-f ] Receive frequency(s) (default: 433920000 Hz)
[-H ] Hop interval for polling of multiple frequencies (default: 600 seconds)
[-p <ppm_error>] Correct rtl-sdr tuner frequency offset error (default: 0)
[-s ] Set sample rate (default: 250000 Hz)
[-D quit | restart | pause | manual] Input device run mode options (default: quit).
= Demodulator options =
[-R | help] Enable only the specified device decoding protocol (can be used multiple times)
Specify a negative number to disable a device decoding protocol (can be used multiple times)
[-X | help] Add a general purpose decoder (prepend -R 0 to disable all decoders)
[-Y auto | classic | minmax] FSK pulse detector mode.
[-Y level=] Manual detection level used to determine pulses (-1.0 to -30.0) (0=auto).
[-Y minlevel=] Manual minimum detection level used to determine pulses (-1.0 to -99.0).
[-Y minsnr=] Minimum SNR to determine pulses (1.0 to 99.0).
[-Y autolevel] Set minlevel automatically based on average estimated noise.
[-Y squelch] Skip frames below estimated noise level to reduce cpu load.
[-Y ampest | magest] Choose amplitude or magnitude level estimator.
[-Y filter=] Manual FM low-pass filter cutoff to separate simultaneous transmissions: us (1-9999, e.g. 20), Hz (10000+), or ratio of sample rate (0.0-1.0).
= Analyze/Debug options =
[-A] Pulse Analyzer. Enable pulse analysis and decode attempt.
Disable all decoders with -R 0 if you want analyzer output only.
[-y ] Verify decoding of demodulated test data (e.g. "{25}fb2dd58") with enabled devices
= File I/O options =
[-S none | all | unknown | known] Signal auto save. Creates one file per signal.
Note: Saves raw I/Q samples (uint8 pcm, 2 channel). Preferred mode for generating test files.
[-r | help] Read data from input file instead of a receiver
[-w | help] Save data stream to output file (a '-' dumps samples to stdout)
[-W | help] Save data stream to output file, overwrite existing file
= Data output options =
[-F log | kv | json | csv | mqtt | influx | syslog | trigger | rtl_tcp | http | null | help] Produce decoded output in given format.
Append output to file with : (e.g. -F csv:log.csv), defaults to stdout.
Specify host/port for syslog with e.g. -F syslog:127.0.0.1:1514
[-M time[:] | protocol | level | noise[:] | stats | bits | help] Add various meta data to each output.
[-K FILE | PATH | | =] Add an expanded token or fixed tag to every output line.
[-C native | si | customary] Convert units in decoded output.
[-n ] Specify number of samples to take (each sample is an I/Q pair)
[-T ] Specify number of seconds to run, also 12:34 or 1h23m45s
[-E hop | quit] Hop/Quit after outputting successful event(s)
[-h] Output this usage help and exit
Use -d, -g, -R, -X, -F, -M, -r, -w, or -W without argument for more help