@@ -30,8 +30,8 @@ for i in $(atq | awk '{print $1}');do atrm "$i";done | |||||
if [ "$SCHEDULE_ISS" == "true" ]; then | if [ "$SCHEDULE_ISS" == "true" ]; then | ||||
"${NOAA_HOME}"/schedule_iss.sh "ISS (ZARYA)" 145.8000 | "${NOAA_HOME}"/schedule_iss.sh "ISS (ZARYA)" 145.8000 | ||||
fi | fi | ||||
"${NOAA_HOME}"/schedule_meteor.sh "METEOR-M 2" 137.1000 | |||||
#"${NOAA_HOME}"/schedule_meteor.sh "METEOR-M2 2" 137.9000 #Meteor M2-2 will never send LRPT again :( | |||||
"${NOAA_HOME}"/schedule_sat.sh "METEOR-M 2" 137.1000 | |||||
#"${NOAA_HOME}"/schedule_sat.sh "METEOR-M2 2" 137.9000 #Meteor M2-2 will never send LRPT again :( | |||||
"${NOAA_HOME}"/schedule_sat.sh "NOAA 19" 137.1000 | "${NOAA_HOME}"/schedule_sat.sh "NOAA 19" 137.1000 | ||||
"${NOAA_HOME}"/schedule_sat.sh "NOAA 18" 137.9125 | "${NOAA_HOME}"/schedule_sat.sh "NOAA 18" 137.9125 | ||||
"${NOAA_HOME}"/schedule_sat.sh "NOAA 15" 137.6200 | "${NOAA_HOME}"/schedule_sat.sh "NOAA 15" 137.6200 |
@@ -1,44 +0,0 @@ | |||||
#!/bin/bash | |||||
### Run as a normal user | |||||
if [ $EUID -eq 0 ]; then | |||||
echo "This script shouldn't be run as root." | |||||
exit 1 | |||||
fi | |||||
## import common lib | |||||
. "$HOME/.noaa.conf" | |||||
. "$NOAA_HOME/common.sh" | |||||
PREDICTION_START=$(predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" | head -1) | |||||
PREDICTION_END=$(predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" | tail -1) | |||||
var2=$(echo "${PREDICTION_END}" | cut -d " " -f 1) | |||||
MAXELEV=$(predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" | awk -v max=0 '{if($5>max){max=$5}}END{print max}') | |||||
log "Looking for passes of $1" INFO | |||||
while [ "$(date --date="@${var2}" +%D)" = "$(date +%D)" ]; do | |||||
log "Pass prediction for $1 in progress" "INFO" | |||||
START_TIME=$(echo "$PREDICTION_START" | cut -d " " -f 3-4) | |||||
var1=$(echo "$PREDICTION_START" | cut -d " " -f 1) | |||||
var3=$(echo "$START_TIME" | cut -d " " -f 2 | cut -d ":" -f 3) | |||||
TIMER=$(expr "${var2}" - "${var1}" + "${var3}") | |||||
OUTDATE=$(date --date="TZ=\"UTC\" ${START_TIME}" +%Y%m%d-%H%M%S) | |||||
if [ "${MAXELEV}" -gt "${METEOR_MIN_ELEV}" ]; then | |||||
log "Pass at ${MAXELEV} is above ${METEOR_MIN_ELEV}, that is OK for me" "INFO" | |||||
SATNAME=$(echo "$1" | sed "s/ //g") | |||||
echo "${SATNAME}" "${OUTDATE}" "$MAXELEV" | |||||
echo "${NOAA_HOME}/receive_meteor.sh \"${1}\" $2 ${SATNAME}${OUTDATE} "${NOAA_HOME}"/predict/weather.tle \ | |||||
${var1} ${TIMER} ${MAXELEV}" | at "$(date --date="TZ=\"UTC\" ${START_TIME}" +"%H:%M %D")" | |||||
sqlite3 $HOME/raspberry-noaa/panel.db "insert or replace into predict_passes (sat_name,pass_start,pass_end,max_elev,is_active) values (\"$SATNAME\",$var1,$var2,$MAXELEV,1);" | |||||
fi | |||||
NEXTPREDICT=$(expr "${var2}" + 60) | |||||
PREDICTION_START=$(predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" "${NEXTPREDICT}" | head -1) | |||||
PREDICTION_END=$(predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" "${NEXTPREDICT}" | tail -1) | |||||
MAXELEV=$(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 | |||||
@@ -18,15 +18,26 @@ fi | |||||
# $6 = Time to capture | # $6 = Time to capture | ||||
# $7 = Satellite max elevation | # $7 = Satellite max elevation | ||||
if [[ "$1" == *"NOAA"* ]]; then | |||||
receive_script="receive_noaa.sh" | |||||
elif [[ "$1" == *"METEOR"* ]]; then | |||||
receive_script="receive_meteor.sh" | |||||
else | |||||
log "No recognized receive skript for satellite $1!" ERROR | |||||
return -1 | |||||
fi | |||||
log "Looking for passes of $1" INFO | |||||
PREDICTION_START=$(predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" | head -1) | PREDICTION_START=$(predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" | head -1) | ||||
PREDICTION_END=$(predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" | tail -1) | PREDICTION_END=$(predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" | tail -1) | ||||
[ -z "$PREDICTION_START" ] && log "predict did not return any values!" ERROR | |||||
var2=$(echo "${PREDICTION_END}" | cut -d " " -f 1) | var2=$(echo "${PREDICTION_END}" | cut -d " " -f 1) | ||||
MAXELEV=$(predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" | awk -v max=0 '{if($5>max){max=$5}}END{print max}') | MAXELEV=$(predict -t "${NOAA_HOME}"/predict/weather.tle -p "${1}" | awk -v max=0 '{if($5>max){max=$5}}END{print max}') | ||||
log "Looking for passes of $1" INFO | |||||
while [ "$(date --date="@${var2}" +%D)" = "$(date +%D)" ]; do | while [ "$(date --date="@${var2}" +%D)" = "$(date +%D)" ]; do | ||||
START_TIME=$(echo "$PREDICTION_START" | cut -d " " -f 3-4) | START_TIME=$(echo "$PREDICTION_START" | cut -d " " -f 3-4) | ||||
var1=$(echo "$PREDICTION_START" | cut -d " " -f 1) | var1=$(echo "$PREDICTION_START" | cut -d " " -f 1) | ||||
@@ -37,7 +48,7 @@ while [ "$(date --date="@${var2}" +%D)" = "$(date +%D)" ]; do | |||||
if [ "${MAXELEV}" -gt "${SAT_MIN_ELEV}" ]; then | if [ "${MAXELEV}" -gt "${SAT_MIN_ELEV}" ]; then | ||||
SATNAME=$(echo "$1" | sed "s/ //g") | SATNAME=$(echo "$1" | sed "s/ //g") | ||||
echo "${SATNAME}" "${OUTDATE}" "$MAXELEV" | echo "${SATNAME}" "${OUTDATE}" "$MAXELEV" | ||||
echo "${NOAA_HOME}/receive.sh \"${1}\" $2 ${SATNAME}-${OUTDATE} "${NOAA_HOME}"/predict/weather.tle \ | |||||
echo "${NOAA_HOME}/${receive_script}.sh \"${1}\" $2 ${SATNAME}-${OUTDATE} "${NOAA_HOME}"/predict/weather.tle \ | |||||
${var1} ${TIMER} ${MAXELEV}" | at "$(date --date="TZ=\"UTC\" ${START_TIME}" +"%H:%M %D")" | ${var1} ${TIMER} ${MAXELEV}" | at "$(date --date="TZ=\"UTC\" ${START_TIME}" +"%H:%M %D")" | ||||
sqlite3 $HOME/raspberry-noaa/panel.db "insert or replace into predict_passes (sat_name,pass_start,pass_end,max_elev,is_active) values (\"$SATNAME\",$var1,$var2,$MAXELEV, 1);" | sqlite3 $HOME/raspberry-noaa/panel.db "insert or replace into predict_passes (sat_name,pass_start,pass_end,max_elev,is_active) values (\"$SATNAME\",$var1,$var2,$MAXELEV, 1);" | ||||
else | else | ||||