PiLocoBuffer als WiThrottle Server konfigurieren

Diese Schritt-für-Schritt-Anleitung zeigt einen möglichen Weg den PiLocoBuffer als WiThrottle-Server mit JMRI zu konfigurieren. Der Rasperry Pi ist für diesen Zwecke der idealer und kostengünstiger Kleincomputer und viel leistungsfähiger als die bei üblichen LN-WiFi-Adaptern (z.B. Digitrax PR3, Uhlenbrock 63860, Yarmorc YD7001) verwendeten Wemos – die in den Regel mit einer Hand voll WiFreds am Limit sind. Der Pi verwendet als Betriebssystem Debian das auf Linux basiert. Die Bedienung ist nicht jedem geläufig – daher diese Anleitung für Nicht-Informatiker im Kochbuchstil…man nehme….

Ich arbeite dabei ganz bewusst mit der grafischen Oberfläche auf den Pi (da das Vorgehen die meisten von Windows gewöhnt sind). Bei Linux/Debian erfolgt die Programminstallation über Konsoleneingaben – ganz anders als bei Windows. Die teilweise erstmal etwas kryptisch erscheinende Befehle sind alle hier aufgelistet und können per drag-and-drop übernommen werden.

Experten werden einen anderen Weg (ohne grafische Oberfläche, nur mit Konsoleneingaben) gehen. Für die ist die Anleitung natürlich nicht gedacht – die kennen sich ja sowieso mit Linux aus.

Was brauchen wir:
– Rasbery Pi 4 Model B mit 2 GB RAM (!!! keinen Pi 5!!!),
4 GB geht auch, braucht es aber nicht
– PiLocoBuffer aus der FREMO-Bestellaktion
– Schnelle Micro-SD-Karte 32 GB, ggf. Adapter auf SD-Karte – abhängig vom
Kartenslot des Windows PC
– Leistungsfähige Stromversorgung für den Pi (5V, 3A z.B. original Pi-Netzteil)
– Adapter oder Adapterkabel Mico-HDMI auf HDMI oder was euer Monitor hat
(wird nur zur Einrichtung benötigt)

Zuerst müssen wir das Raspberry Pi OS auf der SD-Karte mit dem offiziellen Raspberry Pi Imager erstellen. Das machen wir ganz normal am Windows-PC.

https://www.raspberrypi.com/software/

Model P4 auswählen

Dann beim Betriebssystem (OS) nicht das vorgeschlagene sondern nach unten scrollen bis Pi OS (other)

In den Menu Pi OS Legacy 64-bit Bullseyes Full auswählen.

Die SD-Karte auswählen.
Nun müssen wir noch Einstellungen vornehmen:



In den Allgemeinen Einstellungen eine individuellen Hostnamen vergeben (auf dem Treffen sollten nicht alle nur „lbserver“ heißen).

Es macht auch Sinn, eine individuellen User-Namen/PW zu erstellen. Das ist zwar nur für den SSH-Zugang relevant, der Pi motzt dann später immer und fordert auf, das Standardpasswort zu ändern.

Dann brauchen wir zur Einrichtung noch ein WiFi mit Internetzugang.

Dann Speichern, die Anwendung der OS-Änderungen mit „Ja“ aktivieren und das Überschreiten der SD-Karte bestätigen und die Software beginnt die Daten auf die SD-Karte zu übertragen und dann zu verifizieren. Wenn die Verifizierung durchgelaufen ist kommen Aufforderungen am Bildschirm: Man solle die SD-Karte formatieren – einfach ignorieren und die SD-Karte entnehmen und in den Pi einschieben.

Nun muss der Pi konfiguriert werden – dazu müssen wir auf die Kommandozeile des Pi kommen. Dafür gibt es unterschiedliche Wege: Direkt am Pi oder über SSH/VCN. SSH/VCN möchte ich hier nicht beschreiben. Es erfordert zusätzliche Software (PuTTy, IP-Scanner, …) und wer sich genauer auskennt weiß sowieso wie das geht.

Wir arbeiten nun direkt am Pi und schließen dazu den Pi an einen Bildschirm (mit Adapter Micro-HDMI) + Maus + Tastatur an. Er hat ja genug USB-Buchsen. Das ist alles nur temporär für die Einrichtung!
Wir der Pi mit Strom versorgt denn fährt er hoch und zeigt einen schönen Sonnenuntergang (wenn es ein Fischerboot ganz in Blau gehalten ist habt Ihr das falsche OS erwischt – nochmal von vorne). Mit dem Browser (Weltkugel links oben) können wir nun testen ob der Pi Internet hat und diese Seite auf dem PI aufrufen.

www.us-trains.info/

Alles was beim Pi auf Admin-Ebene gemacht wird erfolgt über das Terminal >_, 4. Eintrag in der linken oberen Ecke. Admin-Befehlen ist i.d.R. sudo vorgestellt. Alle Befehle können mit markieren, rechte Maustaste-> copy und in Terminal dann ebenfalls mit rechter Maustaste und paste eingefügt werden. Man braucht also nix abzutippen.

Die Einrichtung gliedert sich in vier Teile.

1. LBServer installieren

Dann geht es gleich im Terminal los

sudo apt install pkg-config avrdude libsystemd-dev

d-

mit „Y“ fortsetzen.
Nun holen wir uns das Config-Zip über das Teminal:

wget https://sourceforge.net/projects/loconetovertcp/files/PiLocoBuffer/config/PiLocoBufferConfig_0.1.zip

Der Download landet dann im Stammverzeichnis des aktuellen Users. Über den File Manager dort das zip markieren, rechte Maustaste und „Extract Here“. Dann wir ein neues VerzeichnisPiLocoBufferConfig_0.1 erstellt. Dort liegen dann die Programmdateien von PiLocoBuffer.

Dann geht es wieder im Terminal weiter (da wir wieder als Admin aktiv werden müssen):

cd PiLocoBufferConfig_0.1
sudo make FIRMWARE_VER=2023-04-15 LBSERVER_VER=0.14 all

Nach eine Neustart (geht auch über das Terminal sudo reboot) sollte nun etwas auf dem Bildschirm des PiLocoBuffers erscheinen – wird es aber in 95% der Fälle nicht! Nun ist erstmal drehen im Uhrzeigersinn am Poti (10k) links neben dem roten Knopf angesagt – drehen, ja weiter drehen, und weiter drehen,… – es können auf 25, 50, 100 Mal sein bis da langsam etwas erscheint. Mit dem andere Poti kann dann noch die Helligkeit passend eingestellt werden.

2. JAVA und JMRI Installieren
Java installieren:

sudo apt install default-jdk

im Lauf der Installation muss man wieder mit „Y“ bestätigen. In Installation dauert ein paar Minuten – Geduld!

Nun hole ich mir das neuste JMRI -am schnellsten wieder über die das Terminal
wget https://github.com/JMRI/JMRI/releases/download/v5.6/JMRI.5.6+R89a87446cb.tgz

Der Download landet dann im Stammverzeichnis des aktuellen Users, dort mit dem File Manger das tgz markieren, rechte Maustaste und „Extract Here“. Dann wir eine neues Verzeichnis JMRI erstellt. Dort liegen dann erstmal die Programmdateien von JMRI.

So sollte es dann aussehen

Weiter im Terminal

cd ~/JMRI
./CreateJmriApps.sh -d

Nun sollte auf dem Desktop die „PanelPro.desktop“ erscheinen.

Wir wollen ja, daß der PiLocoBuffer automatisch startet, wenn er eingeschalten wird (wenn Morgens auf dem Treffen der Strom eingesteckt wird) . Also wieder ins Terminal:

cd ~/.config
mkdir autostart
cd autostart
ln -s ~/Desktop/PanelPro.desktop PanelPro.desktop

sudo reboot

4. JMRI configurieren

DecoderPro startet nun und will konfiguriert werden. Verbindung zum LbServer einrichten – sprich Digitalsystem Digitrax auswählen, Verbindung Loconet über TCP und den Localhost ( 127.0.0.1) als Serveradresse, DSC100 und speichern.

Nun über Bearbeiten -> Voreinstellungen in der rechten Leiste Reiter WiThrottle wechseln den WiThrottle Server bei Startup zu aktivieren.

5. Startverzögerung für JMRI
Nun gibt es noch eine Besonderheit. Wenn man das ganze System (Fritzbox/Zentrale/PiLNBuffer) gleichzeitig einschaltet (also wenn einer auf dem Treffen die komplette Stromversorgung des Arrangements einsteckt) fährt der unter Umständen das JMRI schneller hoch, als die FritzBox das LAN bereitstellt. D.h. JMRI findet beim Start keine LAN/WLAN-Verbindung. Somit können sich die WiFreds nicht anmelden.

Daher macht es Sinn den Start des JMRI etwas zu verzögern.

Durch den 1. Start von JMRI wird im Homeverzeichniss der Ordner .jmri automatisch erstellt. Der Ordner ist aber „Hidden“ und wird erst angezeigt, wenn man „show Hidden“ aktiviert. In den Ordner befindet sich die Datei „PanelProConfig2.properties“. Die Datei kann man nun editieren:

<entry key=“autoStartTimeout“>30</entry>
<entry key=“autoStart“>false</entry>

JMRI will nun einen Neustart und damit ist der PiLocoBuffer nun Einsatzbereit.

WiFred – Adressen zuweisen

Mit den WiFred gibt es nun im Fremo einen zuverlässigen Funk-Handregler für das LocoNet, der sich sicherlich schnell durchsetzen und in ein paar Jahren fast vollständig die kabelgebundene Fredis ablösen wird. Seit 2021 werden schon Treffen vollständig über WiFreds gefahren, ohne Rückfallebene mit LN-Boxen.

Die Adresszuweisung unterscheidet sich grundlegend von Dispatch der kabelgebunden Freds. Da das Wissen hier noch nicht so weit verbreitet ist, habe ich hier diese Anleitung erstellt. Es ist ein Weg – der WiFred bietet viele Wege, aber sämtliche Option aufzuzeigen verwirrt den Einsteiger. Die ausführliche Dokumentation ist hier zu finden.

Was braucht man dafür?

Um eine Adresse auf einen WiFred zu dispatchen braucht man nur ein Mobiltelefon.

Ein WiFred kann bis zu 4 Adressen steuern

Pro WiFred können 4 Adressen (auch kurze Consistadressen) gesteuert werden, auch gleichzeitig (Beispiel: ich fahre einen Local mit zwei Loks, stelle beim rangieren eine zur Seite. Fahre dann später mit zwei Loks weiter) oder nacheinander (Beispiel: Ich habe 4 Loks (-Gruppen/Consists) für Extras dabei die ich nacheinander (nicht gleichzeitig) einsetzen möchte). Die können dann jeweils auf einen Regler zugewiesen werden, mit den 4 Schiebeschaltern kann die Steuerung der gewünschten Loks eingeschaltet werden.

Beispiel:

Ich werde mir für Wolfi 2 WiFreds für mich vorbereiten. Auf einem WiFred sind meine Loks für Locals zugeordnet und auf dem 2. sind meine Loks für Extras für die Hauptstrecke. Ich gehe nach SWD-Prinzip davon aus, daß ich i.d.R. mit meine Loks fahren werde – ich kann aber nur mit einer Traktion  gleichzeitig fahren. 
Somit steht ein Regler für meine verschiedenen Locals-Bespannungen bereit und ich entscheide, ob ich die ATSF 2107 (Schieberegler 1), eventuell zusammen mit der ATSF 3100 (Schiebregler 2), die WP 731 (Schieberegler 3) oder die SOO 4512 (Schieberegler 4) fahren möchte.

Für meine Extra/Thrus gibt es einen zweiten WiFred. Auch darauf sind auf Schieberegler 1 die SP-Tunnel-Motor auf Schieberegler 2 die SP GP40, auf Schieneregler 2 der WP-Consist, usw. Dann kann ich jede SP-Lok einzeln oder auch beide zusammen fahren oder die WPs.

Klar – wenn sich jemand die WP-Localtraktion von mir „ausleihen“ möchte und ich gleichzeitig selber einen Local mit meinen Loks fahren möchte, müssen wir temporär die Adresse der WP-Lok auf eine neue WiFred dispatchen. Aber das geht ja schnell und ich habe das im Focus, dass die WP-Lok „verliehen“ ist und auf einem andere Regler läuft. Der Schieberegler 3 ist dann solange bei mir Tabu. Die Zuweisung bleibt aber auf meinem „Local-WiFred“ bestehen. 

Adressen dem WiFred zuweisen

Dazu wir zunächst der WiFred ausgeschaltet (alle 4 Schieberegler runter) und etwa 5 Sekunden warten bis alle LED ausgehen. Dann die gelbe Taste gedrückt halten und dabei den WiFred mit gedrückter Taste einschalten. Die gelbe Taste gedrückt halten, bis der WiFred aufhört grün/rot zu blinken und Dauerlicht rot zeigt. Das ist das Zeichen, daß er einen Hotspot aufgebaut hat. Nun im Mobiltelefon die WLAN-Einstellungen öffnen und nach einem WLAN WiFred-configXXX suchen.

Das Mobiltelefon mit diesem WLAN WiFred-configXXXX verbinden und einen Browser öffnen. Dort kann man dann die Configseite des WiFred öffnen. Abhängig vor Betriebssystem geht das automatisch indem man auf verbinden drückt oder indem man irgendwas im Bowser aufruft (da es ja nix anderes verfügbar ist) oder über http://192.168.4.1 oder http://config.local . Wer es etwas komfortabler möchte sollte (zu Hause) den Bonjour Browser installieren, dieser zeigt gleich alle WiFreds an, die sich im Config befinden.

https://play.google.com/store/apps/details?id=de.wellenvogel.bonjourbrowser

Die Configseite ist an sich selbsterklärend: Für Loco 1-4 (=Schieberegler 1-4) können lange oder kurze Consistadressen ausgewählt werden, die Fahrrichtung geänderte werden und sogar ein Funktionsmapping eingestellt werden. Adresse -1 bedeutet Schieberegler nicht belegt.

Wichtig: Jede Eingabe im Loco-Block immer mit „save loco config“ anschließen!

Sind alle Loks zugewiesen die Configseite GANZ WICHTIG immer mit dem Button „Restart WiFred to enable new WiFi settings VERLASSEN!!!! (auch wenn nix an den WiFi-Settings geändert wurde). Je nach Firmwarestand des WiFreds kann der Punkt „Restart“ auch unten sein.

Dann startet der WiFred neu, verbinden sich mit dem DCC-Wlan und zeigt dann grün. 

Veröffentlicht am Kategorien DCC