Konfiguration

Das Verhalten des Systems kann sowohl über die Kommandozeile beim Start als auch über eine Konfigurationsdatei angepaßt werden. Wobei ein Parameter der Kommandozeile einen Parameter der Konfigurationsdatei überschreibt. Die Werte der Konfigurationsdatei können auch über ein Formular der Wegconfig gesetzt werden.

Die Konfigurationsdatei /etc/mrsystem

Die Konfiguration wird aus der Datei /etc/mrsystem von jedem Daemonen beim Programmstart eingelesen. Die Konfigurationsdatei enthält die nachfolgend aufgeführten Werte.

NameDefaultBeschreibung
zentrale 1 Dieser Wert bestimmt das Verhalten der Software.
WertBedeutung
0 Die Software verhält sich passiv und versendet keine Ping "member request" Nachrichten. Jede CAN Nachricht wird zwischen CAN und Ethernet übertragen (Proxy). Wenn eine CS2 bzw. cs2.exe erkannt wird, werden die "*.cs2* Konfigurationsdateien abgefragt. Verbindungen über Ethernet werden angenommen. Dieser Modus ähnelt dem einer CS2 Slave. Die Lokanmeldung und Verwaltung der Objekte kann z.b. von einem Programm auf einem angeschlossenen PC erledigt werden. Für diesen Mode sollte eine mit dem System verbundene cs2.exe im Mastermode laufen. Eine evtl. angeschlossene MS2 würde auch in den Slave Modus gehen.
1 Die Software versendet aktiv Ping "member request" Nachrichten. Die CAN Ping Nachrichten werden gefiltert, so daß eine MS2 nicht in den Slave Modus geht. Wenn eine MS2 erkannt wird, werden die Loks abgefragt. Verbindungen über Ethernet werden angenommen. In der Kombination aus MS2 und dieser Software ähnelt dieser Modus dem einer CS2 Master. Fü diesen Mode sollte eine mit dem System verbundene cs2.exe im Slavemode laufen.
broadcast 1
WertBedeutung
0 Die UDP Nachrichten werden als Unicast an die Adresse verschickt, von der Nachrichten empfangen wurden.
1 Die UDP Nachrichten werden als Broadcast verschickt. Als Broadcast Adresse wird der unter udpbc eingetragene Adresse verwendet.
udpbc "255.255.255.255" Dies ist die Broadcast Adresse, an die die UDP Broadcasts verschickt werden.
address "0.0.0.0" Dies ist die IP Adresse, über die die interne Kommunikation stattfindet. Wenn der Wert 0.0.0.0 ist, wird das interface benutzt. Wenn hier eine Adresse eingetragen wird, sollte die interne Adresse des Loopback Interfaces 127.0.0.1 verwendet werden.
port 10234 Dies ist die Portnummer, über die die interne Kommunikation stattfindet. Sollte einen andere Software diese Portnummer verwenden, kann hier der Wert auf eine andere Portnummer gesetzt werden.
interface "lo" Dies ist das Interface, über die die interne Kommunikation stattfindet. Wenn als Adresse der Wert 0.0.0.0 eingetragen wird, findet dir Kommunikation über dieses Interface statt. Als Interface sollte das Loopback Interface lo eingetragen werden.
can_interface "can0" Dies ist das CAN Interface zu Märklin Digital
cs2_path "/var/www/config" Dies ist der Pfad zu den *.cs2 Dateien. Diese Dateien müssen im Verzeichnis config des HTML Roots liegen. Damit findet auch Software, die diese Dateien per http abfragt, diese Dateien.
wakeup_s88 "0" Die beschreibt, ob die Märklin S88 Module gestartet werden sollen. Der Wert von "0" bedeutet nein. Ansonsten entspricht der Wert dem Parameter "-c" des Programms "wake-up-links88" von Gerhard Bertelsmann:
-c <config_string>  config string "B1=1,B2=3"
Als Defaultwert kann "B3=1" benutzt werden.
gpio_s88 "" Dies sind die Kommandozeilenparameter für den client_gpios88, so wie sie auch das Programm "s88udp-bpi" von Gerhard Bertelsmann erwartet.

Webconfig

Da das System einen Webserver für die Anfordergung der cs2 Dateien durch die Handy/Tablet Apps enthält, wurden auch Seiten zur Konfiguration angelegt. Die Startseite enthält ein Menü, von der die Doku des BBB, die Doku der Software und Konfigurationsseiten aufgerufen werden können.

Die Konfiguration enthält eine Seite mit Tabs für verschiedene Teile der Konfiguration. Die erste Seite enthält ein Formular für die Werte der Konfigurationsdatei /etc/mrconfig. Die Werte sind oben beschrieben.

Im zweiten Tab gibt es eine Seite, mit der ein Update eingespielt werden kann. Die Updates müssen per ftp als User developer in das Verzeichnis /home/developer/updates übertragen werden. Der Name des Update Files wird als Wert eingetragen.

Im dritten Tab gibt es eine Seite, mit der Netzwerkparameter des Linux konfiguriert werden können. Es kann zwischen DHCP und einer statischen IP Adresse gewählt werden.

Der vierte Tab erlaubt es festzulegen, welche Teile des Systems gestarte werden sollen. Das System besteht aus einem zentralen Teil, der für die Verteilung der internen Nachrichten zustä,ndig ist. Und aus Clients, die mit diesem zentralen Daemon kommunizieren und ein bestimmtes Protokoll bzw. Bus unterstützen.

NameDefaultBeschreibung
client_ccdisable Dieser Client kommuniziert mittels der CC-Schnitte mit einer MS2 (ungetestet!)
client_cs2ethenable Dieser Client stellt auf der Ethernet Schnittstelle einen CS2 kompatiblen Server zur Verfügung
client_cs2sldisable Dieser Client kommuniziert über Ethernet mit einer CS2 oder einem anderen Server,, der das CS2 Protokoll spricht
client_ms1disable Dieser Client kommuniziert mittels socketCAN mit einer MS1. Dieser Client kann nur gestartet werden, wenn das System als Schnittstelle zu CAN socketCAN unterst¨tzt und dieser Client compiliert wurde. (unvollständig!)
client_ms2enable Dieser Client kommuniziert mittels socketCAN mit einer MS2. Dieser Client kann nur gestartet werden, wenn das System als Schnittstelle zu CAN socketCAN unterst¨tzt und dieser Client compiliert wurde.
client_ms24ldisable Dieser Client kommuniziert mittels can4linux mit einer MS2. Dieser Client kann nur gestartet werden, wenn das System als Schnittstelle zu CAN can4linux unterst¨tzt und dieser Client compiliert wurde. (ungetestet!)
client_slcandisable Dieser Client kommuniziert mittels eines CAN-USB Adapters, der serial line CAN spricht, mit einer MS2 (ungetestet!)
client_zentraleenable Dieser Client enthät die Logik für die Verwaltung der *.cs2 Dateien und der Statusdateien. Dieser Teil ist nötig, um z.B. die z-lib gepackten Dateien (lokomotive.cs2, ...) an Netzwerclients wie die cs2.exe zu übertragen. Oder die Loks der MS2 auszulesen, abhängig vom eingestellten Modus.
drehscheibeenable Dies ist das zentrale Element zur Verteilung der internen Nachrichten zwischen den Clients. Dieser Teil muß immer gestartet werden.

Der fünfte Tab erlaubt es, das System zu booten. Wenn die Netzwerkeinstellungen geändert wurden, muß das komplette BBB neu gestarte werden, Wenn die Konfigurationsdatei /etc/mrsystem geändert wird, muß die Software neu gestartet werden, damit die geänderte Konfiguration neu eingelesen wird. Zusätzlich kann hier auch das System angehalten werden.


Zurück zum BBB - Zurück zur Modellbahn Startseite - Zurück zur Homepage