RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#1 von bertr2d2 , 09.10.2012 18:19

Hallo,

ich möchte Euch meine Modellbahnsteuerung vorstellen:

http://lnxpps.de/can2udpe/smallest-rocrail-server-ever



Das besondere ist der "Server": Ein kleines SoC Modul das von OpenWRT unterstützt wird. Im Prinzip
geht jeder Wireless Router, sofern er genügend RAM, ein paar freie GPIOs und zumindest ein
USB Port hat. Dank des Resourcen schonenden Umgangs ist Rocrail auch auf solchen Platformen
(hier 320MHz mit 32 MByte RAM) in der Lage Modellanlagen zu steuern.

Das ganze ist für deutlich unter 100 Euro machbar (hier waren es rund 70 Euro) - bei vorhandenen
Clients natürlich (Tablet, Smartphone, Laptop etc pp).

Im Grunde ist der Aufbau einfach : Wifi/LAN Router -> CAN Interface -> Gleisbox 60113. Nur eben offen:
OpenWRT / CAN2UDP / Rocrail. Der Code ist jedem zugänglich - eine Sache, die bei anderen Steuerungen
nicht immer zutrifft und mich deswegen abstößt.

Durch den CAN-Bus ist die Steuerung natürlich auch erweiterbar. Ich denke, das ich hier nicht die Möglichkeiten
Euch erklären muss - die meisten von Euch kennen sich eh besser auf dem Gebiet aus als ich das tue.

Wer in der Nähe von Frankfurt/Friedberg(Hessen) wohnt, kann den "Server" auch Live auf der
Modellbahnbörse am 14.10.2012 in Karben in Aktion sehen.

Ich suche noch weitere Mitstreiter um eine Art Platform daraus zu machen. Das can2udp vermittelt
momentan nur zwischen Rocrail und Gleisbox (vergleichbar dem CS2-Gateway) - könnte aber deutlich mehr machen,
z.B. MS1 Integration oder CAN Steuerungen anderer Hersteller integrieren.

Gruß

Gerd

P.S.: Die Idee, die Gleisbox als "Mini-Zentrale" zu verwenden, stammt ursprünglich von Stefan Krauß -
die Software ist aber auf Windows beschränkt.


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#2 von schnoesel124 ( gelöscht ) , 10.10.2012 07:52

Hej Gerd

Das sieht sehr interessant aus!

Das "Carambola"-Dingen ist dann sozusagen der PC? Mit Windows drauf? Was passiert wenn Du nach dem Eisenbahn-spielen den Stecker ziehst und das Dingen stromlos wird? Bootet das beim nächsten Mal ohne sich zu beschweren über nicht korrektes herunterfahren?
Und wie hast Du Windows und rocrail da drauf gekriegt? Der Code in Deinem Link sieht irgendwie nach C++ oder ähnlichem aus? Das muss vermutlich auch erst kompiliert werden? Wie hast Du das gemacht?

Ich bin schon längere Zeit am Suchen nach einer kleinen und unauffälligen Lösung für eine Zentrale / Server, die einfach nur zusammen mit dem Einschalten der Anlage bootet und die man zusammen mit der Anlage einfach wieder abschaltet ohne dass man auf die Mimositäten eines Betriebssystems Rücksicht nehmen muss.

Im Moment hab ich eine komplette Ubuntu 12.irgendwas Installation auf so einem alten kompakt-PC. Immerhin schon ohne Bläser aber noch mit einer empfindlichen, rotierenden und lärmenden Festplatte. Die Aufnahme für eine CF-card ist vorhanden, ich hab nur keine die gross genug ist. Aber hier brauch ich auch immer noch Bildschirm, Maus und Tastatur, zum einen um den Server ab und zu rebooten zu können (Anlage und Steuerung sind noch in der Entwicklung) zum anderen um den PC ordentlich runterfahren zu können. Einfach ausschalten geht ein paarmal gut aber irgendwann crasht der ganze Mist und dann wein ich wieder, denn richtige Männer machen ja keinen Backup
Die optimale Lösung ist das also nicht. Es gibt auch ein abgespecktes x-Ubuntu, aber das hat dann auch keine graphische Oberfläche und so viel Ubuntu-nerd bin ich dann doch nicht.

Würde mich also mal wirklich interessieren wie Dein Rocrail-server im Detail funktioniert.


schnoesel124

RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#3 von bertr2d2 , 10.10.2012 08:49

Hi Jan Martin,

Zitat von schnoesel124
Hej Gerd

Das sieht sehr interessant aus!

Danke

Zitat

Das "Carambola"-Dingen ist dann sozusagen der PC? Mit Windows drauf? Was passiert wenn Du nach dem Eisenbahn-spielen den Stecker ziehst und das Dingen stromlos wird? Bootet das beim nächsten Mal ohne sich zu beschweren über nicht korrektes herunterfahren?


Auf dem Carambola läuft OpenWRT - ein auf Router spezialisiertes Linux. Ausschalten ohne Runterfahren geht. Nach dem Neustart werden alle nötigen Programme automatisch wieder gestartet.

Zitat
Und wie hast Du Windows und rocrail da drauf gekriegt? Der Code in Deinem Link sieht irgendwie nach C++ oder ähnlichem aus? Das muss vermutlich auch erst kompiliert werden? Wie hast Du das gemacht?


OpenWRT ist auch eine Art Entwicklungsumgebung mit C(++) Compiler. Den Code habe ich wie auch Rocrail compiliert. Das ganze ist noch etwas umständlich, aber ich werde demnächst ein OpenWRT Feed erstellen, der die Sache stark vereinfacht. Zudem werde ich komplette Images für Carambola bereitstellen, sodaß man nur noch ein Image über einen Befehl flashen braucht.

Zitat
Ich bin schon längere Zeit am Suchen nach einer kleinen und unauffälligen Lösung für eine Zentrale / Server, die einfach nur zusammen mit dem Einschalten der Anlage bootet und die man zusammen mit der Anlage einfach wieder abschaltet ohne dass man auf die Mimositäten eines Betriebssystems Rücksicht nehmen muss.


Das war auch Teil meiner Motivation: Wozu ein "komplettes" Betriebssystem hochfahren, wenn man eh nur ein Programm (Rocrail-Server) braucht.

Zitat
Im Moment hab ich eine komplette Ubuntu 12.irgendwas Installation auf so einem alten kompakt-PC. Immerhin schon ohne Bläser aber noch mit einer empfindlichen, rotierenden und lärmenden Festplatte. Die Aufnahme für eine CF-card ist vorhanden, ich hab nur keine die gross genug ist. Aber hier brauch ich auch immer noch Bildschirm, Maus und Tastatur, zum einen um den Server ab und zu rebooten zu können (Anlage und Steuerung sind noch in der Entwicklung) zum anderen um den PC ordentlich runterfahren zu können. Einfach ausschalten geht ein paarmal gut aber irgendwann crasht der ganze Mist und dann wein ich wieder, denn richtige Männer machen ja keinen Backup

Jepp, Backups sind nur was für Warmduscher
Man muß aber sagen, das das ganze auch unter Ubuntu/Linux möglich wäre: Über die Init-Scripte kann man System-Programme (wie z.B. Rocrail-Server) automatisch starten. Bestimmte Filefsysteme beherrschen Journaling (z.B EXT4, ReiserFS und XFS), die sich automatisch regenerieren, wenn man mal nicht sauber runtergefahren hat. Zudem wird Ubuntu bei mir sauber runtergefahren, wenn ich den Ausschalter betätige. Das habe ich nicht eingebaut. Scheint mittlerweile Standard unter Ubuntu zu sein.
Man kann aber auch Linux mit einem Read-Only FS aufbauen (ich habe hier z.B. eine Dockstar, die nur ein Read-Only FS hat), da kann auch keine Filesystem kaputtgehen. Rocrail läuft darauf übirgens auch.

Zitat
Die optimale Lösung ist das also nicht. Es gibt auch ein abgespecktes x-Ubuntu, aber das hat dann auch keine graphische Oberfläche und so viel Ubuntu-nerd bin ich dann doch nicht.


Wenn man externe Clients benutzt, braucht man nur den Rocrail-Server - Rocview ist dann nicht erforderlich aber möglich. Ich benutze Rocview z.B. auf meinem Laptop. Der Server ist das Carambola Board in der Gleisbox, das nebenbei auch zugleich WLAN Access-Point ist. D.h. die Tablets, Smartphones etc. können sich hier über WPA2 gesichert anmelden und die Modellbahn steuern.

Zitat
Würde mich also mal wirklich interessieren wie Dein Rocrail-server im Detail funktioniert


Ich hoffe, es ist jetzt etwas klarer.

Das ganze ist aber noch in einem frühen Entwicklungsstadium - ich suche noch Leute, die mithelfen.
Es funktioniert aber ist noch zu umständlich zu installieren.

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#4 von schnoesel124 ( gelöscht ) , 10.10.2012 14:55

Hej Gerd

Zitat

Auf dem Carambola läuft OpenWRT - ein auf Router spezialisiertes Linux. Ausschalten ohne Runterfahren geht. Nach dem Neustart werden alle nötigen Programme automatisch wieder gestartet.


Ah das OpenWRT ist neu für mich aber dass das Linux ist macht es gleich etwas vertrauter. OK und wir reden hier also über einen Wireless router, nicht nur über einen Wireless Switch? Was natürlich gleich die nächste Frage aufwirft: Kann man mehrere wirelose Router im gleichen Netz betreiben ohne dass die sich ins Gehege kommen? Wir haben ja schon einen Wireless Router fürs normale Internet (über den im Moment auch Rocrail läuft) für die Heimarbeitsplätze und alles was man sonst so im Internet macht. Der muss natürlich von der Modellbahn unabhängig bleiben. Oder würde ein wireless Switch es auch tun?

Zitat

OpenWRT ist auch eine Art Entwicklungsumgebung mit C(++) Compiler. Den Code habe ich wie auch Rocrail compiliert.


Ja ok in Linux ist die C++ Umgebung ein fester Bestandteil. Ich kann mich noch erinnern, wie ich meine erste Rocrail Installation selbt kompiliert hab, damals noch auf Suse-Linux. War ziemlich langhaarig

Zitat

Das ganze ist noch etwas umständlich, aber ich werde demnächst ein OpenWRT Feed erstellen, der die Sache stark vereinfacht. Zudem werde ich komplette Images für Carambola bereitstellen, sodaß man nur noch ein Image über einen Befehl flashen braucht.


Jetzt beginnt es überschaubar zu werden

Zitat

Das war auch Teil meiner Motivation: Wozu ein "komplettes" Betriebssystem hochfahren, wenn man eh nur ein Programm (Rocrail-Server) braucht.


Ganz genau. Bei mir ist es nur immer daran gescheitert dass ich nicht genau wusste was ich brauche und was entbehrlich ist. Einzelne Programpakete zu deinstallieren ist ja kein Problem mit Ubuntu aber kann es danach noch das was ich brauche?

Zitat

Jepp, Backups sind nur was für Warmduscher
Man muß aber sagen, das das ganze auch unter Ubuntu/Linux möglich wäre: Über die Init-Scripte kann man System-Programme (wie z.B. Rocrail-Server) automatisch starten. Bestimmte Fileformate beherrschen Journaling (z.B EXT4, ReiserFS und XFS), die sich automatisch regenerieren, wenn man mal nicht sauber runtergefahren hat. Zudem wird Ubuntu bei mir sauber runtergefahren, wenn ich den Ausschalter betätige. Das habe ich nicht eingebaut. Scheint mittlerweile Standard unter Ubuntu zu sein.
Man kann aber auch Linux mit einem Read-Only FS aufbauen (ich habe hier z.B. eine Dockstar, die nur ein Read-Only FS hat), da kann auch keine Filesystem kaputtgehen. Rocrail läuft darauf übirgens auch.


Ja das mit den Init scripten var mir bekannt, hab ich auch schon ausprobiert funktionierte auch. Aber wenn ich dann mal den Rocrail server neustarten muss, weil sich die Reset-(Intelli-)box mal wieder geresettet hat oder ich eine Änderung gemacht hab, die eben einen Neustart erforderlich macht, dann erfordert das immer einen Haufen Mausklick. Ausserdem kann ich dann nicht sehen was der Server mir mitteilt, und gerade in der Erprobungsphase sind die Servermitteilungen Gold wert. Wenn erstmal alles läuft wie es soll ist das natürlich entbehrlich. Das mit dem Journalling und dem Read only file system wusste ich nicht, klingt jedoch sehr brauchbar

Zitat

Wenn man externe Clients benutzt, braucht man nur den Rocrail-Server - Rocview ist dann nicht erforderlich aber möglich. Ich benutze Rocview z.B. auf meinem Laptop.


Ja so mach ich das auch, Unterschied ist nur dass mein Rocrail server noch zu aufgeblasen ist und ich noch nicht ohne Zentrale auskomme. Ich hab mir schon so ein GCA101 http://www.phgiling.net/, (TCP-IP / Loconetinterface) gekauft, womit ich einen meiner ProfiBosse direkt an den Rocrail server anschliessen kann. Hab ihn aber noch nicht zusammengelötet. Mein alter Kompakt PC dürfte eigentlich auch verwendbar sein, ich muss mir nur eine CF-card kaufen. Wieviel GB wird Dein Flash-Image ca. haben?

Zitat

Der Server ist das Carambola Board in der Gleisbox, das nebenbei auch zugleich WLAN Access-Point ist. D.h. die Tablets, Smartphones etc. können sich hier über WPA2 gesichert anmelden und die Modellbahn steuern.


Der Access-Point ist das jetzt nur für die Modellbahn oder für den ganzen Haushalt? vermute mal ersteres. Das heisst man kann mehrere Router hintereinanderkoppeln ohne Probleme? Müssen die Router dafür bestimmte Eigenschaften haben?

Zitat

Ich hoffe, es ist jetzt etwas klarer.
Das ganze ist aber noch in einem frühen Entwicklungsstadium - ich suche noch Leute, die mithelfen.
Es funktioniert aber ist noch zu umständlich zu installieren.


Wesentlich klarer Aber es tauchen natürlich gleich ein Haufen neue Fragen auf. Will gerne mitmachen das zur "Serienreife" zu entwickeln, hab leider nicht die grosse Programmierungserfahrung. Aber vielleicht kann ich ja doch irgendwas konstruktives beitragen?


schnoesel124

RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#5 von h0-m-jk , 10.10.2012 15:16

Hallo Gerd,

hört sich interessant an, was Du da machst.
Wäre Deine "umgebaute aufgepimpte" Gleisbox kompatibel mit den CAN-Digital Bahn Projekt Komponenten ?
D.h. könnte man z.b. die Rückmeldung (vom "Gleisreporter deLuxe) zum Rocrail Server bekommen ? Der Baustein sendet ja, soviel ich verstanden habe über den CAN-Bus, aber kommen diese Daten über die can2udp Schnittstelle auch bei rocrail an ?

Von den Funktionen könnte man fast meinen Du hast eine "Z21" für CAN (sprich Märklin) gebaut, toll!

Sieht mir allerdings danach aus, daß man da einiges löten müßte, bevor man am Ziel ist.
Von daher wäre es eher nichts für mich...

Aber interessantes Projekt...


Viele Grüße
Jörg

Sammlung Gleispläne aus dem Stummiforum: viewforum.php?f=154

Bau Marienhofen light: viewtopic.php?f=15&t=180786


 
h0-m-jk
InterCityExpress (ICE)
Beiträge: 2.079
Registriert am: 17.09.2011
Spurweite H0
Stromart Digital


RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#6 von Leuchtdiode ( gelöscht ) , 10.10.2012 15:27

Hallo Gerd,

das hört sich interessant an.
Hat man dann in Rocrail alle Funktionen wie auf einem richtigen PC?
Willst du die umgebaute Gleisbox irgendwann fertig anbieten?
Gibt es deine Website auch auf deutsch? Im Englischen verstehe ich leider nicht alles


Leuchtdiode

RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#7 von bertr2d2 , 11.10.2012 00:31

Ich habe damit gerechnet das ein paar Fragen auftauchen

Zitat
Hat man dann in Rocrail alle Funktionen wie auf einem richtigen PC


Ja. Es läuft ja das selbe Programm - sprich der selbe Server.

Zitat
Willst du die umgebaute Gleisbox irgendwann fertig anbieten?


Nein. Das würde ne Menge folgen haben: Gewährleistung, Vertrieb etc. pp. Ich hätte aber nichts dagegen wenn jemand das tuen würde.

Zitat
Gibt es deine Website auch auf deutsch? Im Englischen verstehe ich leider nicht alles


Deutsche Seite folgt demnächst ...

Zitat
Wäre Deine "umgebaute aufgepimpte" Gleisbox kompatibel mit den CAN-Digital Bahn Projekt Komponenten ?


Kann ich nicht mit Gewissheit sagen. Aber das can2udp macht nichts anderes als Netzwerk-Pakete von und nach kann CAN 1zu1 umzusetzen. Wenn die Komponente mit der PC-Schnitte(?) und Rocrail läuft, dann ist die Wahrscheinlichkeit groß, das es auch mit dem Mini-Rocrail Server läuft.

Zitat
Der Baustein sendet ja, soviel ich verstanden habe über den CAN-Bus, aber kommen diese Daten über die can2udp Schnittstelle auch bei rocrail an ?


Ja. can2upd bildet eine Art Bridge - es setzt die Pakete in beide Richtungen um.

Zitat
OK und wir reden hier also über einen Wireless router, nicht nur über einen Wireless Switch?


Ja. Das ist ein Wireless Router. Aber im Prinzip geht das auf jedem Gerät, das Netzwerkanschluß bietet und unter Linux läuft. Wireless Router sind insofern interessant, weil sie relativ viel Leistung für wenig Geld bieten.

Zitat
Oder würde ein wireless Switch es auch tun?


Ich kenne jetzt keine Wireless Switche - aber Switche per se sind eher sehr spartanisch ausgestattet was RAM und CPU Leistung betrifft. Man kann natürlich auch den bestehende Wireless Aufbau benutzen und einen beliebigen Rechner verwenden, soferm man CAN daran anbinden kann.

Zitat
Einzelne Programpakete zu deinstallieren ist ja kein Problem mit Ubuntu aber kann es danach noch das was ich brauche?


Probiers aus - Rocrail ist sehr informativ auf der Konsole.

Zitat
Mein alter Kompakt PC dürfte eigentlich auch verwendbar sein, ich muss mir nur eine CF-card kaufen. Wieviel GB wird Dein Flash-Image ca. haben?


Das Carambola Board hat 8 MByte Flash - wobei das Filesystem komprimiert ist. Ich denke, das 64 MByte ausreichen.

Zitat
Der Access-Point ist das jetzt nur für die Modellbahn oder für den ganzen Haushalt? vermute mal ersteres. Das heisst man kann mehrere Router hintereinanderkoppeln ohne Probleme? Müssen die Router dafür bestimmte Eigenschaften haben?


Bei mir nur für die MoBa. Aber ich könnte auch meine Home-AP benutzen (siehe http://lnxpps.de/can2udp/) Ich habe es bewusst so gemacht um den "Server" auch präsentieren zu können, wie z.B auf der Modellbahnbörse am 14.10.12 in Karben.
Wichtig sind mind. 32MByte RAM (sofern man Rocrail darauf laufen lassen will) und dann muss noch CAN angebunden werden. Das erfolgt momentan zumeist über SPI - GPIO geht aber auch: http://lnxpps.de/can2udp/openwrt/ das ist aber schon Hardcore

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#8 von Timothy ( gelöscht ) , 14.10.2012 12:37

Hört sich sehr interessant an, was du gemacht hast. Ich werde mir die Details in einer ruhigen Minute nochmal ansehen, denn ich habe jetzt nicht gleich alles auf Anhieb verstanden. Wäre schön, wenn daraus mal eine kleine Produktionsserie werden könnte. Mal schauen.

Viele Grüße

Tim


Timothy

RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#9 von Stefan Krauss , 14.10.2012 14:10

Hallo, Gerd,

tolles Projekt und danke für die Blumen.

Meine ersten Versuche mit can2eth lief auch unter Linux und mit RocRail. Allerdings mit einem Selbstbau-Interface. Für die Veröffentlichung hatte ich mir dann ein kommerziell angebotenes Interface gesucht und das Ganze auf Windows umgestellt.

Hast du dein Projekt auch mal auf Raspberry Pi zum Laufen bekommen? Fände ich auch eine schöne Alternative, denn daran könnte man auch gleich Tastatur und Bildschirm anschließen und wäre damit nicht auf die mobilen Geräte alleine angewiesen. Ich komme aber irgendwie nicht dazu, das mal auszuprobieren ...

@h0-m-jk:

Zitat
Wäre Deine "umgebaute aufgepimpte" Gleisbox kompatibel mit den CAN-Digital Bahn Projekt Komponenten ?


Ja, das sollte gehen. Hängt nur davon ab, ob das Programm - hier RocRail - auch die CAN-Digital-Bahn-Komponenten kennt.

Grüße
Stefan


Stefan Krauss  
Stefan Krauss
InterCity (IC)
Beiträge: 577
Registriert am: 11.09.2012
Homepage: Link
Spurweite H0
Stromart AC, Digital


RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#10 von bertr2d2 , 14.10.2012 16:40

Hallo Stefan,

schön von Dir zu hören.

Zitat von Stefan Krauss
Hallo, Gerd,

tolles Projekt und danke für die Blumen.

Meine ersten Versuche mit can2eth lief auch unter Linux und mit RocRail. Allerdings mit einem Selbstbau-Interface. Für die Veröffentlichung hatte ich mir dann ein kommerziell angebotenes Interface gesucht und das Ganze auf Windows umgestellt.


Wusste ich gar nicht, das Gbox2Eth einen Linux-Urahn hat. Warum bist Du vom Pfad der Tugend (sprich Linux) abgekommen ?

Zitat
Hast du dein Projekt auch mal auf Raspberry Pi zum Laufen bekommen?


Ja lief einwandfrei - ich habe mein RPi aber momentan ausgeliehen. Warum nicht RPi: Das hat ein banalen Grund: Ich wollte partout alles in die Gleisbox einbauen - das RPi ist aber ein Stück zu groß. Und WiFi geht "nur" über USB. Da WiFi Adapter relativ viel Strom im AP Modus verbrauchen, muss man am USB Port noch etwas ändern oder einen USB Hub verwenden. Ohne WiFi ist das natürlich hinfällig.

Zitat
Fände ich auch eine schöne Alternative, denn daran könnte man auch gleich Tastatur und Bildschirm anschließen und wäre damit nicht auf die mobilen Geräte alleine angewiesen. Ich komme aber irgendwie nicht dazu, das mal auszuprobieren ...

Keine Frage - das RPi ist interessant. Alles ist im Prinzip auch schon da: Rocrail, SocketCAN, can2udp etc. pp.
Siehe meine CAN-Experimente: http://lnxpps.de/rpie
In meinen Augen ist die größte Hürde ein preisgünstiges CAN Interface. Aber ich bin dran
Wenn ich wieder ein RPi habe, dann stelle ich mal alles zusammen (incl. CAN Adapter Board Layout).

Zitat

@h0-m-jk:

Zitat
Wäre Deine "umgebaute aufgepimpte" Gleisbox kompatibel mit den CAN-Digital Bahn Projekt Komponenten ?


Ja, das sollte gehen. Hängt nur davon ab, ob das Programm - hier RocRail - auch die CAN-Digital-Bahn-Komponenten kennt.

Grüße
Stefan




Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#11 von bertr2d2 , 14.10.2012 16:58

Hallo Tim,

Zitat von Timothy
Hört sich sehr interessant an, was du gemacht hast. Ich werde mir die Details in einer ruhigen Minute nochmal ansehen, denn ich habe jetzt nicht gleich alles auf Anhieb verstanden. Wäre schön, wenn daraus mal eine kleine Produktionsserie werden könnte. Mal schauen.


Ich gebe zu, das alles ist sehr spartanisch beschrieben. Ich nutze die Internetseite auch oft nur als Gedankenstütze für meine Projekte. Wenn Du Fragen hast, dann nur raus damit

Wenn jemand daraus ein Produkt machen will: Nur zu, ich würde dies begrüßen.

Zitat
Viele Grüße

Tim

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#12 von Stefan Krauss , 14.10.2012 19:31

Hallo, Gerd!

Zitat von bertr2d2
Wusste ich gar nicht, das Gbox2Eth einen Linux-Urahn hat. Warum bist Du vom Pfad der Tugend (sprich Linux) abgekommen ?


Ich wollte lediglich für die Veröffentlichung eine Windows-Version, damit es mit WinDigipet klappt. Und die Linuxianer bekommen so etwas ja auch so hin

Das mit dem RasPi ist interessant. Das muss ich dann irgendwann mal probieren.

Grüße
Stefan


Stefan Krauss  
Stefan Krauss
InterCity (IC)
Beiträge: 577
Registriert am: 11.09.2012
Homepage: Link
Spurweite H0
Stromart AC, Digital


RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#13 von Wechselstromer , 31.10.2012 10:17

Hallo!

Ich habe in den letzten Wochen zusammen mit viel Hilfe von Gerd mein CAN Interface an meinem OpenWRT Router zum Laufen bekommen. Weil in Gerds can2udp die Mfx Anmeldung noch gefehlt hat, habe ich sie aus Stefans GBox2Eth kopiert und dort eingefügt. Das ganze ist allerdings eher im Teststadium. Weil ich nur eine Mfx Lok hier habe, vergibt die Software bei einer Neuanmeldung immer Adresse 1. Das kann natürlich so nicht bleiben, hat aber für meinen Test funktioniert.
So kann ich die Lok über diese Adresse sowohl mit Rocrail als auch mit SDL-X steuern. WinDigipet funktioniert alledings nicht. Zumindest sagt das Programm immer dass die Verbindung zur Zentrale abgebrochen wäre. Was erwartet WinDigipet von meiner "Zentrale" was can2udp nicht bieten kann? Mit Gbox2eth soll die anbindung an WinDigipet doch funktionieren.
Als nächsten Schritt würde ich versuchen den Decoder abzufragen. Ziel soll es sein dass mir der Decoder seine Bezeichnung "Lokpilot 3" nennt und die zur Verfügung stehenden Funktionen (F0=Licht, F1=Funktion, F2=Funktion, F3=Rangiergang, F4=Anfahr/Bremsverzögerung). So wie das der Decoder auch gegenüber meiner alten MS1 gemacht hat. Wie muss ich das angehen? Müssen dazu gezielt CVs abgefragt werden? Ich habe in der Märklin CAN Doku keinen "Befehl" gefunden der das machen würde.

Viele Grüße

Daniel


Märklin H0 Epoche III auf C- & K-Gleisen - Steuerung per Gleisbox und BananaPi, MS1, CS2 (PC) und iTrain
Meine Anlage im Bau


Wechselstromer  
Wechselstromer
InterRegio (IR)
Beiträge: 154
Registriert am: 24.07.2007
Gleise G-Gleis


RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#14 von jim ( gelöscht ) , 31.10.2012 12:16

Es macht Spaß !!! Ich habe mein altes Notebook mit Rocrail gestartedt & die CS 1 und nun habe ich mit meinen Handy die Loks gesteuert !!!
MfG Andreas


jim

RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#15 von Stefan Krauss , 31.10.2012 20:19

Hallo, Daniel!

Zitat von Wechselstromer
Als nächsten Schritt würde ich versuchen den Decoder abzufragen. Ziel soll es sein dass mir der Decoder seine Bezeichnung "Lokpilot 3" nennt und die zur Verfügung stehenden Funktionen (F0=Licht, F1=Funktion, F2=Funktion, F3=Rangiergang, F4=Anfahr/Bremsverzögerung). So wie das der Decoder auch gegenüber meiner alten MS1 gemacht hat. Wie muss ich das angehen? Müssen dazu gezielt CVs abgefragt werden? Ich habe in der Märklin CAN Doku keinen "Befehl" gefunden der das machen würde.



Richtig, dazu sind die entsprechenden CVs auszulesen. Für das Lesen und Schreiben von CVs gibt es auf dem CAN entsprechende Befehle. Welche CVs man lesen muss und wie sie zu interpretieren sind, ist aber Sache der Applikation.

Bei mfx sind die Informationen nicht einfach in CVs mit fester Nummer abgelegt, sondern in einer etwas komplexeren Datenstruktur. Dies ist in der inoffiziellen mfx-Doku beschrieben (ist hier zu finden).

Grüße
Stefan


Stefan Krauss  
Stefan Krauss
InterCity (IC)
Beiträge: 577
Registriert am: 11.09.2012
Homepage: Link
Spurweite H0
Stromart AC, Digital


RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#16 von Wechselstromer , 01.11.2012 09:45

Hallo!

Ich habe in der Zwischenzeit versucht den Decoder mit SDL-X abzufragen, leider ohne Erfolg. Eventuell liegt es daran dass ich dem Decoder die Mfx Adresse 1 zugeteilt habe, was wohlzumindest unüblich ist. Eigentlich würde die Gleisbox wohl erst Adressen ab 5 vergeben. Ich bin dabei das zu korrigieren, allerdings muss ich erst rausfinden wie ich den Decoder dazu bringe sich bei der Gleisbox neu anzumelden... Falls irgendwer hierzu einen Tipp hat immer her damit!

@Stefan (und natürlich alle anderen Profis): Du bist ja sehr tief drin in der CAN und MFX Thematik. Ich habe hier eine Ausgabe von candump und auch von can2udp während ich versucht habe den Decoder abzufragen.

can2udp:

<-UDP>CAN CANID 0x0E0300 [7] 00 00 40 01 00 00 06
->CAN>UDP CANID 0x0F0300 R [7] 00 00 40 01 00 00 01
->CAN>UDP CANID 0x0F0300 R [7] 00 00 40 01 08 00 01
->CAN>UDP CANID 0x0F0300 R [7] 00 00 40 01 04 00 01
->CAN>UDP CANID 0x0F0300 R [7] 00 00 40 01 0c 00 00
->CAN>UDP CANID 0x0F0300 R [7] 00 00 40 01 10 00 01
->CAN>UDP CANID 0x0F0300 R [7] 00 00 40 01 14 00 0b

und candump:

can0 E0300 [7] 00 00 40 01 00 00 06
can0 F0300 [7] 00 00 40 01 00 00 01
can0 F0300 [7] 00 00 40 01 08 00 01
can0 F0300 [7] 00 00 40 01 04 00 01
can0 20000004 [8] 00 01 00 00 00 00 00 00 ERRORFRAME
can0 F0300 [7] 00 00 40 01 0C 00 00
can0 F0300 [7] 00 00 40 01 10 00 01
can0 F0300 [7] 00 00 40 01 14 00 0B

Man kann sehen dass eine Anfrage vom PC zur Gleisbox geschickt wird, und daraufhin eine Antwort kommt. In der ersten Ausgabe habe ich einige Teile hervorgehoben. Die 4001 ist in HEX die Loc-ID, die letzte "Spalte" enthält wohl die eigentlichen Daten der Antwort. Wenn ich die Lok vom Gleis nehme oder eine andere Adresse benutze dann kommt eine ähnliche Antwort, die letzte Spalte fehlt dann aber.

SDL-X scheint aber mit der Antwort nichts anfangen zu können. Das könnte an der ungewöhnlichen Mfx Adresse liegen, vielleicht aber auch an dem Errorframe den ich mir nicht erklären kann. Oder aber das Antwortformat ist einfach nicht so wie es SDL-X erwarten würde.

Kann irgendjemand mit der Ausgabe etwas anfangen? Wie lassen sich daraus Informationen ablesen?


Viele Grüße

Daniel


Märklin H0 Epoche III auf C- & K-Gleisen - Steuerung per Gleisbox und BananaPi, MS1, CS2 (PC) und iTrain
Meine Anlage im Bau


Wechselstromer  
Wechselstromer
InterRegio (IR)
Beiträge: 154
Registriert am: 24.07.2007
Gleise G-Gleis


RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#17 von Wechselstromer , 02.11.2012 17:59

Hallo!

Es geht voran! Die Neuanmeldung mit Adresse 5 hat den Durchbruch gebracht. Ich konnte den Decoder mit SDL-X auslesen und habe zum Test das Loksymbol geändert und in den Decoder geschrieben. Jetzt liefert die MS1 das passende Lokymbol.
Beim Auslesen verhaspelt sich SDL-X allerdings zum Teil noch ein Wenig. Aus meiner V100 2215 wurde zunächste eine V010 215 und später eine V010 2215. Aber das wird sich sicherlich auch noch klären.
Als nächstes werde ich mal Function Mapping testen und den Code der Mfx-Anmeldung in can2udp dynamisch machen. Im Moment erhält ja noch jede neue Lok die gleiche Adresse.

Viele Grüße

Daniel


Märklin H0 Epoche III auf C- & K-Gleisen - Steuerung per Gleisbox und BananaPi, MS1, CS2 (PC) und iTrain
Meine Anlage im Bau


Wechselstromer  
Wechselstromer
InterRegio (IR)
Beiträge: 154
Registriert am: 24.07.2007
Gleise G-Gleis


RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#18 von DiegoGarcia , 02.11.2012 20:59

Hallo Daniel,

Schön zu sehen, dass es mit 4005h als UID klappt. Wie hast Du die Neuanmeldung Deines mfx-Decoders erzwungen?

Bezgl. des Verhaspelns beim Einlesen des Namens in SDL-X: wie sieht dazu die Aufzeichnung des Datenstromes aus?

Ciao
Diego


EDIT: 2012-11-03 12:26 Uhr:

Zitat von Wechselstromer
Beim Auslesen verhaspelt sich SDL-X allerdings zum Teil noch ein Wenig. Aus meiner V100 2215 wurde zunächste eine V010 215 und später eine V010 2215. Aber das wird sich sicherlich auch noch klären.


Hallo Daniel,

das mit dem Verhaspeln ist geklärt. Bisher war SDL-X davon ausgegangen, dass die CV-indices in ihrer natürlichen Reihenfolge kommen. Neue Version (v0.63) von SDL-X ist jetzt online, darin werden die hereinkommenden 16-Bytes von "Name" und "User-String" entsprechend ihres Index ausgewertet. Scheint aber auch zu zeigen, dass Deine Lösung evtl. die Reihenfolge der CAN-Messages nicht ganz chronologisch an SDL-X weiterleitet. Könnte dann auch Probleme mit dem Function-Mapping und der Geschwindigkeitskurve geben...


Zitat von Wechselstromer
und candump:

can0 E0300 [7] 00 00 40 01 00 00 06
can0 F0300 [7] 00 00 40 01 00 00 01
can0 F0300 [7] 00 00 40 01 08 00 01
can0 F0300 [7] 00 00 40 01 04 00 01
can0 20000004 [8] 00 01 00 00 00 00 00 00 ERRORFRAME
can0 F0300 [7] 00 00 40 01 0C 00 00
can0 F0300 [7] 00 00 40 01 10 00 01
can0 F0300 [7] 00 00 40 01 14 00 0B

SDL-X scheint aber mit der Antwort nichts anfangen zu können. Das könnte an der ungewöhnlichen Mfx Adresse liegen, vielleicht aber auch an dem Errorframe den ich mir nicht erklären kann. Oder aber das Antwortformat ist einfach nicht so wie es SDL-X erwarten würde.


In Deinem Beispiel kommt Index 2 ("08") vor 1 ("04"). Das wäre SDL egal. Es kommen auch alle 6 Indices. Mir noch nicht ganz klar, warum es mit 4001h nicht geklappt hat.

Ciao & und vielen Dank für den Hinweis auf den Bug
Diego


talks are cheap, and they don't mean much .…


 
DiegoGarcia
Metropolitan (MET)
Beiträge: 2.797
Registriert am: 15.04.2007
Steuerung mfx


RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#19 von bertr2d2 , 05.11.2012 20:52

Zitat von DiegoGarcia

das mit dem Verhaspeln ist geklärt. Bisher war SDL-X davon ausgegangen, dass die CV-indices in ihrer natürlichen Reihenfolge kommen. Neue Version (v0.63) von SDL-X ist jetzt online, darin werden die hereinkommenden 16-Bytes von "Name" und "User-String" entsprechend ihres Index ausgewertet. Scheint aber auch zu zeigen, dass Deine Lösung evtl. die Reihenfolge der CAN-Messages nicht ganz chronologisch an SDL-X weiterleitet.


Die Reihenfolge ist in der Tat nicht chronologisch. Das hängt mit dem Buffer des Controllers und dem Kernel Modul zusammen. Ich habe schon eine Idee für die Lösung - dauert aber noch ein wenig.

Das SDL-X das abfängt ist natürlich auch nicht schlecht

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.545
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#20 von Wechselstromer , 08.12.2012 11:05

Guten Morgen!

Es geht voran! Nachdem die Steuerung per PC klappt und ich es auch geschafft habe CVs zu lesen und zu schreiben, bin ich jetzt dabei mich mit der Mobile Station zu beschäftigen. Ziel soll es sein die MS als Handregler verwenden zu können. Dazu bediene ich mich der CAN Dokumentation von Stefan.

Die ersten Schrittchen dazu sind getan, die Anmeldephase (vgl. Kap. 6.2 CAN Doku) ist durchlaufen. Ich habe die 7 Nachrichten meiner MS erhalten und beantwortet, so dass ich am Schluss eine wahre Flut an Meldungen von der MS über den CAN Bus erhalte. Die gehören dann wohl schon zur Aufrüstphase (Kap. 6.3) und ich muss mich damit bei Zeiten näher beschäftigen.

Auch muss der Code den ich verwende verbessert werden. Zur Zeit sind die Quittungen auf die Stufen zuvor per Hand berechnet worden und fest im Code verbaut. D.h. der Code funktioniert momentan nur mit dieser einen MS, da andere sich z.B. hinsichtlich UID unterscheiden. Auch gefällt mir die Struktur überhaupt nicht, da muss ich mir mal Gedanken zu machen.

Gibt es denn hier im Forum jemanden der sich mit C-Programmierung gut auskennt und mir da konzeptionell helfen kann, oder noch besser, der auch eine MS1 und die nötige CAN Hardware hat und mit mir zusammen testen und experimentieren will? Jegliche Hilfe wäre eine Erleichterung.

Viele Grüße und ein schönes Schnee-Wochenende

Daniel


Märklin H0 Epoche III auf C- & K-Gleisen - Steuerung per Gleisbox und BananaPi, MS1, CS2 (PC) und iTrain
Meine Anlage im Bau


Wechselstromer  
Wechselstromer
InterRegio (IR)
Beiträge: 154
Registriert am: 24.07.2007
Gleise G-Gleis


RE: Mini Rocrail Server / OpenWRT und Modellbahnsteuerung

#21 von Wechselstromer , 09.02.2013 14:17

Hallo zusammen,

es ist schon lange her dass ich hier das letzte Mal geschrieben habe, deshalb möchte ich heute von meinem Fortschritt berichten. Ich bin soweit gekommen, dass ich eine MS1 am CAN Bus am Leben halten kann. Das heißt wenn ich die MS1 an den CAN Bus anschließe erscheint nicht mehr "KEIN MASTER", sondern sie erkennt meine Software als legitimen Master an.

Jetzt geht es darum den "Lokstat" vom Master auf den Slave zu übertragen, also die Liste der Lokmotiven auf die der Slave Zugriff hat. Dazu muss ich mir erst überlegen wie ich den Lokstat in der Software organisiere. Danach kann ich mich dann um die Steuerung der Loks kümmern. Das wird sicherlich auch noch einiges an Arbeit. Leider habe ich im Moment nicht so viel Zeit, so dass ich immer nur dann und wann mal etwas weiter machen kann. Ich werde euch auf dem Laufenden halten.

Wenn jemand Interesse an dem Programm hat, so wie es im Moment ist, oder mich unterstützen mag verschicke ich den Quellcode gerne per Mail!

Viele Grüße

Daniel


Märklin H0 Epoche III auf C- & K-Gleisen - Steuerung per Gleisbox und BananaPi, MS1, CS2 (PC) und iTrain
Meine Anlage im Bau


Wechselstromer  
Wechselstromer
InterRegio (IR)
Beiträge: 154
Registriert am: 24.07.2007
Gleise G-Gleis


   


  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz