2014-11-29 01:07:10 +01:00
OpenWebRX
2014-11-28 21:55:31 +01:00
=========
2014-11-29 01:07:10 +01:00
OpenWebRX is a multi-user SDR receiver software with a web interface.
2014-11-29 18:47:50 +01:00

2014-11-29 01:07:10 +01:00
It has the following features:
- < a href = "https://github.com/simonyiszk/csdr" > libcsdr</ a > based demodulators (AM/FM/SSB),
2014-11-29 01:10:36 +01:00
- filter passband can be set from GUI,
2014-11-29 01:07:10 +01:00
- waterfall display can be shifted back in time,
2014-11-29 01:10:36 +01:00
- it extensively uses HTML5 features like WebSocket, Web Audio API, and < canvas> .
2014-11-29 01:07:10 +01:00
- it works in Google Chrome, Chromium (above version 37) and Mozilla Firefox (above version 28),
- currently only supports RTL-SDR, but other SDR hardware may be easily added.
2015-08-17 20:32:58 +02:00
**News:**
- My BSc. thesis written on OpenWebRX is < a href = "http://openwebrx.org/bsc-thesis.pdf" > available here.</ a >
- Several bugs were fixed to improve reliability and stability.
- OpenWebRX now supports compression of audio and waterfall stream, so the required network uplink bandwidth has been decreased from 2 Mbit/s to about 200 kbit/s per client! (Measured with the default settings. It is also dependent on `fft_size` .)
2015-08-17 20:53:48 +02:00
- OpenWebRX now uses < a href = "https://github.com/simonyiszk/csdr#sdrjs" > sdr.js</ a > (*libcsdr* compiled to JavaScript) for some client-side DSP tasks.
- Auto-update capability for *sdr.hu* added (currently only *sdr.hu* beta testers can use it).
2015-08-17 20:32:58 +02:00
- License for OpenWebRX is now Affero GPL v3.
2014-11-29 01:07:10 +01:00
## Setup
2014-11-29 18:50:25 +01:00
OpenWebRX currently requires Linux and python 2.7 to run.
2014-11-29 01:07:10 +01:00
First you will need to install the dependencies:
2014-11-29 01:07:47 +01:00
2014-11-29 01:07:10 +01:00
- < a href = "https://github.com/simonyiszk/csdr" > libcsdr</ a >
- < a href = "http://sdr.osmocom.org/trac/wiki/rtl-sdr" > rtl-sdr</ a >
After cloning this repository and connecting an RTL-SDR dongle to your computer, you can run the server:
python openwebrx.py
You can now open the GUI at < a href = "http://localhost:8073" > http://localhost:8073< / a > .
2014-11-29 01:12:17 +01:00
Please note that the server is also listening on the following ports (on localhost only):
2014-11-29 01:07:47 +01:00
2014-11-29 01:07:10 +01:00
- port 8888 for the I/Q source,
- port 4951 for the multi-user I/Q server.
Now the next step is to customize the parameters of your server in `config_webrx.py` .
2014-11-29 01:13:15 +01:00
Actually, if you do something cool with OpenWebRX (or just have a problem), please drop me a mail:
2014-11-29 01:13:38 +01:00
*Andras Retzler, HA7ILM < randras@sdr.hu> *
2014-11-29 01:13:15 +01:00
2014-11-29 01:07:10 +01:00
## Usage tips
2014-11-29 14:09:03 +01:00
You can zoom the waterfall display by the mouse wheel. You can also drag the waterfall to pan across it.
2014-11-29 14:05:39 +01:00
2014-11-29 01:07:47 +01:00
The filter envelope can be dragged at its ends and moved around to set the passband.
2014-11-29 01:07:10 +01:00
2014-11-29 14:09:03 +01:00
However, if you hold down the shift key, you can drag the center line (BFO) or the whole passband (PBS).
2014-11-29 01:07:47 +01:00
2014-11-29 13:56:56 +01:00
## Configuration tips
If you want to run OpenWebRX on a remote server instead of localhost, do not forget to set *server_hostname* in `config_webrx.py` , or you may get a WebSocket error.
2014-11-30 19:22:21 +01:00
DSP CPU usage can be fine-tuned in `plugins/dsp/csdr/plugin.py` : you can set transition bandwidths higher (thus degrade filter performance by decreasing the length of the kernel, but also decrease CPU usage), and also set `fft_size` lower.
2014-11-30 18:00:53 +01:00
2014-11-30 19:22:21 +01:00
If you constantly get *audio overrun* errors, you may change `audio_buffer_maximal_length_sec` in `openwebrx.js` from the default 1.7 to 3.
2014-11-30 18:00:53 +01:00
2014-11-30 19:22:21 +01:00
If you want a chat-box to the top of the page, < a href = "https://gist.github.com/ha7ilm/15c4c5e4c80cef9b3144" > here is a snippet</ a > for you to include in `config_webrx.py` .
2014-11-29 13:56:56 +01:00
2014-11-29 01:07:47 +01:00
## Todo
Currently, clients use up a lot of bandwidth. This will be improved later.