├── pub
├── .gitkeep
└── logbook.txt
├── sdr-40m.jpg
├── gpio_soft_reset.png
├── dist11
├── pub2
│ ├── lu3dj.jpg
│ ├── carrier.png
│ ├── lu8fcj.jpg
│ ├── pattern.png
│ ├── smeter1.png
│ ├── edgelower.png
│ ├── edgeupper.png
│ ├── scaleblack.png
│ ├── edgelowerbb.png
│ ├── edgeupperbb.png
│ ├── websdr-1405020937.jar
│ ├── crossdomain.xml
│ ├── buttons.css
│ ├── m.html
│ ├── stat.html
│ ├── websdr-javasound.js
│ ├── index.html.es
│ ├── websdr-javawaterfall.js
│ ├── index.html
│ ├── sysop.html
│ ├── websdr-head.html
│ ├── websdr-waterfall.js
│ ├── websdr-controls.html
│ ├── websdr-sound.js
│ ├── mobile-controls.html
│ └── websdr-base.js
├── websdr.cfg
├── websdr-40m.cfg
└── websdr-80m.cfg
├── libpng-1.2.59.tar.xz
├── openssl-1.0.0k.tar.gz
├── rtl-sdr-driver-patched.zip
├── gpio_antenna_control_npn.png
├── .devcontainer
├── libssl1.0.0_1.0.2n-1ubuntu5.13_amd64.deb
└── devcontainer.json
├── .gitignore
├── etc
├── systemd
│ └── system
│ │ ├── reset.service
│ │ ├── rtl_tcp@.service
│ │ ├── rtl_tcp_direct_sampling.service
│ │ ├── websdr.service
│ │ └── websdr@.service
└── rc.local
├── crontab
├── opt
├── reset.py
└── check_band.sh
├── Dockerfile
├── README.md
└── README.es.md
/pub/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/sdr-40m.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reynico/raspberry-websdr/HEAD/sdr-40m.jpg
--------------------------------------------------------------------------------
/gpio_soft_reset.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reynico/raspberry-websdr/HEAD/gpio_soft_reset.png
--------------------------------------------------------------------------------
/dist11/pub2/lu3dj.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reynico/raspberry-websdr/HEAD/dist11/pub2/lu3dj.jpg
--------------------------------------------------------------------------------
/libpng-1.2.59.tar.xz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reynico/raspberry-websdr/HEAD/libpng-1.2.59.tar.xz
--------------------------------------------------------------------------------
/openssl-1.0.0k.tar.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reynico/raspberry-websdr/HEAD/openssl-1.0.0k.tar.gz
--------------------------------------------------------------------------------
/dist11/pub2/carrier.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reynico/raspberry-websdr/HEAD/dist11/pub2/carrier.png
--------------------------------------------------------------------------------
/dist11/pub2/lu8fcj.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reynico/raspberry-websdr/HEAD/dist11/pub2/lu8fcj.jpg
--------------------------------------------------------------------------------
/dist11/pub2/pattern.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reynico/raspberry-websdr/HEAD/dist11/pub2/pattern.png
--------------------------------------------------------------------------------
/dist11/pub2/smeter1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reynico/raspberry-websdr/HEAD/dist11/pub2/smeter1.png
--------------------------------------------------------------------------------
/dist11/pub2/edgelower.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reynico/raspberry-websdr/HEAD/dist11/pub2/edgelower.png
--------------------------------------------------------------------------------
/dist11/pub2/edgeupper.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reynico/raspberry-websdr/HEAD/dist11/pub2/edgeupper.png
--------------------------------------------------------------------------------
/dist11/pub2/scaleblack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reynico/raspberry-websdr/HEAD/dist11/pub2/scaleblack.png
--------------------------------------------------------------------------------
/rtl-sdr-driver-patched.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reynico/raspberry-websdr/HEAD/rtl-sdr-driver-patched.zip
--------------------------------------------------------------------------------
/dist11/pub2/edgelowerbb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reynico/raspberry-websdr/HEAD/dist11/pub2/edgelowerbb.png
--------------------------------------------------------------------------------
/dist11/pub2/edgeupperbb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reynico/raspberry-websdr/HEAD/dist11/pub2/edgeupperbb.png
--------------------------------------------------------------------------------
/gpio_antenna_control_npn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reynico/raspberry-websdr/HEAD/gpio_antenna_control_npn.png
--------------------------------------------------------------------------------
/dist11/pub2/websdr-1405020937.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reynico/raspberry-websdr/HEAD/dist11/pub2/websdr-1405020937.jar
--------------------------------------------------------------------------------
/.devcontainer/libssl1.0.0_1.0.2n-1ubuntu5.13_amd64.deb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/reynico/raspberry-websdr/HEAD/.devcontainer/libssl1.0.0_1.0.2n-1ubuntu5.13_amd64.deb
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | libpng-1.2.59/
3 | openssl-1.0.0k/
4 | websdr
5 | websdr64
6 | websdr-rpi
7 | fftw-wisdom.dat
8 | log-cpuload.txt
9 | userslog.txt
10 | tmp.tmp
11 | tmp/
--------------------------------------------------------------------------------
/dist11/pub2/crossdomain.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/etc/systemd/system/reset.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=Soft hardware reset by Python
3 | After=multi-user.target
4 |
5 | [Service]
6 | Type=simple
7 | ExecStart=/usr/bin/python /opt/reset.py
8 | Restart=on-abort
9 |
10 | [Install]
11 | WantedBy=multi-user.target
12 |
--------------------------------------------------------------------------------
/crontab:
--------------------------------------------------------------------------------
1 | * 20,21,22,23,00 * * * /opt/check_band.sh 80
2 | * 00,01,02,03,04,05,06,07 * * * /opt/check_band.sh 80
3 | 59 07 * * * sleep 10 && systemctl stop websdr@80.service
4 | * 08,0910,11,12,13,14,15,16,17,18,19 * * * /opt/check_band.sh 40
5 | 59 19 * * * sleep 10 && systemctl stop websdr@40.service
6 |
--------------------------------------------------------------------------------
/opt/reset.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | import os
3 | import time
4 | import RPi.GPIO as GPIO
5 | GPIO.setmode(GPIO.BCM)
6 | GPIO.setup(2,GPIO.IN)
7 |
8 | while True:
9 | input = GPIO.input(2)
10 | if not input:
11 | print("RESET!!")
12 | os.system("reboot")
13 | time.sleep(1)
14 |
--------------------------------------------------------------------------------
/etc/systemd/system/rtl_tcp@.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=RTL TCP server on %I frequency
3 | After=multi-user.target
4 |
5 | [Service]
6 | Type=simple
7 | ExecStart=/usr/bin/rtl_tcp -s 1024000 -g 10 -d%I -p999%I
8 | ExecStop=/bin/kill -9 $MAINPID
9 | Restart=always
10 |
11 | [Install]
12 | WantedBy=multi-user.target
13 |
--------------------------------------------------------------------------------
/pub/logbook.txt:
--------------------------------------------------------------------------------
1 | WebSDR logbook - note that entries can be made by anyone so correctness is not guaranteed
2 | --------------------------------------------------------------------------------------------------
3 | date UTC freq call comments dxcc country heard by
4 | --------------------------------------------------------------------------------------------------
5 |
--------------------------------------------------------------------------------
/etc/systemd/system/rtl_tcp_direct_sampling.service:
--------------------------------------------------------------------------------
1 | [Unit]
2 | Description=RTL TCP server on %I frequency
3 | After=multi-user.target
4 |
5 | [Service]
6 | Type=simple
7 | WorkingDirectory=/home/pi/pkg-rtl-sdr/build/src
8 | ExecStart=/home/pi/pkg-rtl-sdr/build/src/rtl_tcp -D2 -s 1024000 -g 10 -d%I -p999%I
9 | ExecStop=/bin/kill -9 $MAINPID
10 | Restart=always
11 |
12 | [Install]
13 | WantedBy=multi-user.target
14 |
--------------------------------------------------------------------------------
/etc/systemd/system/websdr.service:
--------------------------------------------------------------------------------
1 | Description=WebSDR server
2 | After=network-online.target
3 |
4 | [Service]
5 | Type=simple
6 | WorkingDirectory=/home/pi/dist11/
7 | ExecStartPre=/bin/sleep 10
8 | ExecStartPost=/bin/bash -c 'sleep 5 && sudo systemctl --no-block restart rtl_tcp@0.service'
9 | ExecStart=/home/pi/dist11/websdr-rpi /home/pi/dist11/websdr.cfg
10 | ExecStop=/bin/kill -9 $MAINPID
11 | Restart=always
12 | RestartSec=4
13 |
14 | [Install]
15 | WantedBy=multi-user.target
16 |
--------------------------------------------------------------------------------
/etc/systemd/system/websdr@.service:
--------------------------------------------------------------------------------
1 | Description=WebSDR server on %Im band
2 | After=network-online.target
3 |
4 | [Service]
5 | Type=simple
6 | WorkingDirectory=/home/pi/dist11/
7 | ExecStartPre=/bin/sleep 10
8 | ExecStartPost=/bin/bash -c 'sleep 5 && sudo systemctl --no-block restart rtl_tcp@0.service'
9 | ExecStart=/home/pi/dist11/websdr-rpi /home/pi/dist11/websdr-%Im.cfg
10 | ExecStop=/bin/kill -9 $MAINPID
11 | Restart=always
12 | RestartSec=4
13 |
14 | [Install]
15 | WantedBy=multi-user.target
16 |
--------------------------------------------------------------------------------
/dist11/pub2/buttons.css:
--------------------------------------------------------------------------------
1 | .custombutton {
2 | background-color: #4CAF50; /* Green */
3 | border: none;
4 | color: white;
5 | padding: 15px 32px;
6 | text-align: center;
7 | text-decoration: none;
8 | display: inline-block;
9 | font-size: 16px;
10 | margin: 4px 2px;
11 | cursor: pointer;
12 | }
13 |
14 | .button2 {background-color: #008CBA;} /* Blue */
15 | .button3 {background-color: #f44336;} /* Red */
16 | .button4 {background-color: #e7e7e7; color: black;} /* Gray */
17 | .button5 {background-color: #555555;} /* Black */
18 |
--------------------------------------------------------------------------------
/opt/check_band.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if [ $# -eq 0 ]; then
4 | echo "Usage: ./check_band.sh BAND. example: ./check_band.sh 40"
5 | fi
6 |
7 | BAND="$1"
8 |
9 | if pgrep -x "websdr-rpi" > /dev/null
10 | then
11 | echo "Running"
12 | else
13 | sudo systemctl start websdr@${BAND}.service
14 | sudo kill -9 $(pidof rtl_tcp)
15 | sleep 3
16 | sudo renice -10 $(pidof rtl_tcp)
17 | sudo renice -10 $(pidof websdr-rpi)
18 | if [ "$BAND" == "80" ]; then
19 | echo 1 > /sys/class/gpio/gpio3/value
20 | else
21 | echo 0 > /sys/class/gpio/gpio3/value
22 | fi
23 | fi
24 |
--------------------------------------------------------------------------------
/dist11/pub2/m.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | WebSDR - Mobile version
6 |
7 |
8 | Esta es la versión movil de este WebSDR.
9 | Debería funcionar utilizando Safari en dispositivos Apple, y Firefox en dispositivos Android.
10 | La sintonización es diferente al WebSDR normal: aquí hay que arrastrar la cascada.
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/etc/rc.local:
--------------------------------------------------------------------------------
1 | #!/bin/sh -e
2 | #
3 | # rc.local
4 | #
5 | # This script is executed at the end of each multiuser runlevel.
6 | # Make sure that the script will "exit 0" on success or any other
7 | # value on error.
8 | #
9 | # In order to enable or disable this script just change the execution
10 | # bits.
11 | #
12 | # By default this script does nothing.
13 |
14 | # Antenna switching
15 | echo "3" > /sys/class/gpio/export
16 | echo out > /sys/class/gpio/gpio3/direction
17 | chmod 0777 /sys/class/gpio/gpio3/value
18 |
19 | #Soft reboot by hardware
20 | echo "2" > /sys/class/gpio/export
21 | echo in > /sys/class/gpio/gpio2/direction
22 |
--------------------------------------------------------------------------------
/dist11/pub2/stat.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Estadisticas
5 |
9 |
10 |
11 |
12 |
13 |
14 | Source
15 |
16 |
17 |
--------------------------------------------------------------------------------
/.devcontainer/devcontainer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Raspberry WebSDR Development",
3 | "build": {
4 | "dockerfile": "../Dockerfile"
5 | },
6 | "customizations": {
7 | "vscode": {
8 | "extensions": [
9 | "ms-azuretools.vscode-docker"
10 | ],
11 | "settings": {
12 | "terminal.integrated.defaultProfile.linux": "bash"
13 | }
14 | }
15 | },
16 | "forwardPorts": [8080],
17 | "remoteUser": "vscode",
18 | "postStartCommand": "nohup bash -c 'nc -l -k -p 9990 &' > /dev/null 2>&1",
19 | "features": {
20 | "ghcr.io/devcontainers/features/common-utils:2":{
21 | "installZsh": false,
22 | "username": "vscode",
23 | "userUid": "1000",
24 | "userGid": "1000"
25 | },
26 | "ghcr.io/devcontainers/features/git:1": {}
27 | }
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/dist11/pub2/websdr-javasound.js:
--------------------------------------------------------------------------------
1 |
2 |
3 | /**
4 | * @constructor
5 | */
6 | function make_javasound()
7 | {
8 | document.getElementById('soundappletdiv').innerHTML=
9 | '