SDR++ is a general purpose receiver program compatible with almost any software defined radio including the RTL-SDR. Recent developments have seen the author release a beta of "SDR++ server" which is a program that allows users to access SDRs remotely, by connecting to them over a network connection. This is similar to existing server applications like rtl_tcp and Spyserver, however like SDR++ itself, SDR++ Server is compatible with almost any SDR and that is a major drawcard.
Today I'm happy to release the beta version of SDR++ Server! It works with all devices SDR++ supports. Since it's beta it's still missing compression and VFO+FFT mode.
As a demo, here is a LimeSDR being streamed over WiFi at 16MS/s
Get it here: https://t.co/DqvgHMZmm9#SDR#SDRPPpic.twitter.com/116JftzEOy
The server is still in development and the author notes that he is still working on adding new features like lossless compression techniques in order to reduce network bandwidth requirements. However, it has already seen to be running well in tests with a remote server positioned half way around the world, even without compression enabled.
Started working on adding lossless compression to SDR++ server. How well it works depends on what signals you're looking at and what SDR you're using. What I'm seeing with general purpose compression tables is 1.1 to 2.5 times compression (usually 1.5+). Custom tables should help pic.twitter.com/a1WRvxmdDs
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.