Install rtl_433 for a SDR-RTL Dongle on a Raspberry Pi
This is supporting material for the following videos:
Install RTL_SDR Support
cd ~
sudo apt-get install git git-core cmake libusb-1.0-0-dev build-essential
git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr/ && mkdir build && cd build/
cmake ../ -DINSTALL_UDEV_RULES=ON
sudo make
sudo make install
sudo ldconfig
cd ~
sudo cp ./rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/
sudo reboot
# create file no-rtl.conf
sudo nano /etc/modprobe.d/no-rtl.conf
# add these three lines
blacklist dvb_usb_rtl28xxu
blacklist rtl2832
blacklist rtl2830
sudo reboot
lsusb
rtl_test -t
Build and install rtl_433
sudo apt-get install libtool libusb-1.0.0-dev librtlsdr-dev rtl-sdr doxygen
git clone https://github.com/merbanan/rtl_433.git
cd rtl_433/ && mkdir build && cd build && cmake ../ && make
sudo make install
Test installation:
rtl_433
The source for this tutorial is: https://sdr-setup-notes.readthedocs.io/en/latest/dev_rtlsdr.html#rtl-433-tool-setup
Install supervisord
sudo apt-get install -y supervisor
sudo nano /etc/supervisor/conf.d/rtl_433.conf
Enter into file:
[program:rtl_433]
command=/home/pi/rtl_433/build/src/rtl_433 -R 123 -F “mqtt://localhost:1883,,user=”admin”,pass=”admin”,events=BEER”user=pi
autostart=yes
autorestart=yes
startretries=100
stderr_logfile=/var/log/rtl_433/rtl_433.err.log
stdout_logfile=/var/log/rtl_433/rtl_433.log
sudo mkdir /var/log/rtl_433
sudo service supervisor start
sudo service supervisor status
If you changed the configuration file:
sudo supervisorctl reread
You are done!
visitor
22. July 2019 @ 20:18
Thanks, some instructions are confusing though:
build-essential – more parameters needed?
# Datei no-rto.conf anlegen – german? + typo (rto = rtl)
# ergänzen um diese drei Zeilen – german?
rtl-sdr doxygen – typo(?) (rtl-sdr = rtl_sdr)
program:rtl_433] – not sure but should this be [rtl_433] instead of rtl_433] ?
admin
29. July 2019 @ 13:31
Thank you for the corrections. They should be in by now.
Rick Tracer
14. November 2019 @ 17:37
Correction still needed of rtl-sdr doxygen to rtl_sdr doxygen
Juergen Schubert
1. September 2019 @ 10:10
Hey Andreas, great content and great help. Anyhow I tried your approach and had issues with the rtl_433 command to mqtt so I modified your’s a little while I created a shell file with the RTL_433 command which I entered into the rtl_433.conf. So the solution is working now.
sudo nano /home/pi/my-scripts/rtl433.sh
ENTER INTO THE FILE:
#!/bin/bash
/usr/local/bin/rtl_433 -F json -R 3 -R 32 -R 86 -R 109 | /usr/bin/mosquitto_pub -h 192.168.1.44 -u -P -i RTL_433 -l -t RTL_433/JSON
I also modified your
sudo nano /etc/supervisor/conf.d/rtl_433.conf
Enter into file:
[program:rtl_433]
command=/home/pi/my-scripts/rtl433.sh
autostart=yes
autorestart=yes
startretries=100
stderr_logfile=/var/log/rtl_433/rtl_433.err.log
stdout_logfile=/var/log/rtl_433/rtl_433.log
edy
9. November 2019 @ 2:07
I have been able to get a message from the 433 mhz temperature sensor on the ltx terminal, but rtl-power on the red node cannot receive the message, please help
admin
5. December 2019 @ 14:03
Unfortunately, I cannot do remote debugging. I do not have the time for that.
ercan
7. January 2020 @ 6:10
Hi Andreas;
works fine on raspberry pi for 2 or 3 minutes but, after get an error.
cb transfer status: 1, canceling…
LIBUSB_ERROR_NOT_FOUND: Entity not found!
Check your RTL-SDR dongle, USB cables, and power supply.
WARNING: async read failed (-5).
Library error -5, exiting…
Thanks.
admin
9. January 2020 @ 16:53
Maybe you log an issue on GitHub. I do not know the program in detail, I am just a user.
SomeoneOnInternet
12. June 2020 @ 21:28
Hi Andreas,
I dusted off my Raspberry Pi lately, and stumbled across your YouTube channel. I loved it.
You are full of useful tips, and I did find myself going from “where do I start?” to “I can’t believe I did that and it all works”.
From my point of view, you represent B-U-I-L-D “Better Understanding Involves Learning and Doing”.
Thank you so much. Good luck with the QO-100
TheGuyWithTheGermanAccent
26. July 2020 @ 13:28
Hi,
this was very helpful! Thank you a lot 🙂
Dave
15. August 2020 @ 13:51
Shut down switch question
I have a real time clock that uses pin 3 , what is the best way to get around this. I am a ham radio operator, and using KM4ACK build a pi 3 script as seen on YouTube.
Thank you,
Dave, K4UZM
admin
4. September 2020 @ 13:37
I would ask KM4ACK to add such a feature to his build. I assume not only you have this problem. I saw python programs which used other pins than GPIO3
IT guy
16. November 2020 @ 1:52
Surely this is passing the Mqtt credentials unencrypted?
admin
16. November 2020 @ 12:21
I assume you are right. I do not care because it is behind my firewall.
Charles Darwall
8. January 2021 @ 2:41
I’m a Swiss-born adult male now living in Chicago. I love your accent. Love the Gruzi! Love the projects.
danke vielmal!
PS where is the download for the beer
Charles (Karl)
cALMyAbADsELFdOWN
28. June 2021 @ 17:36
I have set up the weather station and added to homeassistant, My question is about the wind speed/ gust. The figures I would assume are in MPH or possibly KMH how do I find out which. On the RTL_433 it states the figures are in M/s but I don’t this is correct as 9M/s is really windy and when this speed was reported there was hardly a breeze.
Top work BTW.
admin
30. June 2021 @ 8:53
AFAIK my values come in 10 x km/h. The only way you can check is to use a wind speed meter in parallel and compare the values.
Tony Fitzsimmons
25. January 2022 @ 2:24
Hi Andreas, I have now spent many hours on this, and generally it works great except I am not able to get supervisord using the instructions you have provided. If I use the information provided but supstitute the values to use my MQTT broker, then it seems that the command cant find the “rtl_433.conf” on the other hand if I use the command that can be found on https://sdr-setup-notes.readthedocs.io/en/latest/dev_rtlsdr.html i.e /home/pi/rtl_433/build/src/rtl_433 -F json | mosquitto_pub -h -p 1883 -u -P -t “rtl_433/message” -l then supervisord loads ok but it doesn’t actually publish messages. If I issue the same command from the terminal prompt it works perfectly.
Any ideas?
Sean
5. February 2022 @ 18:26
* if you just want the actual question and not the background.
Hi, I have been following you on YouTube and have setup Your docker etc… I’m working on a project that you or the community might be interested in or have a quick solution to my question. I have several SDR dongles, I’m new to radio beyond Basic LoRa and WiFi, I have read seen all your documentation etc. The diy project I am trying to accomplish uses ESP32, LoRa ,SDR. I’m not a coder I’m hobby “programmer” ( I can read the code cut it out and paste it with other things I need / modify code / drivers ) skip to
The only project I have seen similar uses raspberry pi. But I think esp32 can do this for me ( cost, size, remote deployment).
The project:
Basically SDR relay/ bridge with LoRa radio
Components I have for this:
Esp32 heltec LoRa wireless stick lite x1
Esp32 TTGO T-PCIE x1 (16 mb )
Esp32 dev boards random assortment ( 4x )
RF95 lora chips x4
LoRa sx1302 USB version (seeed studio wm1302)
USB-A to micro USB adapter x3 ( tons of cables I can make diy ones also)
Noelec SDR mini x2
RTL sdr.com sdr x1
Raspberry pi 4 x1 ( with sensorsiot containers)
Small and large solar cells ( 5v 30mA x4 ,12/24v 5.7A x2)
Random sensors and misc motor controllers etc..
drone that I am debugging broken from Ali express works but doesn’t take off more then 6 inches then “crashes” ( debuging that )
So Basically I am trying to make a mesh network
With esp32 on 2.4ghz that the drone can use to extend its range ( when fixed or new one bought / made ) will also have LoRa radios on esp32 and drone ( drone made to run autonomous little input control needed) video will be minimal just to see / camera vision etc ) as well as the SDR ( not for navigation ) the drone is just for “extending my range / remote deployment / mobile sensor unit ) once it gets to its location it will turn off motor control etc and go into remote sensor mode.
All that I can figure out on my own what I don’t know or have seen is using ESP32 ( maybe with micropython ) and SDR together ( I have seen diy sdr internet radios with esp32) but not a pure bridge , using the ESP32 as a “relay / bridge “ for controlling / streaming RTL-SDR dongle
The idea is to program esp32 with micropython or something else , which allows me to connect the rtl-sdr to the USB port of the ESP32( diy cable to external power I don’t think esp32 can power external devices through usb ) usb+ – normal connection splice out the power and ground to power source. From my understanding the SDR dongle connects through the RTL chip which controls the radio Raffael , so a USB to WiFi bridge seems to be simple enough. ( not enough memory on esp32 for entire SDR suite , maybe with SD card, or some sort of tftp / file web “server” just to pass the settings through something like a “socket” in micropython . From the raspi ( acting like the control unit ,hub or server.
*So my actual question heh
Does anyone know or have a resource for using esp32 to act like a 2.4ghz to usb socket bridge, which I can use to stream the data from rtl-sdr to raspi over esp32 mesh network/ bridge. Where I can then use the raspi and it’s network drive (5 tb) to use / control the rtl-sdr remotely and stream the raw data / collect the data from the raspi hub server?
Stefan
23. July 2023 @ 16:35
You don’t need any of these steps… I got it working perfectly fine using just the steps listed here: https://github.com/langestefan/haweatherstation/tree/main