Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
dmr:dvmega:nutzung_mit_mmdvm_und_bluestack_micro [2016/04/28 11:55] – [Startskript für automatischen Start beim Hochfahren des Raspberry Pi] dg9vh | dmr:dvmega:nutzung_mit_mmdvm_und_bluestack_micro [2016/08/17 15:02] (aktuell) – [Installation und Konfiguration von MMDVMHost] dg9vh | ||
---|---|---|---|
Zeile 11: | Zeile 11: | ||
===== Vorbereitung des DVMEGA ===== | ===== Vorbereitung des DVMEGA ===== | ||
- | Bevor das DVMEGA Modul zusammen mit der blue Spot App für DMR benutzt werden kann, ist zunächst ein Firmware-Update vorzunehmen. Hierzu montiert man das Modul auf das BlueStack Modul, rastet den auf dem BlueStack Modul befindlichen Schalter ein, schließt beides per USB an einen PC an und führt die xloader Software aus um das Firmware Update einzuspielen. | + | Bevor das DVMEGA Modul zusammen mit der blue Spot App für DMR benutzt werden kann, ist zunächst ein Firmware-Update vorzunehmen. Hierzu montiert man das Modul auf das BlueStack Modul, rastet den auf dem BlueStack Modul befindlichen Schalter ein, schließt beides per USB an einen PC an und führt die xloader Software aus um das Firmware Update einzuspielen. Hierbei muss, wie in der [[http:// |
Hierbei ist wichtig als Typ des Gerätes “UNO“ auszuwählen. | Hierbei ist wichtig als Typ des Gerätes “UNO“ auszuwählen. | ||
Zeile 64: | Zeile 64: | ||
| | ||
[Modem] | [Modem] | ||
- | # Port=/ | ||
- | # | ||
Port=/ | Port=/ | ||
+ | # | ||
TXInvert=1 | TXInvert=1 | ||
RXInvert=0 | RXInvert=0 | ||
Zeile 125: | Zeile 124: | ||
starten. | starten. | ||
- | ===== Startskript | + | ===== Watchdogscript |
An dieser Stelle wird es leider jetzt etwas unsauber, da man zunächst mittels | An dieser Stelle wird es leider jetzt etwas unsauber, da man zunächst mittels | ||
Zeile 132: | Zeile 131: | ||
dem MMDVMHost ein " | dem MMDVMHost ein " | ||
- | Hier das Startscript: | + | Hier das Watchdogscript: |
- | #!/bin/bash | + | # |
- | ### BEGIN INIT INFO | + | |
- | # | + | |
- | # Provides: | + | |
- | # Required-Start: | + | |
- | # Required-Stop: | + | |
- | # Default-Start: | + | |
- | # Default-Stop: | + | |
- | # Short-Description: | + | |
| | ||
- | | + | ## Fill in name of program here. |
- | ### END INIT INFO | + | PROG=" |
- | | + | PROG_PATH="/ |
- | PROG=" | + | PROG_ARGS="/ |
- | PROG_PATH="/ | + | PIDFILE="/ |
- | PROG_ARGS="/ | + | USER=" |
- | PIDFILE="/ | + | IP_FOR_TEST=" |
- | USER=" | + | PING_COUNT=5 |
+ | PING="/ | ||
+ | WATCHDOGFILE="/ | ||
+ | runwatchdog=0 | ||
| | ||
- | | + | |
+ | if [ -e $PIDFILE ]; then | ||
+ | ## Program is running, exit with error. | ||
+ | echo "Error! $PROG is currently running!" | ||
+ | exit 1 | ||
+ | else | ||
+ | ## Change from /dev/null to something like / | ||
+ | cd $PROG_PATH | ||
+ | sudo -u $USER / | ||
+ | echo "$PROG started" | ||
+ | sudo touch $PIDFILE | ||
+ | fi | ||
+ | } | ||
| | ||
- | | + | |
- | PING="/bin/ping" | + | |
+ | exit 1 | ||
+ | fi | ||
| | ||
- | | + | if [ ! "$(pidof |
- | | + | |
- | ## Program is running, exit with error. | + | runwatchdog=1 |
- | echo "Error! | + | sudo touch $WATCHDOGFILE |
- | | + | sudo rm $PIDFILE |
- | | + | start |
- | ## Change from /dev/null to something like /var/log/$PROG if you want to save output. | + | fi |
- | | + | |
- | $PING -c $PING_COUNT $IP_FOR_TEST > /dev/null 2> /dev/null | + | |
- | while [ $? -ge 1 ] | + | |
- | do | + | |
- | sleep 1 | + | |
- | $PING -c $PING_COUNT $IP_FOR_TEST > /dev/null 2> /dev/null | + | |
| | ||
- | done | + | sleep 10 |
| | ||
- | sudo -u $USER /usr/bin/stdbuf | + | counter=`tail |
- | echo "$PROG started" | + | |
- | touch $PIDFILE | + | |
- | fi | + | |
- | } | + | |
| | ||
- | | + | if [ $counter |
- | | + | |
- | ## Program is running, so stop it | + | |
- | echo "$PROG is running" | + | sudo touch $WATCHDOGFILE |
- | rm -f $PIDFILE | + | killall $PROG |
- | | + | sudo rm $PIDFILE |
- | echo "$PROG stopped" | + | start |
- | else | + | fi |
- | ## Program is not running, exit with error. | + | |
- | echo " | + | |
- | exit 1 | + | |
- | | + | |
- | } | + | |
| | ||
- | | + | if [ $runwatchdog |
- | ## Found at http:// | + | |
- | | + | sudo rm $WATCHDOGFILE |
- | echo "This script must be run as root" 1>& | + | |
- | exit 1 | + | |
fi | fi | ||
| | ||
- | case " | ||
- | start) | ||
- | start | ||
- | exit 0 | ||
- | ;; | ||
- | stop) | ||
- | stop | ||
- | exit 0 | ||
- | ;; | ||
- | reload|restart|force-reload) | ||
- | stop | ||
- | sleep 2 | ||
- | start | ||
- | exit 0 | ||
- | ;; | ||
- | **) | ||
- | echo " | ||
- | exit 1 | ||
- | ;; | ||
- | esac | ||
exit 0 | exit 0 | ||
### END | ### END | ||
- | Dieses Script als /etc/init.d/mmdvm.sh abspeichern und mit | + | Dieses Script als /home/pi/scripts/ |
- | sudo chkconfig mmdvm.sh on | + | |
- | aktivieren. | + | '' |
+ | |||
+ | Damit wird im Minutentakt das Script aufgerufen. |