Skip to content
RadioMenace.com

RadioMenace.com

Your Local Neighborhood RF Menace

  • Home
    • Antennas
    • Caribou Lite
    • Flipper Zero
    • HackRF One
    • KiwiSDR
    • PlutoSDR
    • Raspberry Pi
    • RTL-SDR
  • Hack Shack
  • Live Maps and Feeds
  • Frequencies
  • Distortion Zone
  • Atmospheric Conditions
  • Toggle search form

Installing VitalityGOES on RaspiNOAA Image

Posted on May 28, 2024June 14, 2024 By Twitch

I am running the RaspiNOAA image on a Raspberry Pi 4 4GB with a 128gb SD card. This setup has the NOAA APT and METEOR on one SDR and GOES on the 2nd SDR.

This assumes you already have the latest RaspiNOAA image all setup and running. I would suggest at the very minimum you change your username and password from the default one. This guide is set for GOES 16 but easily used for GOES 18 also by changing the 16 to 18 in everything. This guide should work on any Debian based system i.e. Ubuntu with RaspberryNOAA setup

sudo usermod -a -G www-data noaa
sudo mkdir /srv/live_output
sudo chown -R noaa:www-data /srv/live_output
cd ~
git clone https://github.com/JVital2013/vitality-goes.git
cd vitality-goes
sudo mkdir /var/www/vitality-goes
sudo mkdir /var/www/vitality-goes/videos
sudo chown -R noaa:www-data /var/www/vitality-goes
cp -Rf html/* /var/www/vitality-goes
cp -Rf configs/satdump-goes16/* /var/www/vitality-goes/config

Open /var/www/goes/config/config.ini in the text editor or with

nano /var/www/goes/config/config.ini

and make it look like this. Edit your location also as this is for the DuPage Airport near me.

[general]
;siteTitle = "My GOES-16 Data"
;siteTheme = "light"
satdumpAPI = http://127.0.0.1:8080/api
adminPath = "/srv/live_output/GOES16/Admin Messages"
emwinPath = "/srv/live_output/GOES16/EMWIN"
fastEmwin = true
spaceWeatherAlerts = false
showSysInfo = true
debug = false

[paths]
GOES16 = "/srv/live_output/GOES16"

[categories]
abi = abi.ini
meso = meso.ini
nws = nws.ini
emwin = emwin.ini

[location]
radarCode = GRTLK
stateAbbr = IL
wxZone = ILZ013
orig = LOTIL
rwrOrig = LOTIL
city = Dupage Airport
lat = 44.03
lon = -88.07
timezone = America/Chicago

[otheremwin]
ini = otheremwin.ini
allowUserLoader = true
maxUserFiles = 1000

Next we need to open /var/www/goes/config/scriptconfig.ini in the text editor or with

nano /var/www/goes/config/scriptconfig.ini

and change the path on videoDIr, abiSourceDir, and emwinSrcDir like this.

videoDir="/var/www/vitality-goes/videos"
#ffmpegBinary="C:\path\to\ffmpeg.exe"

abiSrcDir="/srv/live_output/GOES16"
abiImgSource=("$abiSrcDir/IMAGES/GOES-16/Full Disk" "$abiSrcDir/IMAGES/GOES-16/Full Disk" "$abiSrcDir/IMAGES/GOES-16/Full Disk" "$abiSrcDir/IMAGES/GOES-16/Full Disk" "$abiSrcDir/IMAGES/GOES-16/Full Disk" "$abiSrcDir/IMAGES/GOES-16/Full Disk" "$abiSrcDir/IMAGES/GOES-16/Full Disk" "$abiSrcDir/IMAGES/GOES-16/Full Disk" "$abiSrcDir/IMAGES/GOES-16/Full Disk" "$abiSrcDir/IMAGES/GOES-16/Full Disk" "$abiSrcDir/IMAGES/GOES-16/Full Disk" "$abiSrcDir/IMAGES/GOES-16/Full Disk" "$abiSrcDir/IMAGES/GOES-16/Full Disk" "$abiSrcDir/IMAGES/GOES-16/Full Disk" "$abiSrcDir/IMAGES/GOES-18/Full Disk" "$abiSrcDir/IMAGES/GOES-18/Full Disk" "$abiSrcDir/IMAGES/GOES-16/Mesoscale 1" "$abiSrcDir/IMAGES/GOES-16/Mesoscale 1" "$abiSrcDir/IMAGES/GOES-16/Mesoscale 1" "$abiSrcDir/IMAGES/GOES-16/Mesoscale 1" "$abiSrcDir/IMAGES/GOES-16/Mesoscale 1" "$abiSrcDir/IMAGES/GOES-16/Mesoscale 1" "$abiSrcDir/IMAGES/GOES-16/Mesoscale 2" "$abiSrcDir/IMAGES/GOES-16/Mesoscale 2" "$abiSrcDir/IMAGES/GOES-16/Mesoscale 2" "$abiSrcDir/IMAGES/GOES-16/Mesoscale 2" "$abiSrcDir/IMAGES/GOES-16/Mesoscale 2" "$abiSrcDir/IMAGES/GOES-16/Mesoscale 2")
abiImgFilter=("GEO_False_Color_map" "_2_" "_7_" "_8_" "_9_" "_13_" "_14_" "_15_" "Shortwave_Window_Band_map" "Upper-Level_Tropospheric_Water_Vapor_map" "Mid-level_Tropospheric_Water_Vapor_map" "Clean_Longwave_IR_Window_Band_map" "Infrared_Longwave_Window_Band_map" "Dirty_Longwave_Window_map" "_13_" "Clean_Longwave_IR_Window_Band_map" "GEO_False_Color_map" "_2_" "_7_" "Shortwave_Window_Band_map" "_13_" "Clean_Longwave_IR_Window_Band_map" "GEO_False_Color_map" "_2_" "_7_" "Shortwave_Window_Band_map" "_13_" "Clean_Longwave_IR_Window_Band_map")
abiVidName=("GOES16FalseColor" "GOES16Ch2" "GOES16Ch7" "GOES16Ch8" "GOES16Ch9" "GOES16Ch13" "GOES16Ch14" "GOES16Ch15" "GOES16Ch7Enhanced" "GOES16Ch8Enhanced" "GOES16Ch9Enhanced" "GOES16Ch13Enhanced" "GOES16Ch14Enhanced" "GOES16Ch15Enhanced" "GOES18Ch13" "GOES18Ch13Enhanced" "GOES16FalseColor_M1" "GOES16Ch2_M1" "GOES16Ch7_M1" "GOES16Ch7Enhanced_M1" "GOES16Ch13_M1" "GOES16Ch13Enhanced_M1" "GOES16FalseColor_M2" "GOES16Ch2_M2" "GOES16Ch7_M2" "GOES16Ch7Enhanced_M2" "GOES16Ch13_M2" "GOES16Ch13Enhanced_M2")

emwinSrcDir="/srv/live_output/GOES16/EMWIN"
emwinCodeName=("RADNTHES" "RADREFUS" "GMS008JA" "G16CIRUS" "G10CIRUS" "G10FDIUS" "INDCIRUS")
emwinVideoName=("LocalRadar" "USRadar" "HIMAWARI" "GOES16EMWIN" "GOESWESTWC" "GOESWESTFD" "METEOSAT")

Due to RaspberryNOAA’s website being binded to port 80 we need to add the nginx config to serve the Vitality-GOES website on port 81. You could also add a directory alias for port 80 instead of 81.

sudo nano /etc/nginx/sites-available/vitality-goes

Paste the following and save the file


server {
  listen 81;
  # Enabling IPv6 support making the server accessible from the internet
  listen [::]:81;

  root /var/www/vitality-goes/;
  index index.php index.html index.htm index.nginx-debian.html;
  autoindex on;

  server_name raspberry-noaa.localdomain;

  gzip on;
  gzip_vary on;
  gzip_min_length 1024;
  gzip_proxied expired no-cache no-store private auth;
  gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml;
  gzip_disable "MSIE [1-6]\.";

  location / {
   try_files $uri $uri/ /index.php?$args;
  }

  location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
  }
}

Now run the following

sudo ln -s /etc/nginx/sites-available/vitality-goes /etc/nginx/sites-enabled/
sudo systemctl reload nginx
sudo ufw allow 81

You should now be able to load the VItalityGOES website at http://127.0.0.1:81 but it will not have any data yet.

You need to setup your QTH latitude and longitude in SatDump the easiest way to do this is by running satdump-ui and clicking the settings tab and then General SatDump. Fill in your Lat, Lon, and Elevation now save the settings and exit the program.

You can test with the GUI but it is not recommended to run satdump-ui long term as it seems to crash a lot. if you do dont forget to change the default live output directory to /srv/live_output/GOES16/ in the settings tab

next we need to set up cron to run the scripts included

sudo nano /etc/cron.d/goes

Paste the following and change youruser to your username

0 0 * * * youruser bash -lc /path/to/vitality-goes/scripts/CreateVideos-ABI.sh
0 2 * * * youruser bash -lc /path/to/vitality-goes/scripts/CreateVideos-EMWIN.sh
55 11 * * * youruser bash -lc /path/to/vitality-goes/scripts/Cleanup-EmwinText.sh
25,55 2-23 * * * youruser bash -lc /path/to/vitality-goes/scripts/Sanchez.sh

Now run

sudo service cron reload

We need to start SatDump from the command line and let the data start flowing. Make sure to change your sdr id if you get no lock as it may be using your APT dongle. you can run satdump sdr_probe to get your sdr id.

#GOES16 
satdump live goes_hrit /srv/live_output/GOES16 --source rtlsdr --source_id 00000002 --samplerate 2.4e6 --frequency 1694.1e6 --gain 44.5 --bias --http_server 0.0.0.0:8080

#GOES18
satdump live goes_hrit /srv/live_output/GOES18 --source rtlsdr --source_id 00000001 --samplerate 2.4e6 --frequency 1694.1e6 --gain 44.5 --bias --http_server 0.0.0.0:8080

Let this run for at least an hour and you should start seeing images on the Vitality-GOES website.

Automatically starting SatDump on boot

Next we need to set SatDump to run at boot we can do this a few ways but I like adding a service the best.

sudo nano /etc/systemd/system/satdump-goes16.service

Copy and paste the following edit if needed then save the file.

[Unit]
Description=SatDump GOES 16 service
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
StandardOutput=null
StandardError=null
Restart=always
RestartSec=1
User=noaa
ExecStart=/usr/bin/satdump live goes_hrit /srv/live_output/GOES16 --source rtlsdr --source_id 00000002 --samplerate 2.4e6 --frequency 1694.1e6 --gain 44.5 --bias --http_server 0.0.0.0:8080

[Install]
WantedBy=multi-user.target

Now we need to run

sudo systemctl daemon-reload
sudo systemctl start satdump-goes16
sudo systemctl status satdump-goes16

As long as everything started right we can now enable starting at boot

sudo systemctl enable satdump-goes16

Thats all that should be needed to auto start SatDump at boot. You can now reboot and then run the following and check the status.

sudo systemctl status satdump-goes16

In order to update SatDump you will need to disable the service before updating with

sudo systemctl disable satdump-goes16

After updating reenable with

sudo systemctl start satdump-goes16
sudo systemctl status satdump-goes16
sudo systemctl enable satdump-goes16
Raspberry Pi, RTL-SDR, Satellites

Post navigation

Previous Post: Ultimate Raspberry Pi 5 touchscreen mobile SDR rig

Related Posts

Making a Rackmount SDR and Antenna Jumper Panel Antennas
Ultimate Raspberry Pi 5 touchscreen mobile SDR rig HackRF One
Setting up a USB Serial SARCTRAC Rotator with SatDump Antennas
Shop now

Recent Posts

  • Installing VitalityGOES on RaspiNOAA Image
  • Ultimate Raspberry Pi 5 touchscreen mobile SDR rig
  • Setting up a USB Serial SARCTRAC Rotator with SatDump
  • Making a Rackmount SDR and Antenna Jumper Panel
  • Modifying 2.4GHz Parabolic Dish for GOES Weather Satellite Reception

Links

Flipper Zero
  • Unleashed Firmware for the Flipper Zero
  • Xtreme Firmware for the Flipper Zero
HackRF
  • Mayhem Firmware for the HackRF PortaPack
Live Maps
  • APRS Live Map

antenna CaribouLite DragonOS GOES HackRF HF Band KiwiSDR Linux loop loop antenna MLA-30+ Portapack rack rackmount Raspberry Pi SARCTRAC SatDump Satellite SDR Software Defined Radio Touchscreen Weather wellgood loop Windows

  • Home
    • Antennas
    • Caribou Lite
    • Flipper Zero
    • HackRF One
    • KiwiSDR
    • PlutoSDR
    • Raspberry Pi
    • RTL-SDR
  • Hack Shack
  • Live Maps and Feeds
  • Frequencies
  • Distortion Zone
  • Atmospheric Conditions

Our Friends

  • KN6LMG

Copyright © 2023 RadioMenace.com. - Site powered with a AtomicPi - theme

Powered by PressBook Masonry Dark