openwebrx-clone/README.md

113 lines
6.0 KiB
Markdown
Raw Normal View History

2019-12-29 23:21:44 +01:00
# OpenWebRX
2017-12-10 16:51:49 +01:00
2014-11-29 01:07:10 +01:00
OpenWebRX is a multi-user SDR receiver software with a web interface.
2019-12-29 23:21:44 +01:00
----
### ⚠️ From 2019-12-29 OpenWebRX development is discontinued.⚠️
2019-12-29 23:25:39 +01:00
I'm would like to say a big thanks to everyone who supported me during this project, including those who contributed either code or donations. It has been a very fruitful 6 years, but now it's time to move on to other projects. See also my [blog](https://blog.sdr.hu) about that.
2019-12-29 23:30:01 +01:00
2019-12-29 23:21:44 +01:00
(@simonyiszk, please keep this GitHub repo for historic purposes.)
Know limitations of the last version:
- Python 2.7, a main dependency of the project, will be not be officially maintained from 1 January 2020. By time, probably it will not be secure to use this version on public servers, unless someone still provides security patches for Python 2.
- Some specific parts of the DSP code could be improved for better SNR.
Even though these limitations are probably acceptable in an amateur radio project, I would not build critical infrastructure on it.
For commercial inquiries (e.g. if someone wants me to develop an improved version without these limitations), I'm still open, [drop me an e-mail](mailto:randras@sdr.hu).
----
[:floppy_disk: Setup guide for Ubuntu](http://blog.sdr.hu/2015/06/30/quick-setup-openwebrx.html) | [:blue_book: Knowledge base on the Wiki](https://github.com/simonyiszk/openwebrx/wiki/) | [:earth_americas: Receivers on SDR.hu](http://sdr.hu/)
2017-05-30 22:48:16 +02:00
![OpenWebRX](http://blog.sdr.hu/images/openwebrx/screenshot.png)
2014-11-29 01:07:10 +01:00
It has the following features:
2017-07-07 15:43:01 +02:00
- <a href="https://github.com/simonyiszk/csdr">csdr</a> based demodulators (AM/FM/SSB/CW/BPSK31),
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,
2017-07-12 19:03:59 +02:00
- it extensively uses HTML5 features like WebSocket, Web Audio API, and &lt;canvas&gt;,
2014-11-29 01:07:10 +01:00
- it works in Google Chrome, Chromium (above version 37) and Mozilla Firefox (above version 28),
2017-07-12 19:09:48 +02:00
- currently supports RTL-SDR, HackRF, SDRplay, AirSpy and many other devices, see the <a href="https://github.com/simonyiszk/openwebrx/wiki/">OpenWebRX Wiki</a>,
2017-07-07 15:43:01 +02:00
- it has a 3D waterfall display:
![OpenWebRX 3D waterfall](http://blog.sdr.hu/images/openwebrx/screenshot-3d.gif)
2014-11-29 01:07:10 +01:00
2015-09-30 14:06:30 +00:00
**News (2015-08-18)**
2018-05-06 18:07:58 +02:00
- My BSc. thesis written on OpenWebRX is <a href="https://sdr.hu/static/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.
2016-02-14 18:54:18 +01:00
- Receivers can now be listed on <a href="http://sdr.hu/">SDR.hu</a>.
- License for OpenWebRX is now Affero GPL v3.
2016-02-14 19:35:39 +01:00
**News (2016-02-14)**
- The DDC in *csdr* has been manually optimized for ARM NEON, so it runs around 3 times faster on the Raspberry Pi 2 than before.
2016-02-14 19:36:18 +01:00
- Also we use *ncat* instead of *rtl_mus*, and it is 3 times faster in some cases.
2016-02-14 18:53:06 +01:00
- OpenWebRX now supports URLs like: `http://localhost:8073/#freq=145555000,mod=usb`
2016-02-14 18:51:22 +01:00
- UI improvements were made, thanks to John Seamons and Gnoxter.
2015-09-30 14:06:30 +00:00
2017-04-04 18:15:08 +02:00
**News (2017-04-04)**
2017-04-04 18:16:20 +02:00
- *ncat* has been replaced with a custom implementation called *nmux* due to a bug that caused regular crashes on some machines. The *nmux* tool is part of the *csdr* package.
2017-04-04 18:15:08 +02:00
- Most consumer SDR devices are supported via <a href="https://github.com/rxseger/rx_tools">rx_tools</a>, see the <a href="https://github.com/simonyiszk/openwebrx/wiki/Using-rx_tools-with-OpenWebRX">OpenWebRX Wiki</a> on that.
2017-07-12 19:18:10 +02:00
**News (2017-07-12)**
- OpenWebRX now has a BPSK31 demodulator and a 3D waterfall display.
2017-05-11 10:56:27 +02:00
> When upgrading OpenWebRX, please make sure that you also upgrade *csdr*!
2016-01-24 00:03:08 +01:00
2016-02-14 18:53:48 +01:00
## OpenWebRX servers on SDR.hu
2016-02-14 18:23:34 +01:00
2016-02-14 18:53:48 +01:00
[SDR.hu](http://sdr.hu) is a site which lists the active, public OpenWebRX servers. Your receiver [can also be part of it](http://sdr.hu/openwebrx), if you want.
2017-05-30 22:48:16 +02:00
![sdr.hu](http://blog.sdr.hu/images/openwebrx/screenshot-sdrhu.png)
2015-09-30 14:06:30 +00:00
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 4951 for the multi-user I/Q server.
Now the next step is to customize the parameters of your server in `config_webrx.py`.
2017-04-04 18:15:08 +02:00
Actually, if you do something cool with OpenWebRX, please drop me a mail:
2014-11-29 01:13:38 +01:00
*Andras Retzler, HA7ILM &lt;randras@sdr.hu&gt;*
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
2015-10-11 11:50:12 -05:00
## Setup tips
2014-11-29 13:56:56 +01:00
2015-10-11 11:52:45 -05:00
If you have any problems installing OpenWebRX, you should check out the <a href="https://github.com/simonyiszk/openwebrx/wiki">Wiki</a> about it, which has a page on the <a href="https://github.com/simonyiszk/openwebrx/wiki/Common-problems-and-their-solutions">common problems and their solutions</a>.
2014-11-29 13:56:56 +01:00
2015-10-11 11:51:37 -05:00
Sometimes the actual error message is not at the end of the terminal output, you may have to look at the whole output to find it.
2014-11-30 18:00:53 +01:00
2016-02-14 19:28:06 +01:00
If you want to run OpenWebRX on a remote server instead of *localhost*, do not forget to set *server_hostname* in `config_webrx.py`.
2015-11-29 17:55:45 +01:00
## Licensing
2015-11-29 17:59:12 +01:00
OpenWebRX is available under Affero GPL v3 license (<a href="https://tldrlegal.com/license/gnu-affero-general-public-license-v3-(agpl-3.0)">summary</a>).
2015-11-29 17:55:45 +01:00
2017-04-04 18:15:08 +02:00
OpenWebRX is also available under a commercial license on request. Please contact me at the address *&lt;randras@sdr.hu&gt;* for licensing options.