Alternative zu bestehenden WiThrottleServern
Neue Lösung von Pal Olsen
Wer eine ressourcenschonende Lösung ohne grafische Oberfläche sucht, findet mit der Lösung von Pal Olsen (ich nenne die hier mal PAOWTS) eine funktionale Alternative, z. B. zu JMRI.
Die Anwendung ist in Java geschrieben und lässt sich problemlos auf einem Raspberry Pi betreiben, z. B. ideal in Kombination mit einem PiLocoBuffer.
Diese Kombination eignet sich besonders für den Betrieb FREMO-WLAN-Handreglern wie dem WLFRED.
Da PAOWTS keine eigene LocoNet-Schnittstelle besitzt, erfolgt die Verbindung über einen vorhandenen LnOverTcpServer wie etwa dem lbserver dem PiLocoBuffer.
Betrieb mit der ReadyToGo-Version des PiLocoBuffer
Einrichten PAO-WTS auf der ReadyToGo-Version und Einrichten des Autostarts
Grundlagen
- Die Datei WiThrottleServer.jar wird im Verzeichnis /home/pi/WiThrottleServer/ abgelegt.
- Sollte bereits JRMI installiert sein, muss der Autostart von JMRI unterbunden werden.
Dazu können die beiden Desktop-Dateien mit folgendem Befehl umbenannt werden:
for f in ~/Desktop/DecoderPro.desktop ~/Desktop/PanelPro.desktop; do mv „$f“ „$f.alt“; done
Kontrolle:
ls -l ~/Desktop
Die Dateien sollten anschließend als
- DecoderPro.desktop.alt
- PanelPro.desktop.alt
angezeigt werden.
Dadurch werden DecoderPro und PanelPro beim Start des Raspberry Pi nicht mehr automatisch gestartet.
Nun kann Schritt für Schritt die Installation erfolgen:
- Verzeichnis anlegen und WiThrottleServer herunterladen
Falls das Verzeichnis noch nicht existiert:
mkdir -p /home/pi/WiThrottleServer
Aktuelle Version herunterladen:
wget -O /home/pi/WiThrottleServer/WiThrottleServer.jar https://paolsen.net/WiThrottleServer/WiThrottleServer.jar
Kontrolle:
ls -lh /home/pi/WiThrottleServer/WiThrottleServer.jar
Die Datei sollte nun mit Größe und Datum angezeigt werden.
- Pfad zur .jar-Datei und Java testen
Manuell testen im Terminal:
/usr/bin/java -jar /home/pi/WiThrottleServer/WiThrottleServer.jar localhost 1234
Wenn die Ausgabe lautet:
Server is STARTING…
Server is now RUNNING
funktioniert alles korrekt.
Den Testserver anschließend mit CTRL+C beenden.
- Crontab bearbeiten
Crontab-Editor öffnen:
sudo crontab -e
Beim ersten Aufruf den Editor nano wählen, wenn gefragt.
- Autostart-Befehl einfügen
Ganz unten einfügen:
@reboot sleep 15 && /usr/bin/java -jar /home/pi/WiThrottleServer/WiThrottleServer.jar localhost 1234 > /home/pi/withrottle.log 2>&1
Erklärung
- sleep 15 = wartet 15 Sekunden nach dem Bootvorgang, damit Netzwerk und Dienste vollständig gestartet sind.
- > /home/pi/withrottle.log 2>&1 = schreibt alle Ausgaben und Fehlermeldungen in die Logdatei withrottle.log.
- Speichern und beenden
In nano:
- CTRL + O → Speichern
- ENTER → bestätigen
- CTRL + X → beenden
- Raspberry Pi neu starten
sudo reboot
- Funktion prüfen
Verbundene WiFREDs sollten sich nach etwa 1–2 Minuten verbinden.
Falls nicht:
Laufenden Prozess prüfen:
ps aux | grep WiThrottle
Logdatei anzeigen:
cat /home/pi/withrottle.log
Wenn in der Logdatei steht:
Server is STARTING…
Server is now RUNNING
ist der Autostart erfolgreich eingerichtet.
Server manuell stoppen
Da der Server über die Root-Crontab gestartet wird:
sudo pkill -f WiThrottleServer.jar
Anschließend prüfen:
ps aux | grep WiThrottle
Wenn nur noch die grep-Zeile erscheint, wurde der Server erfolgreich beendet.
Manuell gestartet werden kann wieder durch
/usr/bin/java -jar /home/pi/WiThrottleServer/WiThrottleServer.jar localhost 1234
