Developer @dernasherbrezon has recently released a new program called "sdr-server" which is a streaming server. Unlike the more basic rtl_tcp server, sdr-server has some more advanced features like being able to serve multiple clients a slice of the bandwidth simultaneously. When compared to SpyServer, another advanced RTL-SDR compatible streaming server, sdr-server has similar features, however, sdr-server is open source. Some of the key features include:
Share available RF bandwidth between several independent clients:
Total bandwidth can be 2016000 samples/sec at 436,600,000 hz
One client might request 48000 samples/sec at 436,700,000 hz
Another client might request 96000 samples/sec at 435,000,000 hz
Several clients can access the same band simultaneously
Output saved onto disk or streamed back via TCP socket
Output can be gzipped (by default = true)
Output will be decimated to the requested bandwidth
Clients can request overlapping RF spectrum
Rtl-sdr starts only after first client connects (i.e. saves solar power &etc). Stops only when the last client disconnects
Over on his YouTube channel Frugal Radio has released the second episode in his 2020 SDR Guide series. In this video, Frugal Radio shows how to connect to remote SDRs such as KiwiSDR OpenWebRX, WebSDR, SDR-Console v3 Servers, and SDR# SpyServers. He shows how to use these remote SDRs to monitor long range aviation channels, amateur radio operators, and VHF Public Safety channels in the US. He also demonstrates how to decode HFDL signals from aircraft using WebSDR and free software, and verifies the aircraft locations via online tracking sites.
2020 SDR Guide Ep 2 : How to use over 500 remote SDRs free online (webSDR, KiwiSDR & HFDL decode)
Over on YouTube SignalsEverywhere/Harold is back with a new video tutorial that shows users how to set up a SDR# SpyServer with an RTL-SDR dongle. SpyServer is a program included with SDR# that allows you to access your Airspy or RTL-SDR dongle remotely through the internet or local network connection. Thanks to it's compression techniques and that it does most processing on the server side, it requires significantly less network bandwidth compared to a raw IQ server like rtl_tcp.
In the video Harold first shows how to access the SpyServer network in SDR# which consists of many remote SpyServers that have been made accessible to the public for free. He then goes on to explain how you can set up your own SpyServer by simply editing a text config file. He notes that you may need to perform port forwarding on your router if you wish to make the server publicly accessible.
RTL SDR Spyserver Remote SDR Setup Tutorial (on Windows)
Over on YouTube user TheGazLab has uploaded a video that reviews the Airspy HF+, and also shows how to use the HF+ with SDR# and WSJT-X in order to create a FT8 monitor. The Airspy HF+ is high dynamic range HF/VHF receiver designed for DXing.
In the video TheGazLab demonstrates to us the decoding in real time, and explains the CAT control SDR# plugin that he's using. The CAT control plugin when combined with a virtual serial port driver allows the WSJT-X program to automatically tune SDR# to the FT8 frequency selected in WSJT-X.
Later in the video he also discusses the SpyServer network which allows SDR# users to connect to remote public Airspy and RTL-SDR units over the internet. He demonstrates connecting to a public server in the UK, and decoding FT8 via the remote server. The video also shows the new SpyServer interface by @zakhttp which nicely lays out the world SpyServer network on a map, making it easy to choose a desired location to listen to.
Airspy HFPlus, SDR# and WSJT-X with full CAT control decoding FT-8
Over the last few months Lucas Teske (author of the Open Satellite Project) has been working on a piece of software called "SegDSP". The idea appears to create a web GUI based SDR receiver for SpyServer streams which can be used to create a cloud of channel demodulators, essentially segmenting the DSP computation burden over multiple computers.
SpyServer is a SDR server application that is compatible with Airspy products and RTL-SDRs. It allows you to connect to these SDRs remotely over a network or internet connection. The SDR server computer sends the radio IQ data over the network allowing you to perform processing remotely. A major advantage of SpyServer compared to other SDR server applications is that it only sends the raw IQ data for the portion of the spectrum that you're interested in which can save a lot of bandwidth.
One key application that Lucas envisions for SegDSP is using it with cloud clusters of single board computers (SBC) like the Raspberry Pi 3. The philosophy is that there will be specific roles for each SBC machine. For example you might have some SDR machines running SpyServers, some processing machines for demodulating and decoding multiple channels, and a storage machine for recording data. Then you can dynamically spawn / despawn workers when needed (for example only spawning a machine when a LEO satellite with data to decode passes over).
SegDSP development is still in the early stages, and appears to only have the web GUI set up at the moment with a few demodulators. But keep an eye on his Twitter @lucasteske for updates too. Lucas also did a talk at the last CyberSpectrum meetup. His talk can be found at 1:30:00 in the recording.
Over on our forums one user luc4sss has been discussing a method for using RTL-SDR's and perhaps other SDR dongles remotely which does not rely on rtl_tcp, SpyServer or other SDR specific server software. Using an SDR remotely is advantageous because it can allow you to position the SDR closer to the antenna, which results in less signal loss from long runs of lossy coax cable.
Instead of rtl_tcp, luc4sss uses a program called VirtualHere, which is a server that can work with any USB device. It essentially allows you to use USB devices over a network with the remote device acting as if it was plugged directly into your remotely operated PC. The server can run on single board Linux computers like the Raspberry Pi and luc4sss has been using an $8 Orange Pi Zero 256 MB as his server.
With the VirtualHere software and RTL-SDR running on his Orange Pi Zero, he's able to connect to a remote RTL-SDR over his network. He writes that data usage is about 5 - 6 MB/s so a wired Ethernet connection or high quality WiFi connection would be required. In comparison rtl_tcp should use about the same amount of data, but server software with some compression and data saving techniques implemented like SpyServer use much less data and is efficient enough to be used over the internet.
We can see the VirtualHere software being very useful for use with RTL-SDR compatible programs that don't have rtl_tcp support, which is most of them. It should also be useful for other SDRs that don't have streaming server software available.
VirtalHere is not free as a license costs $49. But it does have a 10-day trial period which supports 1 device being shared at a time.
Luc4sss has also uploaded a video on YouTube that shows him running the VirtualHere server and client, and connecting to the remote RTL-SDR with GQRX and dump1090. He also shows the data usage which is about 6 MB/s when running the RTL-SDR at 2.8 MSPS. Operation appears to be problem free and with almost entirely no latency as well.
RTL-SDR over Ethernet with VirtualHere Client/Server
Thanks to the work of Lucas Teske, GQRX is now able to connect to SpyServer servers. SpyServer is the IQ streaming server software solution developed by the Airspy SDR developers. It can support Airspy and RTL-SDR devices, and can be used to access these SDRs remotely over a network connection. It is similar to rtl_tcp, but a lot more efficient in terms of network usage, meaning that it performs well over an internet connection. On a previous post we have a tutorial about setting up a SpyServer with an RTL-SDR.
The code modified by Lucas is the gr-osmosdr module, and Lucas' code can be downloaded from his GitHub at github.com/racerxdl/gr-osmosdr. It doesn't yet appear to have been merged into the official osmocom branch. The gr-osmosdr module is a generic block used to access various SDR hardware, so any software that utilizes it (such as GNU Radio) should be able to connect to a SpyServer connection too.
RTL-SDR dongles and other SDRs are often used on single board computers. These small credit sized computers are powerful enough to run multiple dongles, and run various decoding programs. Currently, the most popular of these small computers is the Raspberry Pi 3.
Just recently the Raspberry Pi 3 B+ was released at the usual US$35 price. It is an iterative upgrade over the now older Raspberry Pi 3 B. The 3B+ has an improved thermal design for the CPU, which allows the frequency to be boosted by 200 MHz. WiFi and Ethernet connectivity has also been improved, both sporting up to 3x faster upload and download speeds.
The 3B+ also implements new Ethernet headers which allows for a cleaner Power over Ethernet (PoE) implementation via a hat. Previous PoE hats required that you connect the Ethernet ports together, whereas the new design does not. PoE allows you to power the Raspberry Pi over an Ethernet cable. The official PoE hat is not released yet, but they expect it to be out soon.
The faster processing speed should allow more processing intensive graphical apps like GQRX to run smoother, whilst the improved WiFi connectivity speeds should improve performance with bandwidth hungry applications like running a remote rtl_tcp server. PoE is also a welcome improvement as it allows you to easily power a remote Raspberry Pi + RTL-SDR combination that is placed in a difficult to access area, such as in an attic close to an antenna. Placing the Pi and RTL-SDR near to the antenna eliminates the need for long runs of lossy coax cable. If the Pi runs rtl_tcp, SpyServer or a similar server, then the RTL-SDR can then be accessed by a networked connected PC anywhere in your house, or even remotely over the internet from anywhere in the world.