Over on YouTube user mostlychris has uploaded a helpful tutorial video show how to use an RTL-SDR to collect data coming from a personal weather station and graph it on the home automation software known as Home Assistant.
To do this he uses an RTL-SDR on a Raspberry Pi running rtl_433 which receives and decodes the weather station data. He then configures rtl_433 to output data in the MQTT protocol which Home Assistant can receive and understand. Finally he configures Home Assistant to plot the received data. The tutorial is comprehensive covering every step required from start to finish.
Take charge of your own Ambient weather data with Raspberry Pi, MQTT, and Home Assistant.
Nimrod makes his own sourdough and wanted a way to track the temperature and humidity of the bread making environment. To do this he's set up a system involving rtl_433 on a Raspberry Pi which live streams all of his home temperature/humidity sensor data into InfluxDB. The program rtl_433 is software for the RTL-SDR that allows users to receive data from many different brands of home weather/temperature sensors, as well as many other wireless ISM band devices. InfluxDB is a type of database that specializes in storing and displaying time series data from sources like sensors.
The chain of data starts with rtl_433 which collects the temperature sensor data via an RTL-SDR. The output of rtl_433 is sent to Mosquitto, an MQTT messaging protocol server. A program called Telegraf then subscribes to the MQTT queue, and parses and transmits the metrics to InfluxDB. InfluxDB finally records the data, and provides graphical plots.
Nimrod's post is a full tutorial showing how to download and set up each of the programs used in the system, and how to view the data collected with InfluxDBs graphing system.
In terms of software he's also added OP25 and bladeRF support. Other programs pre-installed include rtl_433, Universal Radio Hacker, GNU Radio, Aircrack-ng, GQRX, Kalibrate, hackrf, wireshare, gr-gsm, rtl-sdr, HackRF, IMSI-catcher, Zenmap, inspectrum, qspectrumanalyzer, LTE-Cell-Scanner, CubicSDR, Limesuite, ShinySDR, SDRAngel, SDRTrunk, Kismet, BladeRF.
His DragonOS YouTube tutorial channel is also growing fast, with several tutorials showing you how to use DragonOS to perform tasks like listen to trunked mobile radios, use QSpectrumAnalyzer with a HackRF, receive NOAA APT weather satellite images, retrieve cellular network information via a rooted Samsung Galaxy S5, create a ShinySDR server with rtl_433 and how to capture and replay with a HackRF.
To keep them away from humid air Scott uses "PrintDry" plastic vacuum canisters. Unfortunately he found that the vacuum sealing system wasn't perfect, and that some canisters would lose their vacuum after a few days. In order to ensure that the canisters were properly sealed he decided to add some active monitoring with pressure and humidity sensors and a wireless transmitter.
His monitoring system consists of a cheap 315 MHz ISM band transmitter, ATTINY85 microcontroller and pressure + humidity sensor. To receive and monitor the data he uses an RTL-SDR that runs the rtl_433 software, which is a program that is capable of decoding many different types of wireless ISM band sensors.
DIY Wireless Temp/Humid/Pressure sensors for measuring vacuum sealed 3d printed filament containers
Over on his YouTube channel Tech Minds has recently uploaded a video that demonstrates and shows how to use the rtl_433 software with an RTL-SDR to decode 433 MHz ISM band low power devices. Typically these devices include things like home wireless temperature and weather sensors, tire pressure sensors, remote controls, and other various sensors.
In the video he sets up an RTL-SDR and magmount antenna by his window and is able to receive data from several of his neighbors weather stations, and some car key remotes. He shows how to run the software on both Linux and on Windows.
How To Decode 433Mhz Low Power Devices Using RTL433 And A RTL-SDR Receiver
Rtl_433 is an RTL-SDR compatible command line based tool for monitoring various 433 MHz ISM band devices, such as temperature sensors, weather monitors, TPMS, energy meters etc. A full list of support devices can be found on the rtl_433 Github.
Over on his blog “raspberrypiandstuff” mentions that he’s been using rtl_433 and an RTL-SDR on a remote headless Raspberry Pi to receive and monitor temperature and humidity from his weather station. From the data he’s able to produce some nice graphs that show changes over time.
However, one problem that he ran into was that the USB controller on the Raspberry Pi would sometimes hang. The only solution he’d previously found to fixing it was to physically disconnect and then reconnect the RTL-SDR. But now “raspberrypiandstuff” writes that he’s found a new solution which is to use a small C-program called usbreset.c. Combined with a bash script that detects which device the RTL-SDR is on the bus, this tool helps to automatically reset the USB on the Pi if it fails to keep the RTL-SDR logging 24/7 without physical intervention.
This may be a solution to look into if you’re experiencing similar issues with 24/7 monitoring on the Raspberry Pi. If you’re also interesting in rtl_433 monitoring, “raspberrypiandstuff” also has a post on creating a simple GUI for rtl_433.
To show his analysis methods Yashin used an ASK modulated FS1000A 433 MHz transmitter connected to an Arduino Teensy microcontroller. He first uses GQRX and baudline together with an RTL-SDR in Kali Linux to test that the transmitter is working and to visually inspect the RF spectrum. Then he shows how to use GNU Radio to receive the 433 MHz transmitter and how to record an audio file. The final tool he shows how to use is rtl_433 which will automatically decode the data into binary strings using the analysis option.
Gough shows how he was able to receive and decode the data from an Aldi weather station device and a wireless doorbell transmitter. He also was able to modify the rtl_433 code slightly to produce a CSV log file of the temperatures that were received and decoded from the weather station.