Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
dmr:dvmega:nutzung_mit_mmdvm_und_bluestack_micro [2016/03/23 18:35] – dg9vh | dmr:dvmega:nutzung_mit_mmdvm_und_bluestack_micro [2016/04/28 22:47] – dg9vh | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Nutzung mit MMDVM und BlueStack micro+ ====== | ====== Nutzung mit MMDVM und BlueStack micro+ ====== | ||
+ | ===== Wichtiger Hinweis vorneweg ===== | ||
+ | Diese Anleitung gilt für einen Raspberry Pi B, B+ bzw. Raspberry Pi 2, für einen Raspberry Pi 3 ist ggf. noch weiteres notwendig, was ich derzeit nicht weiß, weil ich keinen RPI3 mein Eigen nenne. | ||
+ | |||
===== Voraussetzungen ===== | ===== Voraussetzungen ===== | ||
Zur Nutzung des DVMEGA mit MMDVM und BlueStack micro+ benötigt man | Zur Nutzung des DVMEGA mit MMDVM und BlueStack micro+ benötigt man | ||
Zeile 28: | Zeile 31: | ||
und stößt den Compiliervorgang an | und stößt den Compiliervorgang an | ||
make | make | ||
+ | |||
+ | Nach dem Kompilieren legt man sich mit | ||
+ | sudo mkdir /opt/mmdvm | ||
+ | ein entsprechendes Verzeichnis an, welches den MMDVMHost zukünftig beherbergt. | ||
| | ||
- | Im Anschluss kopiert man die beiden Dateien " | + | Im Anschluss kopiert man die beiden Dateien " |
[General] | [General] | ||
Zeile 42: | Zeile 49: | ||
TXFrequency=433612500 | TXFrequency=433612500 | ||
Power=0.01 | Power=0.01 | ||
- | Latitude=0.0 | + | Latitude=49.231966 |
- | Longitude=0.0 | + | Longitude=6.834845 |
- | Height=0 | + | Height=5 |
Location=Voelklingen, | Location=Voelklingen, | ||
Description=Multi-Mode Repeater | Description=Multi-Mode Repeater | ||
Zeile 62: | Zeile 69: | ||
TXInvert=1 | TXInvert=1 | ||
RXInvert=0 | RXInvert=0 | ||
- | PTTInvert=1 | + | PTTInvert=0 |
TXDelay=100 | TXDelay=100 | ||
DMRDelay=0 | DMRDelay=0 | ||
RXLevel=50 | RXLevel=50 | ||
TXLevel=50 | TXLevel=50 | ||
- | OscOffset=50 | + | OscOffset=0 |
Debug=1 | Debug=1 | ||
| | ||
Zeile 115: | Zeile 122: | ||
| | ||
Anschließend kann man die Software mit | Anschließend kann man die Software mit | ||
- | sudo / | + | sudo / |
starten. | starten. | ||
- | ===== Startskript | + | ===== Watchdogscript |
+ | An dieser Stelle wird es leider jetzt etwas unsauber, da man zunächst mittels | ||
- | | + | |
- | ### BEGIN INIT INFO | + | |
- | # | + | |
- | # Provides: | + | |
- | # Required-Start: | + | |
- | # Required-Stop: | + | |
- | # Default-Start: | + | |
- | # Default-Stop: | + | |
- | # Short-Description: | + | |
| | ||
- | # | + | dem MMDVMHost |
- | ### END INIT INFO | + | |
- | ## Fill in name of program here. | + | Hier das Watchdogscript: |
- | PROG="MMDVMHost" | + | |
- | PROG_PATH="/ | + | |
- | PROG_ARGS="/ | + | |
- | | + | |
- | USER=" | + | |
| | ||
- | | + | ## Fill in name of program here. |
- | if [ -e $PIDFILE ]; then | + | PROG="MMDVMHost" |
- | | + | |
- | echo " | + | |
- | exit 1 | + | PIDFILE=" |
- | | + | |
- | ## Change from /dev/null to something like /var/log/$PROG if you want to save output. | + | |
- | cd $PROG_PATH | + | |
- | sleep 30 | + | PING="/bin/ping" |
- | sudo -u $USER /usr/bin/stdbuf -i0 -o0 -e0 ./$PROG $PROG_ARGS 2>&1 >> | + | WATCHDOGFILE=" |
- | echo "$PROG started" | + | |
- | touch $PIDFILE | + | |
- | fi | + | |
- | | + | |
| | ||
- | | + | |
- | if [ -e $PIDFILE ]; then | + | if [ -e $PIDFILE ]; then |
- | ## Program is running, | + | ## Program is running, |
- | | + | echo "Error! |
- | rm -f $PIDFILE | + | exit 1 |
- | killall | + | |
- | echo "$PROG stopped" | + | ## Change from /dev/null to something like /var/log/$PROG if you want to save output. |
- | | + | |
- | ## Program is not running, exit with error. | + | sudo -u $USER / |
- | echo "Error! | + | echo "$PROG started" |
- | exit 1 | + | sudo touch $PIDFILE |
- | fi | + | fi |
} | } | ||
| | ||
- | | + | if [ -e $WATCHDOGFILE ]; then |
- | | + | echo " |
- | if [ "$(id -u)" != "0" | + | exit 1 |
- | | + | |
- | exit 1 | + | |
+ | if [ ! " | ||
+ | then | ||
+ | runwatchdog=1 | ||
+ | sudo touch $WATCHDOGFILE | ||
+ | sudo rm $PIDFILE | ||
+ | start | ||
+ | fi | ||
+ | |||
+ | sleep 10 | ||
+ | |||
+ | counter=`tail -n 4 /mnt/ramdisk/MMDVM-$(date | ||
+ | | ||
+ | if [ $counter | ||
+ | | ||
+ | | ||
+ | sudo touch $WATCHDOGFILE | ||
+ | killall $PROG | ||
+ | sudo rm $PIDFILE | ||
+ | start | ||
+ | fi | ||
+ | |||
+ | if [ $runwatchdog -gt "0" | ||
+ | | ||
+ | sudo rm $WATCHDOGFILE | ||
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. |