
ISMバンド(およびその他の周波数)上のデバイスからの無線送信をデコードするプログラム。
rtl_433(名前とは裏腹に)は汎用データ受信機であり、主に 433.92 MHz、868 MHz(SRD)、315 MHz、345 MHz、915 MHz の ISM バンドを対象としています。
公式のソースコードは https://github.com/merbanan/rtl_433/ リポジトリにあります。
rtl_433 で動作するソフトウェアの一覧については、wiki の rtl_433 で動作するソフトウェアの一覧 も参照してください。 より詳細なドキュメントや関連プロジェクト、特に rtl_433 の開発を支援するものについては、 https://triq.org/ のサイトを参照してください。
これは RTL-SDR および/または SoapySDR で動作します。 積極的にテストされサポートされているのは、Realtek RTL2832 ベースの DVB ドングル(RTL-SDR を使用)および LimeSDR(LimeSDR USB と LimeSDR mini のエンジニアリングサンプルは MyriadRf よりご提供いただきました)、PlutoSDR、HackRF One(SoapySDR ドライバを使用)、さらに SoapyRemote です。

rtl_433 は移植性の高い C(C99 標準)で書かれており、Linux(組み込みを含む)、FreeBSD、MacOS、Windows システムでコンパイルできることが知られています。 古いコンパイラやツールチェーンへの対応は重要な目標です。 リソース消費が少なく依存関係もごくわずかなため、rtl_433 は組み込みハードウェア上で動作させることができます。 amd64、arm64、armhf、i386、ppc64el、riscv64、s390x など、一般的な 32 ビットおよび 64 ビットの CPU アーキテクチャのほとんどが十分にサポートされています。
BUILDING.md を参照してください。
Linux(Debian、Ubuntu): sudo apt install rtl-433。その他のディストリビューションについては repology または pkgs.org を参照してください。
FreeBSD: pkg install rtl-433。
MacOS: brew install rtl_433。
rtl_433 を含む Docker イメージは hertzg の GitHub ページ で入手できます。
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 <path>] Read config options from a file
= Tuner options =
[-d <RTL-SDR USB device index> | :<RTL-SDR USB device serial> | <SoapySDR device query> | rtl_tcp | help]
[-g <gain> | help] (default: auto)
[-t <settings>] 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 <frequency>] Receive frequency(s) (default: 433920000 Hz)
[-H <seconds>] Hop interval for polling of multiple frequencies (default: 600 seconds)
[-p <ppm_error>] Correct rtl-sdr tuner frequency offset error (default: 0)
[-s <sample rate>] Set sample rate (default: 250000 Hz)
[-D quit | restart | pause | manual] Input device run mode options (default: quit).
= Demodulator options =
[-R <device> | 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 <spec> | help] Add a general purpose decoder (prepend -R 0 to disable all decoders)
[-Y auto | classic | minmax] FSK pulse detector mode.
[-Y level=<dB level>] Manual detection level used to determine pulses (-1.0 to -30.0) (0=auto).
[-Y minlevel=<dB level>] Manual minimum detection level used to determine pulses (-1.0 to -99.0).
[-Y minsnr=<dB level>] 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=<value>] 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 <code>] 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 <filename> | help] Read data from input file instead of a receiver
[-w <filename> | help] Save data stream to output file (a '-' dumps samples to stdout)
[-W <filename> | 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 :<filename> (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[:<options>] | protocol | level | noise[:<secs>] | stats | bits | help] Add various meta data to each output.
[-K FILE | PATH | <tag> | <key>=<tag>] Add an expanded token or fixed tag to every output line.
[-C native | si | customary] Convert units in decoded output.
[-n <value>] Specify number of samples to take (each sample is an I/Q pair)
[-T <seconds>] 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