SDR Banner

OpenWebRX


Listen to On-Line Linux SDR's

CQ DC

What is OpenWebRX?

 

OpenWebRX is relatively new software application specifically for listening to On-Line SDRs using a web browser. It is a web based server and interface for remotely accessing RTL-SDRs and SDRPlay's. The software was written by Andr�s Retzler, an open source enthusiast, engineer, and radio amateur. He wrote OpenWebRX for his Bachelor's degree in electronic engineering for his thesis. Andras published his thesis for all to read. You can download it here. It's very good!  

 

Here are some selected YouTube Videos I recommend that you watch on OpenWebRX.

 

 

 

The first time I saw this application, I was really impressed. So I contacted Andras to get me started using my RTL-SDR dongle and my NooElec Ham-It-Up converter to serve 40 meters (or any band I configure) over the internet using a RaspBerry Pi 3. I was able to come up with the following webpage by following Andras's instructions:

 

Propagation

Want to listen to my RTL-SDR right now? Click the image above to give it a try.

 

NOTE: If the radio sounds like it is not receiving anything, it is highly likely I turned the antenna off so I can use the antenna when I'm using my Kenwood TS-570D or Flex-3000 to work DX or for domestic QSO's. Check back at a later time to use the tuner.

 

Hopefully, you clicked on the image above and listened to my RTL-SDR. But there are so many other SDR's available from SDR.hu. There are well over 90 available SDR's!

 

Are you interested in sharing your SDR receiver so that others can listen in from all over the world? You can go to OpenWebRX to get the instructions. I also listed them below. They are from Andras's blog page. This is what I followed to set up my server on my Raspberry Pi. Linux commands are in Yellow.

 

#install dependencies

sudo apt-get install build-essential git libfftw3-dev cmake libusb-1.0-0-dev nmap

#nmap itself is not used by OpenWebRX at all, but we need to install it because the ncat tool is packaged with it.

#ncat is a netcat alternative which is used by OpenWebRX for internally distributing I/Q data,

#  and also solves the incompatibility problems among netcat versions.

#Fetch and build rtl-sdr, skip if already done (subdirectories will be created under the current directory).

git clone git://git.osmocom.org/rtl-sdr.git

cd rtl-sdr/

mkdir build

cd build

cmake ../ -DINSTALL_UDEV_RULES=ON

make

sudo make install

sudo ldconfig

cd ../..

#Disable the DVB-T driver, which would prevent the rtl_sdr tool from accessing the stick

#(if you want to use it for DVB-T reception later, you should undo this change):

sudo bash -c 'echo -e "\n# for RTL-SDR:\nblacklist dvb_usb_rtl28xxu\n" >> /etc/modprobe.d/blacklist.conf'

sudo rmmod dvb_usb_rtl28xxu # disable that kernel module for the current session

#Download OpenWebRX and libcsdr (subdirectories will be created under the current directory).

git clone https://github.com/simonyiszk/openwebrx.git

git clone https://github.com/simonyiszk/csdr.git

#Compile libcsdr (which is a dependency of OpenWebRX)

cd csdr

make

sudo make install

#Edit OpenWebRX config or leave defaults

nano ../openwebrx/config_webrx.py

#Run OpenWebRX

cd ../openwebrx

./openwebrx.py

 

There is a configuration file config_webrx.py that needs to be updated so that you can craft the page to your requirements. Itr took me a while to figure things out but once I did, everthing turned out very nice. Here are excerpts from my config_webrx.py file that i hope you find helpful if you set up your own server.

 

Web Server and Web Gui Configuration:

 

# NOTE: you can find additional information about configuring OpenWebRX in the Wiki:
# https://github.com/simonyiszk/openwebrx/wiki

# ==== Server settings ====
web_port=8073
server_hostname="n8mdp.dyndns.org" # If this contains an incorrect value, the web UI may freeze on load (it can't open websocket)
max_clients=4

# ==== Web GUI configuration ====
receiver_name="N8MDP"
receiver_location="Cleveland, OH, US"
receiver_qra="EN91jj"
receiver_asl=1207
receiver_ant="G5RV"
receiver_device="RTL-SDR + Ham It Up"
receiver_admin="ars_n8mdp@windstream.net"
receiver_gps=(41.375169,81.245878)
photo_height=350
photo_title=""
photo_desc="""
<br/><br/>
Receiver is operated by: <a href="mailto:%[RX_ADMIN]">%[RX_ADMIN]</a><br/>
Device: %[RX_DEVICE]<br />
Antenna: %[RX_ANT]<br />
Website: <a href="http://n8mdp.dyndns.org:8073" target="_blank">http://n8mdp.dyndns.org:8073</a>
"""

Because I'm using the NooElec Ham-It-Up upconverter and I wanted to display the frequency at 80 meters, I had to configure a different center frequency and what center frequency would actually be displayed. Why is this. The Ham-it-Up uses a 125MHz LO mixer to upconvert to a frequency that the RTL-SDR dongle receives on. The RTL-SDT frequency range is 25MHz-1750MHz. In order to get the 80 meter 3 MHz signal received, the upconverter mixes the 3 MHz signal with the 125 MHz LO such that the 80 meter signal is now received up at 128 MHz. In order for me to serve the SSB portion of the 80 meter band (3.75 - 4.00 MHz), I set the center frequency to 128,880,000 Hz. That allows me to cover the majority of the SSB portion of the band.

 

For the 3.75 - 4.00 MHz to show up on the spectrum in OpenWebRX, I set the 'show center frequency' to 3,880,000 Hz. This allows the software to easily translate the signals received mixed up by 125 Mhz to be shown from 3.75 - 4.00 MHz. This is where Andras did a really great job to handle many different types of SDRs. Show below are my DSP/RX settings:

 

# ==== DSP/RX settings ====
dsp_plugin="csdr"
fft_fps=9
fft_size=4096
fft_voverlap_factor=0.3 #If it is above 0, multiple FFTs will be used for creating a line on the diagram.
samp_rate = 250000
center_freq = 128880000
shown_center_freq = 3880000
rf_gain = 5 #in dB. For an RTL-SDR, rf_gain=0 will set the tuner to auto gain mode, else it will be in manual gain mode.
ppm = 0

 

The end result is the webpage that serves my SDR for the 80 meter band that I chose.

 

Good listening!


© 2017, Jonathan Tucker N8MDP. All Rights Reserved. Powered by cPanel.