Software Defined Radio devices, often abbreviated as SDR, is a radio communication system where components that have been traditionally implemented in hardware (e.g. mixers, filters, amplifiers, modulators/demodulators, detectors, etc.) are instead implemented by means of software on a personal computer.
In short SDR is a programmable radio-receiver which you can connect to your PC. Software on your PC tunes it, and processes/receives/reads the radio-data.
There are numerous cheap USB-dongles which you can buy for approximately €10, and the one I purchased looks like this:
The USB-device identifies itself as follows when inserted into my desktop:[17844333.387774] usb 3-9: New USB device found, idVendor=0bda, idProduct=2838 [17844333.387777] usb 3-9: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [17844333.387778] usb 3-9: Product: RTL2838UHIDIR [17844333.387778] usb 3-9: Manufacturer: Realtek [17844333.387779] usb 3-9: SerialNumber: 00000001
The first use I found for my SDR device, and the reason why I bought it, was for tracking aircraft flying above me.
Getting started was very simple, thanks to the existing software. Getting started involved installing the appropriate dependencies upon my Debian GNU/Linux system:# apt-get install librtlsdr-dev libusb-1.0-0-dev
Once that was done I could clone antirez's repository, and build it:$ git clone https://github.com/antirez/dump1090.git $ cd dump1090 $ make
And run it:$ sudo ./dump1090 --interactive --net
This failed initially as a kernel-module had claimed the device, but removing that was trivial:$ sudo rmmod dvb_usb_rtl28xxu $ sudo ./dump1090 --interactive --net
Once it was running I'd see live updates on the console, every second:Hex Flight Altitude Speed Lat Lon Track Messages Seen . -------------------------------------------------------------------------------- 4601fc 14200 0 0.000 0.000 0 11 1 sec 4601f2 9550 0 0.000 0.000 0 58 0 sec 45ac52 SAS1716 2650 177 60.252 24.770 47 26 1 sec
--netflag was provided I could also point my web-browser at the local HTTP-server, and view aircraft in real-time:
I was later informed, via private email, that
librtlsdr0installs a suitable collection of udev-rules that include my device.
I can confirm that restarting udev, and removing + re-inserting the radio-receiver allows me to run the
dump1090command as my regular-user, without the need for
A lot of cheap hardware uses Radio transmissions at 433Mhz, for example the "home automation" kits that consist of a small remote control that will allow you to turn on/off electrical outlets, and a large number of wireless temperature sensors.
I took advantage of this myself in my Smart Alarm Button-project, because there is a great piece of software which allows decoding a lot of protocols and devices.
You can download the receiver/decoder from the following link:
Once built, following the instructions, you can launch it like so to listen for all known traffic:./rtl_433 -G
Leaving that running for a while I soon started receiving interesting data. For example :2018-02-10 11:53:33 : Schrader : TPMS : 25 ID: 1B747B0 Pressure: 2.500 bar Temperature: 6 C Integrity: CRC
This example is me receiving something called "TPMS", which is Tire-pressure monitoring system - transmitted by local car.