solarbetriebene Teststrecke auf Dachloggia

Benutzer und/oder Modelleisenbahnanlagen welche mit RailControl gesteuert werden
Post Reply
joachimt
Posts: 10
Joined: Wed Aug 04, 2021 10:50 am

solarbetriebene Teststrecke auf Dachloggia

Post by joachimt »

Hallo zusammen,

im Wünsche und Ideen Bereich hatte ich ein Thema Virtuelle MQTT-JSON Zentrale aufgemacht. Mit Hilfe von Teddy habe ich das "Notwendigste" dieser Zentrale für meine Teststrecke programmiert. (Setup siehe dort).

Leider habe ich in meiner Wohnung keinen Platz für meine kleinen Eisenbahnpläne, so dass ich auf die Loggia ausweichen muss. Dort habe ich eine 12V Solaranlage mit Laderegler und Autobatterie im Betrieb. Ich nehme den 12V Ausgang des Ladereglers und transformiere ihn mit einem DC/DC Leistungsverstärker auf 18V, um damit eine Märklin Gleisbox zu betreiben. Die Gleisbox wird per CAN Bus über die Railuino Library, laufend auf einem esp8266 Arduino Mikrocontroller, angesteuert. Alle Geräte befinden sich in einem regengeschützten Schrank. Der Mikrocontroller lauscht auf eine MQTT Queue, auf dem er die Fahrbefehle per JSON Nachricht eben von der Railconfrol Software mit dieser neuen Schnittstelle bekommt.

Die Teststrecke sind einfach zwei Geraden. Einmal mit Märklin, einmal mit einem 2-Leiter System mit Peco Gleisen.
Im Anhang befinden sich zwei Dateien. Ein Bild mit der Teststrecke und ein kleines Video (musste ich mit gzip zippen) mit einem Pendelzug, den ich in Railcontrol über 2 Fahrstrassen (hin/zurück) eingestellt habe.

Ich werde nun die Teststrecke die nächsten 4 Wochen draußen stehen lassen und schauen, inwieweit die Schienen korrodieren. Wenn das nicht der Fall ist (habe beim 2-Leiter größere Hoffnung als bei Märklin.), habe ich vor, über den Winter einen kleinen Hundeknochen mit Überholgleisen in Modulweise zu bauen, den ich im nächsten Sommer aufbauen und betreiben kann .

Gruß

Joachim
Attachments
Loggia_Teststrecke.JPG
Loggia_Pendelzug2.mp4.gz
(2.63 MiB) Downloaded 262 times
User avatar
teddy
Site Admin
Posts: 428
Joined: Thu May 07, 2020 2:39 pm
Contact:

Re: solarbetriebene Teststrecke auf Dachloggia

Post by teddy »

Hallo Joachim

Es freut mich sehr, dass du Erfolg hattest mit der Implementation deiner MQTT Schnittstelle. Für dich war es sicher sehr lehrreich, hast du doch einige Konzepte und Möglichkeiten der verschiedenen System kennengelernt.

Was mir bisher nicht bewusst war, dass du am Ende eine Gleisbox von Märklin damit ansteuerst. RailControl spricht grundsätzlich ja schon das CAN-Protokoll direkt. Die Frage ist ja jeweils nur, wie das CAN-Signal auf einen USB- oder Ethernet-Anschluss kommt.

Was mir nicht so ganz klar ist: Wird Railuino noch weiterentwickelt? Das Aktuellste was ich aktuell finde ist vom Jahr 2013, was ja nicht ganz aktuell ist.

Gruss
Teddy
joachimt
Posts: 10
Joined: Wed Aug 04, 2021 10:50 am

Re: solarbetriebene Teststrecke auf Dachloggia

Post by joachimt »

Hallo Teddy,

auf das Projekt mit der Modelleisenbahn bin ich neben den Coronaeinschränkungen aufgrund eines Artikels in der Make (früher CT Hacks) Zeitschrift gekommen. Dort wurde das Canguru System vorgestellt.
Das wollte ich nachbauen. Leider hat die Software unter Linux nicht kompiliert. Das konnte ich "hinbiegen". Allerdings hat danach nichts funktioniert. Um die CAN Schnittstelle zu debuggen, habe ich mir für kleines Geld ein mcp2515 Arduino Modul gekauft. Auf dem CAN Bus konnte ich Messages von der Märklin Mobile Station sehen, beim Canguru System kam leider nichts. Zudem erschien mir die Software insgesamt zu kompliziert.
Beim googlen ist mir die Railuino Software aufgefallen. Ja, die wird seit 2013 nicht mehr weiterentwickelt. Sie erschien mir aber überschaubar und ich habe mich entschlossen, in dieser Richtung weiter zu machen. Leider war der CAN Bus Treiber nur für ein spezielles Shield passend und nicht für den mcp2515 Chipsatz. Habe mich in den Code "reingefuchst" und den alten Treiber durch den vom mcp2515 ausgetauscht. (würde das auch online stellen wollen auf github, allerdings bin ich mir unsicher, wie ich im Code unter GPL Lizenz korrekt meine Änderungen kenntlich mache. Kannst Du da evt. helfen? Zudem habe ich die Idee, die Railuino Software für den raspberry pi + mcp2515 zu portieren. Es handelt sich "lediglich" um 2 Klassen. Hatte da an python gedacht ...)

An diesem Punkt hatte zum ersten Mal ein Erfolgserlebnis und konnte Lokomotiven fahren lassen. Auf die Idee mit mqtt bin ich durch einige Home Automation Projekte gekommen, die das nutzen. Ist einfach, offen und die JSON Nachrichten sind auch von Menschen zu lesen.

Ich habe vor, Weichen an der Gleisbox vorbei, direkt vom mqtt per Arduino mit einem Servo zu steuern. Auch Rückmelder würde ich und habe ja schon am S88 Bus vorbei erstellt. Da sind der Phantasie keine Grenzen mehr gesetzt. Ich denke z.B. daran, einen Bahnhof mit einer Kamera von oben zu überwachen. aus dem Bild per opencv Library die einzelnen Gleise herauszuschneiden und diese dann von einer Referenzaufnahme ohne Züge "abzuziehen". Ist die Differenz "0" also ein schwarzes Bild, ist das Gleis frei. Sehe ich Differenzen, ist das Gleis belegt. Das Ergebnis einfach per Mqtt/JSON melden. Ich muss mir an dieser Stelle keine Gedanken über Elektronik mehr machen. Bei Gartenbahnen mit ein bisschen Gewicht könnte man an Drucksensoren denken, die "Gewicht" auf dem Gleis detektieren ...

Gruß

Joachim
bertr2d2
Posts: 40
Joined: Sun Aug 09, 2020 9:57 am

Re: solarbetriebene Teststrecke auf Dachloggia

Post by bertr2d2 »

Hallo Joachim.
joachimt wrote: Sun Aug 15, 2021 8:35 am ...
Zudem habe ich die Idee, die Railuino Software für den raspberry pi + mcp2515 zu portieren. Es handelt sich "lediglich" um 2 Klassen. Hatte da an python gedacht ...)
das scheint mir etwas umständlich. Nimm doch einfach ein CAN-Hat wie:
https://github.com/GBert/misc/blob/mast ... /README.md
https://www.stummiforum.de/t148950f7-Ra ... msg2223890

Diese Interfaces sind SocketCAN kompatibel und laufen unter Linux Out-of-the-Box. Und dann noch:
https://github.com/GBert/railroad/tree/master/can2udp
Damit hast Du eine CS2/C3 "kompatibles" Interface (LAN<->CAN Gateway).
Zudem kannst Du mit dem can-monitor sehr einfach ein Debugging machen, sollte mal etwas nicht funktionieren wie gedacht.

Gruß

Gerd

PS: Damit funktioniert natürlich auch Railcontrol (SocketCAN Interface + can2udp) ;-)
joachimt
Posts: 10
Joined: Wed Aug 04, 2021 10:50 am

Re: solarbetriebene Teststrecke auf Dachloggia

Post by joachimt »

Hallo Gerd,

Danke für den Hinweis. das erscheint in der Tat einfacher.
Ich habe das Modul https://www.amazon.de/Mcp2515/s?k=Mcp2515 am raspberry pi mit dem "CAN-Netzsocket" schon ausprobiert und konnte ebenfalls am CAN Bus sniffen.

Wenn https://github.com/GBert/railroad/tree/master/can2udp auf dem "CAN-Netzsocket" aufsetzt, sollte das sofort funktionieren. Man würde sich mit dem gekauften (und auch nicht teurem) Modul die zeitaufwendige und fehleranfällige Bastelei sparen.

Allerdings fehlt dann die eingezogene MQTT/JSON Schnittstelle.

Wenn man das nicht will, sicherlich der bessere Weg.

Gruß

Joachim

p.s.: Bin noch nicht so lange in den Foren aktiv.
bertr2d2
Posts: 40
Joined: Sun Aug 09, 2020 9:57 am

Re: solarbetriebene Teststrecke auf Dachloggia

Post by bertr2d2 »

Hallo Joachim.
joachimt wrote: Sun Aug 15, 2021 12:04 pm Danke für den Hinweis. das erscheint in der Tat einfacher.
Ich habe das Modul https://www.amazon.de/Mcp2515/s?k=Mcp2515 am raspberry pi mit dem "CAN-Netzsocket" schon ausprobiert und konnte ebenfalls am CAN Bus sniffen.
das funktioniert natürlich auch, aber die fehlende galv. Trennung ist ein latentes Risiko, Deinen RPi zu grillen.
Wenn https://github.com/GBert/railroad/tree/master/can2udp auf dem "CAN-Netzsocket" aufsetzt, sollte das sofort funktionieren. Man würde sich mit dem gekauften (und auch nicht teurem) Modul die zeitaufwendige und fehleranfällige Bastelei sparen.

Allerdings fehlt dann die eingezogene MQTT/JSON Schnittstelle.
Wozu soll denn der MQTT/JSON Teil dienen ? Sofern es um Rückmeldung geht ist das relativ einfach ein MQTT <-> CAN/UDP Gateway zu bauen bzw. zu programmieren (S88-Events nach CAN/UDP -> siehe s88udp). Mit einem ESP8266 könnte man aber auch gleich diese UDP Pakete generieren.

Gruß

Gerd
joachimt
Posts: 10
Joined: Wed Aug 04, 2021 10:50 am

Re: solarbetriebene Teststrecke auf Dachloggia

Post by joachimt »

Hallo Gerd,

na, ja die Idee ist, eine "Technik-Protokoll" unabhängige Schicht einzuziehen.

Und das in beide Richtungen. Ich möchte ja Weichen schalten und das ohne die Gleisbox zu benutzen, direkt von Mqtt an den arduino, der die Weiche mit einem Servo schaltet. Auf der anderen Seite muss ein Rückmelder nur die MQTT Schnittstelle bedienen und keine S88 Umsetzer mehr.
MQTT ist doch das WhatsApp für technische Prozesse. Warum sollte man das hier nicht nutzen? Ist einfach und bei IoT Lösungen oftmals eingesetzt.

Ich glaube, dass vor allem junge Leute damit eher etwas anfangen und zu eigenen kreativen Lösungen kommen können.

Gruß

Joachim

p.s.: Das Modul https://github.com/GBert/misc/blob/mast ... /README.md. Ist das von Dir? :-)
bertr2d2
Posts: 40
Joined: Sun Aug 09, 2020 9:57 am

Re: solarbetriebene Teststrecke auf Dachloggia

Post by bertr2d2 »

Hallo Joachim,
joachimt wrote: Sun Aug 15, 2021 1:42 pm Und das in beide Richtungen. Ich möchte ja Weichen schalten und das ohne die Gleisbox zu benutzen, direkt von Mqtt an den arduino, der die Weiche mit einem Servo schaltet. Auf der anderen Seite muss ein Rückmelder nur die MQTT Schnittstelle bedienen und keine S88 Umsetzer mehr.
MQTT ist doch das WhatsApp für technische Prozesse. Warum sollte man das hier nicht nutzen? Ist einfach und bei IoT Lösungen oftmals eingesetzt.
OK, jetzt habe ich es verstanden :-)
p.s.: Das Modul https://github.com/GBert/misc/blob/mast ... /README.md Ist das von Dir? :-)
Ja, das stammt von mir.

Gruß

Gerd
vikr
Posts: 58
Joined: Thu Jul 08, 2021 7:37 am

Re: solarbetriebene Teststrecke auf Dachloggia

Post by vikr »

Hallo Gerd,
bertr2d2 wrote: Sun Aug 15, 2021 12:32 pm Mit einem ESP8266 könnte man aber auch gleich diese UDP Pakete generieren.
das genau wird hier von Gerard vorgestellt:

https://mobatron.4lima.de/2021/05/nextg ... nsormodule

und zwar für das CAN der CS2/3 (oder alternativ für die z21-LAN-Spezifikation).

Aber eine Infrastruktur über eine MQTT-Schnittstelle hat auch Vorteile, insbesondere bei seltenen Meldungen. Aber dann bitte nicht nur für einzelne Bits als Meldungen, sondern ggf. auch mehrere Bytes um z.B. auch Railmeldungen zu übermitteln, z. B. gemäß der Spec von Roco.

MfG

vik
User avatar
_DB_
Posts: 103
Joined: Wed May 20, 2020 8:20 pm
Location: Herne - Germany

Re: MQTT-Schnittstelle

Post by _DB_ »

Hallo zusammen,

um's kurz zu sagen: diese Diskussion hier finde ich total prima. Ich hatte mal node-red auf meinem Raspi an die IP-Adresse des CAN2LAN-Servers angehängt. Funktionierte prächtig.

Ich kann leider noch kein JavaScript zur Erstellung eigener Funktionsblöcke, mit dem ich jetzt noch die CAN-Pakete (die ich ohne Aufwand sofort einlesen konnte) nach belieben auswerten könnte. Spontan fällt mir da ein Betriebsstundenzähler für die verschiedenen Loks ein.

Was mir in der Diskussion ebenfalls gefällt, ist der dezentrale Lösungsansatz mit Weichenstellung über Arduino oder auch Rückmelde-Auswertung über Arduino. Ich habe in meiner 'Sommerpause' meine erste Anlage aufgebaut und bin mit dem Raspi als alleinige Rechnerinstanz wieder an die Grenzen gestoßen: immer wieder mal (und mit steigender Anzahl an Ereignissen dann auch häufiger) rauschten Loks immer wieder mal am Ziel vorbei.

Ich habe dann doch mal einen Windows-PC eingesetzt (und Ubuntu-Linux 20.4 als Win10-Subsystem installiert, damit ich den aktuellen RailControl-Stand übersetzen konnte) und mit meiner vorhandenen CC-Schnitte kombiniert. Und siehe da: die von mir bis dahin (mit dem Raspi eingesetzte) verschmähte CC-Schnitte bewältigt den Kommunikationsaufwand ohne Probleme. Aber: ich wollte ja keinen vollwertigen PC einsetzen!

Deshalb finde ich einen Verbund von dezentralen Systemen (Raspi mit CAN2Lan und RailControl sowie einem oder mehreren Arduino(kompatiblen) Controllern über eine allgemeine Schnittstelle auch für mich sehr passend (ganz im Sinne von CANguru).

So viel an dieser Stelle - weitere aktuelle Erfahrungen meinerseits folgen in den entsprechenden Themenbereichen. Bis dahin - Detlef
Märklin H0 Gleisbox aufgepeppt -
RailPi V2 mit Gerds 'can2lan', Teddy's 'RailControl', CdB Modulen, Gustavs 'CANguru-System'
und DCC-EX - vorzugsweise für die LGB und zum Testen
User avatar
teddy
Site Admin
Posts: 428
Joined: Thu May 07, 2020 2:39 pm
Contact:

Re: MQTT-Schnittstelle

Post by teddy »

_DB_ wrote: Thu Aug 19, 2021 11:26 amum's kurz zu sagen: diese Diskussion hier finde ich total prima.
Dem kann ich mich nur anschliessen.

Gruss
Teddy
joachimt
Posts: 10
Joined: Wed Aug 04, 2021 10:50 am

Re: solarbetriebene Teststrecke auf Dachloggia

Post by joachimt »

Hallo zusammen,

hier ein kleines Update, nicht von meiner Dachloggia, sondern aus meinem Keller.
Es geht darum, als Rückmelder eine Kamera für den Automatikbetrieb einzusetzen. Diese nimmt die Strecke auf. Im Bild werden Ausschnitte definiert, die die Gleisblöcke abbilden. Befindet sich ein Zug in einem dieser Bildausschnitte, wird der entsprechende Block als besetzt gemeldet. Dies geschieht über die von mir geschriebene "MQTT Json" Zentrale in railcontrol. Die Steuerung der Lok geschieht ebenso über MQTT. Die Messages werden eingelesen und über das von mir auf ANSI C und CAN Schnittelle adaptierte Programm railuino (ursprünglich für arduino) über die Märklin Gleisbox an das Fahrgleis übertragen.
Anbei 2 Dateien: Das pdf zeigt schematisch das Setup, das Video einen Desktopmitschnitt einer Testfahrt. Für die Qualität muss ich mich entschuldigen.

Liebe Grüße

Joachim
Attachments
railcontrol.mp4.gz
(3.19 MiB) Downloaded 104 times
videorepeater.pdf
(47.45 KiB) Downloaded 121 times
User avatar
_DB_
Posts: 103
Joined: Wed May 20, 2020 8:20 pm
Location: Herne - Germany

MQTT Json - Zentrale für RailControl

Post by _DB_ »

Hallo Joachim,

wenn das neue Jahr schon so anfängt - womit hört es dann wohl auf?

Ich habe deinen Beitrag mit großem Interesse gelesen und bin gerade dabei, den Inhalt auch nur näherungsweise zu erfassen. Da drängen sich Fragen über Fragen auf...

Momentan fehlt mir leider die Zeit für solch (für mich) umwälzenden neuen Ideen, ich bin aber sehr an Deinem Projekt interessiert!

Hast Du mehr Infos über Dein Projekt für mich bzw. uns im Forum?

Ein gutes neues Jahr Dir und allen RailControl-Fans und -Weiterentwicklern!

Viele Grüße aus Herne - Detlef
Märklin H0 Gleisbox aufgepeppt -
RailPi V2 mit Gerds 'can2lan', Teddy's 'RailControl', CdB Modulen, Gustavs 'CANguru-System'
und DCC-EX - vorzugsweise für die LGB und zum Testen
Post Reply