VHF DX-Status vom DXRobot
1. Vorraussetzungen
Für die Umsetzung sind Kenntnisse in LINUX und in der Funktionsweise des D-STAR-Gateways nötig!!!
Allard, PE1NWL, betreibt eine Webseite mit Informationen zu Ausbreitungsbedingungen:
www.gooddx.net.
Auf dieser Seite werden Daten zum aktuellen Status der Aurora und ES-Situation im VHF-Band angezeigt.
Diese Daten sind die Basis für ein lokales Aurora/ES-Warnsystem auf dem D-STAR-Repeater DMØMW.
2. Erstellen entsprechender Sounddateien
Es müsen 4 "Sounddateien" erstellt werden, die folgende Zustände dokumentieren:
| 1. |
Band geschlossen |
| 2. |
Aurora-Warnung |
| 3. |
ES-Warnung |
| 4. |
ES und Aurora-Warnung |
Diese Sprachansagen lassen sich mit einem D-STAR-Repeater (noch?) nicht synthetisch erzeugen.
Der einfachste Weg ist die Aufnahme einer Sprachnachricht und die Kopie dieser Datei.
Für die weiteren Scripte werden die Files abgelegt unter "/dstar/dxrobot/voices"
(zum Beispiel: aurora.dvtool, aurora_es.dvtool, closed.dvtool und closed.dvtool)
3. Abholen der aktuellen Daten vom DXRobot
Es wird eine Shellscript benötigt mit dem Namen: "/dstar/dxrobot/dxstatus.sh". Als erstes werden die zwei Dateien
des DXRobot kopiert. Danacht erfolgt das Einlesen beider Werte in eine Variable. Als dritter Wert wird ein Zähler
eingelesen. Dieser Zähler ermittelt die Anzahl der Wiederholungen beim Auftreten von Aurora oder ES.
#!/bin/bash
# Auswertung des DXRobot (from DL1RUN)
cd /dstar/dxrobot
curl -O www.xs4all.nl/~amunters/ESstatus
curl -O www.xs4all.nl/~amunters/AUstatus
for AUstat in $(< AUstatus); do
echo $(date) 'AU =' $AUstat >> /var/log/dxrobot.log
done
for ESstat in $(< ESstatus); do
echo $(date) 'ES =' $ESstat >> /var/log/dxrobot.log
done
for Announce in $(< meldung.txt); do
echo $Announce
done
|
4. Auswertung der Daten vom DXRobot
Im zweiten Teil des Script werden die Daten ausgewertet und eventuelle Warnungen ausgegeben. Sind beide Werte Null
(Band geschlossen) wird das entsprechende "Soundfile" nach "/dstar/tmp/dx.dvtool" kopiert (wird für den manuellen Aufuf
benötigt), der Zähler wird auf 5 gesetzt und ein Protokoleintrag generiert. Sollte Aurora oder ES auftreten, wird zusätzlich
eine Information gesendet (play-b.dvtool, im Beispiel 5 mal).
if [ $AUstat == '0' -a $ESstat == '0' ]
then
echo $(date) 'kein AU und ES' >> /var/log/dxrobot.log
cp /dstar/dxrobot/voices/closed.dvtool /dstar/tmp/dx.dvtool
echo '5' > meldung.txt
fi
if [ $AUstat == '1' -a $ESstat == '0' ]
then
echo $(date) 'AU-Warnung' >> /var/log/dxrobot.log
cp /dstar/dxrobot/voices/aurora.dvtool /dstar/tmp/dx.dvtool
if [ $Announce -gt '0' ]
then
cp /dstar/dxrobot/voices/aurora.dvtool /dstar/tmp/play-b.dvtool
echo $(date) 'Bake:' $Announce >> /var/log/dxrobot.log
echo $(($Announce -1)) > meldung.txt
fi
fi
if [ $AUstat == '0' -a $ESstat == '1' ]
then
echo $(date) 'ES-Warnung' >> /var/log/dxrobot.log
cp /dstar/dxrobot/voices/es.dvtool /dstar/tmp/dx.dvtool
if [ $Announce -gt '0' ]
then
cp /dstar/dxrobot/voices/es.dvtool /dstar/tmp/play-b.dvtool
echo $(date) 'Bake:' $Announce >> /var/log/dxrobot.log
echo $(($Announce -1)) > meldung.txt
fi
fi
if [ $AUstat == '1' -a $ESstat == '1' ]
then
echo $(date) 'AU und ES-Warnung' >> /var/log/dxrobot.log
cp /dstar/dxrobot/voices/aurora_es.dvtool /dstar/tmp/dx.dvtool
if [ $Announce -gt '0' ]
then
cp /dstar/dxrobot/voices/aurora_es.dvtool /dstar/tmp/play-b.dvtool
echo $(date) 'Bake:' $Announce >> /var/log/dxrobot.log
echo $(($Announce -1)) > meldung.txt
fi
fi
exit 0
|
5. Erweiterung der "crontab"
Die Daten des DXRobot werden alle 5 Minuten aktualisiert.
Dem entsprechend muß das Script in die crontab eingetragen werden.
.
.
.
1-56/5 * * * * /dstar/dxrobot/dxstatus.sh
.
.
.
|
6. Manuelle Abfrage des DX-Status
Wenn das Ausführen von Scripten aktiviert ist, kann man Eines (exec-D.sh) nutzen, um den aktuellen DX-Status anzusagen.
Das entsprechende Soundfile wurde schon in das Verzeichnis /dstar/tmp kopiert und muß nur noch kopiert werden.
#!/bin/bash
cp /dstar/tmp/dx.dvtool /dstar/tmp/play-b.dvtool
exit 0
|