Receiving 433 MHz data using a computer (USB, Serial)

I'm looking for a simple and efficient way to receive data from 433 Mhz devices like temperature sensors on a PC/Mini-server running on Linux.

I've already tried a USB RTL2832U device using rtl_433. This works fine, but looking at the power consumption involved, it's not really efficient. Especially considering that simple weather stations do the same thing running on batteries for quite a long time.
At least this way I can identify the sensors and their settings (house code, channel).

But for "production" use, I'm looking for a more simplistic approach. The basic idea is to read data from different - already used - sensors and make it available for example on a internal web page or using MQTT. Since this stuff already runs on the server it makes sense to also use it to receive the data.

I guess the basic approach would be some simple device/chip/module that does the receiving part. But I'm not sure which one to use. Also I'm not sure if it makes more sense to use a µController in between or directly connect it to the computer.

What I found so far, is this:

  • HC-12, SI4463, Wireless Serial Port Module
  • CC1101 Wireless RF Transceiver Board
  • RXB6 433Mhz Superheterodyne Wireless Receiver Module

onuno:
But for "production" use, I'm looking for a more simplistic approach. The basic idea is to read data from different - already used - sensors and make it available for example on a internal web page or using MQTT.

Receiver types tend to need to be matched to transmitter types.

HC-12, SI4463, Wireless Serial Port Module
CC1101 Wireless RF Transceiver Board
RXB6 433Mhz Superheterodyne Wireless Receiver Module

So these receivers might not pick up any data from your transmitters.

You need to provide details of all the transmitting devices and the modulation they use on 433MHz,
if they are all NBFM then a simple RFM12 module might sufficient, if some are spread-spectrum then
it gets much more complicated.

If you want to listen for multiple sensors using different modulations or on different channels you will
need a receivier for each, or else go the fully general route with full-blown SDR.

And just in case you are assuming that '433Mhz data' is some sort of standard, its not.

433Mhz is just a radiop frequency that a range of RF modules, with all sorts of different modulations and data formats happen to use.

Thank you for your replies!

You're right, I should have been more specific.

The most important sensor I want to read data from is called "Nexus Temperature & Humidity Sensor" by rtl_433:

$ rtl_433 -R 19
Registering protocol [19] "Nexus Temperature & Humidity Sensor"
Registered 1 out of 103 device decoding protocols
Found 1 device(s)

trying device  0:  Realtek, RTL2838UHIDIR, SN: 00000001
Found Rafael Micro R820T tuner
Using device 0: Generic RTL2832U OEM
Exact sample rate is: 250000.000414 Hz
[R82XX] PLL not locked!
Sample rate set to 250000.
Bit detection level set to 0 (Auto).
Tuner gain set to Auto.
Reading samples in async mode...
Tuned to 433.920MHz.
2018-08-21 11:04:44 :   Nexus Temperature/Humidity
        House Code:      119
        Battery:         OK
        Channel:         1
        Temperature:     23.70 C
        Humidity:        57 %

The source code shows how the protocol is implemented:

RXB6 433Mhz Superheterodyne Wireless Receiver Module

will work fine to decode that signal.

Thank you! :slight_smile: