|
NAMErtl_433 - Generic RF data receiver and decoder for ISM band devices using RTL-SDR and SoapySDR.DESCRIPTIONThis manual page documents briefly the rtl_433 command.rtl_433 is a generic data receiver, mainly for the 433.92 MHz, 868 MHz (SRD), 315 MHz, and 915 MHz ISM bands. It works with RTL-SDR and/or SoapySDR. Actively tested and supported are Realtek RTL2832 based DVB dongles (using RTL-SDR) and LimeSDR (LimeSDR USB and LimeSDR mini engineering samples kindly provided by MyriadRf), PlutoSDR, HackRF One (using SoapySDR drivers), as well as SoapyRemote. SYNOPSISrtl_433 [OPTION]... FILE...OPTIONSA summary of options is included below. Detailed information on some options follows.General options
Tuner options
Demodulator options
Analyze/Debug options
File I/O options
Data output options
Input device selectionRTL-SDR device driver is available.
To set gain for RTL-SDR use -g <gain> to set an
overall gain in dB.
SoapySDR device driver is available.
To set gain for SoapySDR use -g ELEM=val,ELEM=val,...
e.g. -g LNA=20,TIA=8,PGA=2 (for LimeSDR).
Specify host/port to connect to with e.g. -d
rtl_tcp:127.0.0.1:1234
Gain option
For RTL-SDR: gain in dB ("0" is auto).
For SoapySDR: gain in dB for automatic distribution
("" is auto), or string of gain elements.
E.g. "LNA=20,TIA=8,PGA=2" for LimeSDR.
Flex decoder specUse -X <spec> to add a flexible general purpose decoder.<spec> is "key=value[,key=value...]" Common keys are: name=<name> (or: n=<name>)
modulation=<modulation> (or:
m=<modulation>)
short=<short> (or: s=<short>)
long=<long> (or: l=<long>)
sync=<sync> (or: y=<sync>)
reset=<reset> (or: r=<reset>)
gap=<gap> (or: g=<gap>)
tolerance=<tolerance> (or:
t=<tolerance>)
priority=<n> : run decoder only as fallback
where: <name> can be any descriptive name tag you need in the output
<modulation> is one of:
OOK_MC_ZEROBIT : Manchester Code with fixed leading zero
bit
OOK_PCM : Pulse Code Modulation (RZ or NRZ)
OOK_PPM : Pulse Position Modulation
OOK_PWM : Pulse Width Modulation
OOK_DMC : Differential Manchester Code
OOK_PIWM_RAW : Raw Pulse Interval and Width
Modulation
OOK_PIWM_DC : Differential Pulse Interval and Width
Modulation
OOK_MC_OSV1 : Manchester Code for OSv1 devices
FSK_PCM : FSK Pulse Code Modulation
FSK_PWM : FSK Pulse Width Modulation
FSK_MC_ZEROBIT : Manchester Code with fixed leading zero
bit
<short>, <long>, <sync> are nominal modulation timings in us,
<reset>, <gap>, <tolerance> are maximum modulation timings
in us: PCM short: Nominal width of pulse [us]
long: Nominal width of bit period [us] PPM short: Nominal width of '0' gap [us]
long: Nominal width of '1' gap [us] PWM short: Nominal width of '1' pulse [us]
long: Nominal width of '0' pulse [us]
sync: Nominal width of sync pulse [us] (optional) common gap: Maximum gap size
before new row of bits [us]
reset: Maximum gap size before End Of Message [us]
tolerance: Maximum pulse deviation [us] (optional). Available options are:
bits=<n> : only match if at least one row has
<n> bits
rows=<n> : only match if there are <n>
rows
repeats=<n> : only match if some row is repeated
<n> times
use opt>=n to match at least <n> and opt<=n
to match at most <n>
invert : invert all bits
reflect : reflect each byte (MSB first to MSB last)
match=<bits> : only match if the <bits> are
found
preamble=<bits> : match and align at the
<bits> preamble
<bits> is a row spec of {<bit
count>}<bits as hex number>
unique : suppress duplicate row output
countonly : suppress detailed row output
E.g. -X "n=doorbell,m=OOK_PWM,s=400,l=800,r=7000,g=1000,match={24}0xa9878c,repeats>=3" Output format option
Without this option the default is KV output. Use
"-F null" to remove the default.
Append output to file with :<filename> (e.g. -F
csv:log.csv), defaults to stdout.
Specify MQTT server with e.g. -F
mqtt://localhost:1883
Add MQTT options with e.g. -F
"mqtt://host:1883,opt=arg"
MQTT options are: user=foo, pass=bar, retain[=0|1],
qos=N, <format>[=topic]
Supported MQTT formats: (default is all)
events: posts JSON event data
states: posts JSON state data
devices: posts device and sensor info in nested topics
The topic string will expand keys like [/model]
E.g. -F
"mqtt://localhost:1883,user=USERNAME,pass=PASSWORD,retain=0,devices=rtl_433[/id]"
With MQTT each rtl_433 instance needs a distinct driver
selection. The MQTT Client-ID is computed from the driver string.
If you use multiple RTL-SDR, perhaps set a serial and
select by that (helps not to get the wrong antenna).
Specify InfluxDB 2.0 server with e.g. -F
"influx://localhost:9999/api/v2/write?org=<org>&bucket=<bucket>,token=<authtoken>"
Specify InfluxDB 1.x server with e.g. -F
"influx://localhost:8086/write?db=<db>&p=<password>&u=<user>"
Additional parameter -M time:unix:usec:utc for correct timestamps in InfluxDB
recommended
Specify host/port for syslog with e.g. -F
syslog:127.0.0.1:1514
Meta information option
Use "time" to add current date and time meta
data (preset for live inputs).
Use "time:rel" to add sample position meta data
(preset for read-file and stdin).
Use "time:unix" to show the seconds since unix
epoch as time meta data.
Use "time:iso" to show the time with ISO-8601
format (YYYY-MM-DD"T"hh:mm:ss).
Use "time:off" to remove time meta data.
Use "time:usec" to add microseconds to date
time meta data.
Use "time:tz" to output time with timezone
offset.
Use "time:utc" to output time in UTC.
(this may also be accomplished by invocation with TZ
environment variable set).
"usec" and "utc" can be combined
with other options, eg. "time:unix:utc:usec".
Use "protocol" / "noprotocol" to
output the decoder protocol number meta data.
Use "level" to add Modulation, Frequency, RSSI,
SNR, and Noise meta data.
Use "noise[:secs]" to report estimated noise
level at intervals (default: 10 seconds).
Use
"stats[:[<level>][:<interval>]]" to report statistics
(default: 600 seconds).
level 0: no report, 1: report successful devices, 2: report active devices, 3:
report all
Use "bits" to add bit representation to code
outputs (for debug).
Read file option
Parameters are detected from the full path, file name,
and extension.
A center frequency is detected as (fractional) number
suffixed with 'M',
'Hz', 'kHz', 'MHz', or 'GHz'.
A sample rate is detected as (fractional) number suffixed
with 'k',
'sps', 'ksps', 'Msps', or 'Gsps'.
File content and format are detected as parameters,
possible options are:
'cu8', 'cs16', 'cf32' ('IQ' implied), and 'am.s16'.
Parameters must be separated by non-alphanumeric chars
and are case-insensitive.
Overrides can be prefixed, separated by colon (':')
E.g. default detection by extension:
path/filename.am.s16
forced overrides: am:s16:path/filename.ext
Reading from pipes also support format options.
E.g reading complex 32-bit float: CU32:-
Write file option
Parameters are detected from the full path, file name,
and extension.
File content and format are detected as parameters,
possible options are:
'cu8', 'cs8', 'cs16', 'cf32' ('IQ' implied),
'am.s16', 'am.f32', 'fm.s16', 'fm.f32',
'i.f32', 'q.f32', 'logic.u8', 'ook', and 'vcd'.
Parameters must be separated by non-alphanumeric chars
and are case-insensitive.
Overrides can be prefixed, separated by colon (':')
E.g. default detection by extension:
path/filename.am.s16
forced overrides: am:s16:path/filename.ext
RESOURCESProject web site: <https://github.com/merbanan/rtl_433>COPYINGCopyright © 2012-2019 Benjamin Larsson, Christian W. Zuckschwerdt, and many contributors.Free use of this software is granted under the terms of the GPL-2+ License.
Visit the GSP FreeBSD Man Page Interface. |