From 28d6d946a11ccf14afe01dd71a7d1d89219e2fa3 Mon Sep 17 00:00:00 2001 From: gonzalo Date: Tue, 11 Sep 2018 14:41:42 +0200 Subject: [PATCH 1/3] add .conf file for global variable, NOT everyone use the shitty bash, so ,,sh'' POSIX is your friend, some sone checks for directories --- .noaa.conf | 1 + 1 file changed, 1 insertion(+) create mode 100644 .noaa.conf diff --git a/.noaa.conf b/.noaa.conf new file mode 100644 index 0000000..962a951 --- /dev/null +++ b/.noaa.conf @@ -0,0 +1 @@ +NOAA_HOME=/home/pi From 6ebe547e2203997bd999ca1a850d41dc338f183f Mon Sep 17 00:00:00 2001 From: gonzalo Date: Tue, 11 Sep 2018 14:42:30 +0200 Subject: [PATCH 2/3] add .conf file for global variable, NOT everyone use the shitty bash, so ,,sh'' POSIX is your friend, some sone checks for directories --- receive.sh | 39 ++++++++++++++++++++++++++++++++++----- schedule.sh | 22 ++++++++++++++-------- schedule_sat.sh | 27 +++++++++++++++++---------- 3 files changed, 65 insertions(+), 23 deletions(-) diff --git a/receive.sh b/receive.sh index ef2aac2..1df3ca3 100644 --- a/receive.sh +++ b/receive.sh @@ -1,20 +1,49 @@ -#!/bin/bash +#!/bin/sh + +## debug +#set -x + +. ~/.noaa.conf + +## sane checks +if [ ! -d ${NOAA_HOME} ]; then + mkdir -p ${NOAA_HOME} +fi + +if [ ! -d ${NOAA_HOME}audio/ ]; then + mkdir -p ${NOAA_HOME}/audio/ +fi + +if [ ! -d ${NOAA_HOME}/image/ ]; then + mkdir -p ${NOAA_HOME}/image/ +fi + +if [ ! -d ${NOAA_HOME}/map/ ]; then + mkdir -p ${NOAA_HOME}/map/ +fi + +if [ ! -d ${NOAA_HOME}/predict/ ]; then + mkdir -p ${NOAA_HOME}/predict/ +fi + if pgrep "rtl_fm" > /dev/null then exit 1 fi + # $1 = Satellite Name # $2 = Frequency # $3 = FileName base # $4 = TLE File # $5 = EPOC start time # $6 = Time to capture + START_DATE=$(date '+%d-%m-%Y %H:%M') -timeout "${6}" rtl_fm -f "${2}"M -s 60k -g 50 -p 55 -E wav -E deemp -F 9 - | sox -t raw -e signed -c 1 -b 16 -r 60000 - /home/pi/audio/"${3}".wav rate 11025 +timeout "${6}" rtl_fm -f "${2}"M -s 60k -g 50 -p 55 -E wav -E deemp -F 9 - | sox -t raw -e signed -c 1 -b 16 -r 60000 - ${NOAA_HOME}/audio/"${3}".wav rate 11025 PASS_START=$("$5" + 90) -/usr/local/bin/wxmap -T "${1}" -H "${4}" -p 0 -l 0 -o "${PASS_START}" /home/pi/map/"${3}"-map.png +/usr/local/bin/wxmap -T "${1}" -H "${4}" -p 0 -l 0 -o "${PASS_START}" ${NOAA_HOME}/map/"${3}"-map.png for i in ZA MCIR MCIR-precip MSA MSA-precip HVC-precip HVCT-precip HVC HVCT; do - /usr/local/bin/wxtoimg -o -m /home/pi/map/"${3}"-map.png -e $i /home/pi/audio/"${3}".wav /home/pi/image/"${3}"-$i.png - /usr/bin/convert /home/pi/image/"${3}"-$i.png -undercolor black -fill yellow -pointsize 18 -annotate +20+20 "$1 $START_DATE" /home/pi/image/"${3}"-$i.png + /usr/local/bin/wxtoimg -o -m ${NOAA_HOME}/map/"${3}"-map.png -e $i ${NOAA_HOME}/audio/"${3}".wav ${NOAA_HOME}/image/"${3}"-$i.png + /usr/bin/convert ${NOAA_HOME}/image/"${3}"-$i.png -undercolor black -fill yellow -pointsize 18 -annotate +20+20 "$1 $START_DATE" ${NOAA_HOME}/image/"${3}"-$i.png done diff --git a/schedule.sh b/schedule.sh index bd5803a..b9f2030 100644 --- a/schedule.sh +++ b/schedule.sh @@ -1,13 +1,19 @@ -#!/bin/bash -#wget -qr https://www.celestrak.com/NORAD/elements/weather.txt -O /home/pi/predict/weather.txt -grep "NOAA 15" /home/pi/predict/weather.txt -A 2 > /home/pi/predict/weather.tle -grep "NOAA 18" /home/pi/predict/weather.txt -A 2 >> /home/pi/predict/weather.tle -grep "NOAA 19" /home/pi/predict/weather.txt -A 2 >> /home/pi/predict/weather.tle +#!/bin/sh + +## debug +#set -x + +. ~/.noaa.conf + +#wget -qr https://www.celestrak.com/NORAD/elements/weather.txt -O "${NOAA_HOME}"/predict/weather.txt +grep "NOAA 15" "${NOAA_HOME}"/predict/weather.txt -A 2 > "${NOAA_HOME}"/predict/weather.tle +grep "NOAA 18" "${NOAA_HOME}"/predict/weather.txt -A 2 >> "${NOAA_HOME}"/predict/weather.tle +grep "NOAA 19" "${NOAA_HOME}"/predict/weather.txt -A 2 >> "${NOAA_HOME}"/predict/weather.tle #Remove all AT jobs for i in $(atq | awk '{print $1}');do atrm "$i";done #Schedule Satellite Passes: -/home/pi/schedule_sat.sh "NOAA 19" 137.1000 -/home/pi/schedule_sat.sh "NOAA 18" 137.9125 -/home/pi/schedule_sat.sh "NOAA 15" 137.6200 +"${NOAA_HOME}"/schedule_sat.sh "NOAA 19" 137.1000 +"${NOAA_HOME}"/schedule_sat.sh "NOAA 18" 137.9125 +"${NOAA_HOME}"/schedule_sat.sh "NOAA 15" 137.6200 diff --git a/schedule_sat.sh b/schedule_sat.sh index 6d1daf8..3afc14b 100644 --- a/schedule_sat.sh +++ b/schedule_sat.sh @@ -1,10 +1,16 @@ -#!/bin/bash -PREDICTION_START=$(/usr/bin/predict -t /home/pi/predict/weather.tle -p "${1}" | head -1) -PREDICTION_END=$(/usr/bin/predict -t /home/pi/predict/weather.tle -p "${1}" | tail -1) +#!/bin/sh -var2=$(echo "$PREDICTION_END" | cut -d " " -f 1) +## debug +#set -x -MAXELEV=$(/usr/bin/predict -t /home/pi/predict/weather.tle -p "${1}" | awk -v max=0 '{if($5>max){max=$5}}END{print max}') +. ~/.noaa.conf + +PREDICTION_START=$(/usr/bin/predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" | head -1) +PREDICTION_END=$(/usr/bin/predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" | tail -1) + +var2=$(echo "${PREDICTION_END}" | cut -d " " -f 1) + +MAXELEV=$(/usr/bin/predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" | awk -v max=0 '{if($5>max){max=$5}}END{print max}') while [ "$(date --date="@${var2}" +%D)" == "$(date +%D)" ]; do START_TIME=$(echo "$PREDICTION_START" | cut -d " " -f 3-4) @@ -15,11 +21,12 @@ while [ "$(date --date="@${var2}" +%D)" == "$(date +%D)" ]; do if [ "${MAXELEV}" -gt 19 ] then echo "${1//" "}""${OUTDATE}" "$MAXELEV" - echo "/home/pi/receive.sh \"${1}\" $2 '${1//" "}'${OUTDATE} /home/pi/predict/weather.tle ${var1} '${TIMER}'" | at "$(date --date="TZ=\"UTC\" '${START_TIME}'" +"%H:%M %D")" + echo "'${NOAA_HOME}'/receive.sh \"${1}\" $2 '${1//" "}'${OUTDATE} "${NOAA_HOME}"/predict/weather.tle \ + ${var1} '${TIMER}'" | at "$(date --date="TZ=\"UTC\" '${START_TIME}'" +"%H:%M %D")" fi - nextpredict=$("${var2}" + 60) - PREDICTION_START=$(/usr/bin/predict -t /home/pi/predict/weather.tle -p "${1}" "${nextpredict}" | head -1) - PREDICTION_END=$(/usr/bin/predict -t /home/pi/predict/weather.tle -p "${1}" "${nextpredict}" | tail -1) - MAXELEV=$(/usr/bin/predict -t /home/pi/predict/weather.tle -p "${1}" "${nextpredict}" | awk -v max=0 '{if($5>max){max=$5}}END{print max}') + NEXTPREDICT=$("${var2}" + 60) + PREDICTION_START=$(/usr/bin/predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" "${NEXTPREDICT}" | head -1) + PREDICTION_END=$(/usr/bin/predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" "${NEXTPREDICT}" | tail -1) + MAXELEV=$(/usr/bin/predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" "${NEXTPREDICT}" | awk -v max=0 '{if($5>max){max=$5}}END{print max}') var2=$(echo "${PREDICTION_END}" | cut -d " " -f 1) done From be1bd3a6ec0d0ff261762d66211b40266904ccdb Mon Sep 17 00:00:00 2001 From: gonzalo Date: Tue, 11 Sep 2018 14:51:38 +0200 Subject: [PATCH 3/3] fix PATH --- receive.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/receive.sh b/receive.sh index 1df3ca3..aca4e20 100644 --- a/receive.sh +++ b/receive.sh @@ -10,7 +10,7 @@ if [ ! -d ${NOAA_HOME} ]; then mkdir -p ${NOAA_HOME} fi -if [ ! -d ${NOAA_HOME}audio/ ]; then +if [ ! -d ${NOAA_HOME}/audio/ ]; then mkdir -p ${NOAA_HOME}/audio/ fi