Debian GNU/Linux Anwenderhandbuch | ||
---|---|---|
Zurück | Kapitel 22. Modellbahnen | Nach vorne |
deb http://www.openoffice.de/debian/ stable main |
und installieren Sie dann die gewünschten Pakete, beispielsweise mit apt-get.
Die Auswahl der Software für den Server ist von der bereits vorhandenen Hardware abhängig. Beide hier vorgestellten Server unterstützen das SRC Protokoll (Simple Railroad Command Protocol). Die aktuelle Spezifikation dieses Protokolls findet sich unter http://srcpd.sourceforge.net/srcp/. Vorabversionen des Protokollstandards finden sich unter http://members.tripod.de/mtrute/Modellbahn/srcp-maintain.html
SRCP ist ein plattformunabhängiges Internetprotokoll zum Steuern von Modelleisenbahnen, insbesondere digital gesteuerter. Ein SRCP komformer Server stellt das Bindeglied zwischen der Modellbahn (Hardware) und den Steuerprogrammen (Clients), über welche die Modellbahn gesteuert werden soll, dar. Das Protokoll vermittelt eine Client-Server Struktur, wobei der Server die Schnittstelle zur Modellbahnanlage und die Clients die Schnittstelle zu den(m) Modellbahner(n) darstellen. SRCP ist Multiuser fähig.
Das Projekt DDL - Digital Direct for Linux http://www.vogt-it.com/OpenSource/DDL/ von Torsten Vogt stellt mit dem Daemon „erddcd“ einen Serverprozess zur Verfügung, der mit dem Booster kommuniziert und somit eine Digitalzentrale überflüssig macht. erddcd ist Bestandteil des Paketes DDL.
Dieser Server kann mit den Boostern 6604, 6015 oder 6017 der Firma Märklin, sowie mit verschiedenen Selbstbauboostern verwendet werden.
Der Daemon erddcd sendet die Steuerdaten von unterschiedlichen Clients zum Booster, welcher über ein serielles Kabel mit dem Rechner verbunden ist. Das Debian Paket wurde um das Init-Script /etc/init.d/erddcd erweitert, ausserdem wird eine Konfigurationsdatei /etc/erddcd.conf ausgewertet. In dieser ist ggf. die Bezeichnung der seriellen Schnittstelle anzupassen, falls der Booster nicht an /dev/ttyS0 angeschlossen ist.
Mit srcpd von Matthias Trute (http://srcpd.sourceforge.net) steht ein weiterer Server zur Verfügung mit dem die Märklin Central Unit 6020 oder 6021 zusammen mit den Märklin Interfaces 6050 oder 6051 angesprochen werden können. Weiterhin unterstützt srcpd die Intellibox der Firma Uhlenbrock.
Das srcpd Projekt wurde im Sommer 2001 aus der Taufe gehoben und hat sich zum Ziel gesetzt einen einfach zu benutzenden SRCP-konformen Server für die digitale Modellbahnsteuerung zu erstellen.
Der Urahn des srcpd ist der erddcd von Torsten Vogt. Dieser emuliert auf dem PC ein Interface und benötigt zur Steuerung der Modelleisenbahn nur die Booster, Schaltdecoder, Rückmeldemodule etc., jedoch kein Interface.
Auf dieser Basis wurde mit Beginn des Jahres 2000 die ersten SRCP Fassungen entwickelt und parallel dazu begann Matthias Trute einen Dämon (m6051d) für das Märklin-Interface M6051 zu schreiben. Dieser benutzte einige Routinen des erddcd, schlug aber schon früh einen anderen Weg ein. Diesen Dämon wiederum nahm Frank Schmischke wiederum zusammen mit dem erddcdals Ausgangsbasis für einen Dämon für die Intellibox von Uhlenbrock.
Da der überwiegende Teil der beiden Dämonen (für M6051 und Intellibox) identischen Code besitzt wurde von Matthias Trute die Idee geboren, einen universellen SRCP-Server zu erstellen, der alle bekannten Interfaces abdecken soll. Den größten und aufwendigsten Anteil am Server hat der SRCP-Teil, wo die eingehenden Befehle auf ihre Korrektheit geprüft und anschließend dekodiert werden, und wo die Informationen für die Clients zusammengestellt werden.
Aus diesem Grund wurde im Sommer 2001 das srcpd-Projekt vom Matthias Trute (Maintainer) und Frank Schmischke aus der Taufe gehoben. Sie haben ihre beiden SRCP-Server zum neuen srcpd verschmolzen. Änderungen die das SRCP betreffen (und da wird es einige sehr interessante geben!), brauchen jetzt nur noch einmalig für alle intergrierten Interfaces durchgeführt zu werden. Hierdurch ist ein wesentlich besseres weiterentwickeln möglich, da nun mehrere Leute am selben Code rumwerkeln und Fehler schneller und besser aufgespürt und beseitigt werden können.
% telnet localhost 12345 |
% SET GL PS 33 1 12 14 0 4 0 0 0 0 |
Zum Beenden können die Befehle:
% LOGOUT |
% SHUTDOWN |
% monitor localhost 12346 |
Um einfach die Magnetartikel zu schalten, gibt es Keyboard. Um einen Automatikbetrieb zu realisieren gibt es Memory. Die gleichnamigen Produkte der Fa. Märklin sind zwar die geistigen Paten, aber haben nichts mit diesem Programm gemein. Das Programm benutzt TCL/TK und läuft auch unter Windows.
Benutzung: ganz unten wird die aktuelle Basisadresse angezeigt Diese kann mit den Buttons um jeweils 16 nach oben bzw. nach unten verändert werden. Zu dieser Basisadresse muß sodann die Zahl zwischen den Buttons hinzugezählt werden, um die Adresse des Dekoders zu ermitteln, die letztendlich angesprochen wird.
Solange eine der Tasten gedrückt wird, wird der entsprechende Ausgang des Dekoders aktiviert. Vorsicht ist also geboten, die Spulen können dabei durchbrennen.
Der Recorder ist für automatisierte Aktionen und für Makrofunktionen wie Weichenstraßensteuerung gedacht. Gegenwärtig kann man 24 Aktionen auf Knopfdruck abrufen und auch von einem Feedbackereignis triggern lassen. Daneben kann die Liste der SRCP Befehle editiert, gespeichert und auch wieder eingelesen werden. Einzig der Record-Modus funktioniert noch nicht. Auch gibt es noch Probleme mit der Parallelverarbeitung. Mehrere Trigger gleichzeitig funktionieren noch nicht.
Die Benutzung ist einfach: Programm starten und für die 24 "Tasten" die jeweiligen Aktionen einlesen. Sodann kann mit einem Mausclick auf eine der Tasten die zugehörge Aktion ausgelöst werden. über die Radiobuttons ganz oben wird die Wirkung des Mausklicks verändert: Jetzt wird die Liste editierbar (ein Editfenster klappt auf), die Aktionsliste kann gespeichert und wieder eingelesen werden, oder eben das Programm lauscht am SRCP Server und speichert die Ereignisse so, daß sie wieder ausgeführt werden können. Momentan werden alle Befehle einer Taste auf einmal ausgeführt.
rcsh ist eine Shell zur Steuerung von digitalen Modellbahnen. Eine einfach Scriptsprache erlaubt es Lokomotiven direkt aus der Shell heraus zu steuern. Hier ein einfaches Beispiel:
l = locoN1(4) # Licht an, langsam aus Bahnhof herausfahren l.func(1) l.speed(1) l.send() # Immer noch langsam im Bahnhofsbereich l.speed(3) l.send() time.sleep(12) # Beschleunigen auf freier Strecke l.speed(7) l.send() time.sleep(20) # langsam in Bahnhof l.speed(2) l.send() time.sleep(5) # Kriechen und Stillstand an alter Startposition l.speed(1) l.send() time.sleep(3) l.speed(0) l.func(0) l.send() print l.speed() |
In diesem Beispiel zur (zeitlichen) Steuerung eines Zuges aus dem Bahnhof auf die Strecke und wieder zurück in den Bahnhof, sind die wichtigsten Funktionen benutzt worden. Eine etwas ausführlichere Dokumentation finden Sie auf Ihrem Debian System in der Datei /usr/share/doc/rcsh/README.Debian.
rcman ist ein Client mit textueller Oberfläche zur Steuerung von Modellbahnen in Verbindung mit einem SRCP konformen Server. rcman orientiert sich an j-man aus dem DDL Projekt.
Da rcman auch ohne grafische Benutzeroberfläche auskommt läßt sich rcman auch auf älteren Systemen gut einsetzen. Die Bedienung des Programmes kann über die Tastatur oder auch mit der Maus erfolgen. Wenn die Maus über ein Scrollrad verfügt, so kann damit die Geschwindigkeit der Lok gesteuert werden. rcman kann über eine Infrarot Fernbedienung gesteuert werden, hierzu muss das LIRC Paket installiert sein.
HTML und HTTP bieten leider nur eingeschränkte Möglichkeiten zur Steuerung via Webbrowser. Die Interaktion zwischen der Benutzeroberfläche und dem System ist dabei leider nicht immer so zeitnah möglich wie es wünschenswert oder gar notwendig wäre. Trotzdem lassen sich mittels HTML, PHP oder auch Perl interessante Anwendungenerstellen. Das Paket srcptt legt die entsprechenden Dateien im Verzeichnis /var/www/srcptt/ ab. Mittels eines beliebigen Webbrowsers sind diese nun im Netz (http://server.domain/srcptt/) oder auch lokal (http://localhost/srcptt/ erreichbar.
SpDrS60 SpDrS60 ist das erste Programm zum nächsten Monaten noch starken Änderungen unterzogen wird. Aber trotzdem komfortablen Steuern von Weichen und Signalen für die Benutzung mit SRCP-konformen Servern. Es ist ausserdem das erste grafische ausgereifte Programm, um unter Linux seine Modellbahn zu steuern. Es bietet schon jetzt viel Komfort, um seine Modellbahnanlage getreu den bei der Deutschen Bahn AG immer noch verwendeten Spurplan-Drucktastenstellwerken (SpDr) zu steuern. Bei der Benutzung dieses Programms muss man sich - sofern man es kennt - von einigen gewohnten Eigenschaften eines Steuerprogramms verabschieden, da diese meistens zu sehr auf die Belange der Modellbahn abgestimmt sind.
JoyCtrl benutzt den Joystick zur Steuerung der Loks unter Linux und ist eine Alternative/Ergänzung zu Maus- oder Tastatursteuerungen.
Als Hardware dient mir ein billiger analoger Joystick mit einigen Feuerknöpfen.
Für die Umrechnung der Knüppelbewegungen in Lokkommandos habe ich ein Kennlinienkonzept verwirklicht. Damit kann ich den Knüppelbewegungen unterschiedliche Lokaktionen zuordnen, je nach Situation. Ein jederzeitiges Umschalten ermöglicht, etwa im Bahnhofsbereich rangieren zu können und auf der freien Strecke entspannt die Lok laufen zu lassen.
Ein weiterer Client ist mit dtcltiny von Markus Pfeiffer verfügbar, dieser Client basiert auf QT.
Auch dieses Paket wurde gegenüber dem urspünglichen Paket ein wenig angepasst, ein einfacher Aufruf von dtcltiny startet das Programm mit sinnvollen Parametern und versucht im Homeverzeichnis des Benutzers eine Konfigurationsdatei zu laden. Wenn Sie die Ursprungsversion benutzen möchten, so finden Sie das Programm unter /usr/bin/dtcltiny.bin.
Im unteren Bereich lassen sich die Verzögerungen für das Anfahren und Bremsen einstellen.
Zurück | Zum Anfang | Nach vorne |
Hardware | Nach oben | Weitere Informationen |