dj0abr / QO-100_SSB-WebSDR_DATV-WebSpectrum

a WebSDR specially made für es'hail-2 satellite
GNU General Public License v3.0
68 stars 18 forks source link
pluto qo-100 rtl-sdr rtlsdr sdrplay websdr

WebSDR Server for the QO-100 es'hail-2 Satellite

a web based SDR program made for the Adalm-PLUTO, SDRplay RSP1a and RTL-SDR uses any Browser in your network or Internet to view / listen your SDR data

Server made for LINUX, GUI on any browser on any system.

Update V3.2:

Update V3.1:

Update V3.0:

Update V2.9:

Update V2.81:

Update V2.8:

Update V2.73:

Update V2.72:

Update V2.71:

Update V2.7:

Update V2.5:

Update V2.3:

Update V2.2:

Update V2.1:

Update V2.0:

Update V1.9:

Update V1.8:

Update V1.7:

Update V1.6:

Update V1.5:

NB-Transponder

WB (DATV) Transponder

required computer

a PC (Intel/AMD) running Linux or a fast SBC like the Odroid-N2, Odroid XU4 or Raspberry PI 4.

may also run on slower computers, not guaranteed, try it.

General function of the server

Function in the browser

Installation

1) a couple of libraries are needed. These libraries are installed if you execute ./prepare_ubuntu or ./prepare_ubuntu_pluto in a terminal. (php ... sometimes you need to replaced php with php5 or php7 depending on your linux distribution)

2) for SDRplay only: the SDRplay driver from the SDRplay Webpage must be installed. Look for the driver that supports your computer.

3) copy this software in any empty directory. Keep the names and contents of the subfolders.

4) optional: identify the serial port of an ICOM transceiver:

serial-USB devices my change their ttyUSB number randomly. For an exact identification do the following:

1) connect your USBserial adapter
2) enter this command in a terminal:
   ls  /dev/ttyUSB*
   this shows the device number i.e.: /dev/ttyUSB0
3) enter this command in a terminal, replace ttyUSB0 with the correct number
   udevadm info -a -p  $(udevadm info -q path -n /dev/ttyUSB0) | grep '{serial}' | cut -d \" -f2 | head -n 1
   this prints the ID of the serial USB adapter
4) enter this ID into the file identifySerUSB.c in the line #define SERID "xxxxxx", where xxxxxx is the ID

5) there are three scripts that build the software automatically:

build_RTLSDR ... build the software for the NB-Transponder and for the RTLsdr ONLY

build_SDRplay ... build the software for the NB-Transponder and the SDRplay and/or RTLsdr (requires the SDRplay libraries, see above)

build_PLUTO ... build the software for the NB-Transponder and for the Adalm-Pluto and/or RTLsdr

build_SDRplay_WB ... build the software for the SDRplay and the Wideband (DATV) transponder

build_PLUTO_WB ... build the software for the Pluto and the Wideband (DATV) transponder

simply run one of these scripts in a terminal i.e.: ./build_RTLSDR when the script finishes without errors then the job is done and you can use the software.

starting the server

in the termimal enter: sudo ./qo100websdr

('sudo' is only required for the very first start since it has to configure your webserver. Then you can use it without sudo).

secure start

for any reason (i.e. hardware or power failure) the server software may exit or crash sometimes. This situation should be handled automatically. Therefore there are two short scripts which start the server automatically after an error.

es ... start the NB narrow band SSB version

wb ... start the WB wide band DATV version

instead of starting the software with: ./qo100websdr

you better start it with: ./es or ./wb

Before doing this you will need to enter the correct frequencies delivered by your LNB into these script !!!

using the web spectrum and waterfall monitor

open a browser (i.e. firefox, chrome...) and enter the IP address of your computer running the server followd by /nb.html (Narrowband transponder) or /wb.html (DATV transponder)

Example: your computer runs the WB (DATV wideband) version and has the IP address: 192.168.0.55 to view the DATV transponder enter in your browser: 192.168.0.55/wb.html

or if you have compiled this software for the narrow band transponder, then enter in your browser: 192.168.0.55/nb.html

access the website from outside (from the internet)

in your internet router you need to open two TCP ports for external access: 1) the port to your webserver: 80 2) the port to the websocket: 8091

the websocket port can be changed in the Setup (see Browser Window "SETUP" button)

running the NB and WB version of this software simultaneously

If you want to run the WB monitor with an SDRplay RSPx and also the NB monitor then you can do that simultaneously. In this case the RSPx SDR must be used for the WB wide band monitor and for the NB monitor you need to use an RTL-SDR.

Make two directories, one for WB and the other for NB and copy this software into both. In one directory compile the software for WB by running ./build_SDRplay_WB and in the other directory run ./build_RTLSDR

you can now start the WB version and the NB version simultaneously. Just be sure that you use the correct frequencies for each version.

The CPU load is quite high if you run both, but is not a problem for a modern PC, and also an Odroid N2 can handle both.

Also, use two different websocket ports for NB and WB !

Minitiouner Remote Control

F6DZP has implemented an UDP interface into his excellent Minitiouner software. This QO-100 WebSDR supports this feature. Just click on a signal in the spectrum or waterfall and the Minitiouner will be tuned to this signal.

Before compilation you can change these settings in qo100websdr.h: MINITIOUNER_IP ... enter the IP address of the PC running Minitiouner MINITIOUNER_LOCAL ... if you want to remote control Minitiouner via the internet, enter 0. The default value 1 allows remote control in the home network only.

ICOM synchronisation (for NB SSB transponder)

an ICOM TRX can be connected via CIV (USB) to the computer running this software. When the ICOM checkbox is activated in the browser, the frequency of the Icom TRX will be read and the marker and lower waterfall will be set to this frequency every 100ms. To adapt the CIV address to your Icom Transceiver, open file: civ.c and change variable civ_adr to the address of the transceiver. Then rebuild the software.

For automatic detection of you ICOM transceiver you may check the in file: identifySerUSB.c the definition:

define SERID "IC-9700 13001397 A"

vy 73 de DJ0ABR, Kurt Moraw Germany