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/03/23 18:35] – dg9vh | dmr:dvmega:nutzung_mit_mmdvm_und_bluestack_micro [2016/08/17 15:02] (aktuell) – [Installation und Konfiguration von MMDVMHost] 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 8: | 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 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 57: | Zeile 64: | ||
| | ||
[Modem] | [Modem] | ||
- | # Port=/ | ||
- | # | ||
Port=/ | Port=/ | ||
+ | # | ||
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 121: | ||
| | ||
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. |