Mein CAN2WLAN Projekt
Eigentlich bin ich ein 2-Leiter-Fan und hatte mit dem 3-Leiter-System Märklin nie was am Hut. Ich besitze deswegen auch keine CS2 oder CS3. Die Projekte, die ich in der Vergangenheit für die Märklin Fans auf die Beine gestellt habe, kamen mithilfe einer geliehenen CS2 zustande. Als mir diese CS2 nicht mehr zur Verfügung stand, habe ich nach einer Möglichkeit gesucht, die bis dahin für das 3-Leiter-System erstellte Projekte zu pflegen und weiterzuentwickeln. Nur zum Testen war mir aber eine neue oder gebrauchte CS viel zu teuer.
Es gibt im Internet diverse Projekte, die aus einer Märklin*) Gleisbox 60116 eine kleine aber komplette Modellbahnzentrale machen. Ich habe länger überlegt, eine solche erweiterte Gleisbox zum Testen meiner WLAN-Rückmelder nachzubauen. So kam ich auf die Idee, so wie ich es auch beim Z21 NextGen Projekt mit dem „Mediator“ gemacht habe, eine CS2 auf einem Wemos D1 Mini zu emulieren. An dieser „virtuellen CS2“ könnte sich dann das Modellbahnsteuerprogramm Rocrail **) über das „mbus“ Protokoll anmelden und die eingehenden WLAN-Rückmeldungen verarbeiten. Das verwendete Protokoll war TCP. Das war schnell erledigt und funktionierte quasi auf Anhieb.
CS Gateway-Funktion
Einer der wesentlichen Eigenschaften in einer physikalischen CS2 ist die CAN-Gateway-Funktion. Eingehende CAN Nachrichten werden auf das Ethernet weitergegeben. Ethernet-Nachrichten, die an die Central Station (an das Gateway) gehen, werden automatisch in CAN-Nachrichten gewandelt und in das interne CAN-Netzwerk der Märklin Welt verteilt.
Das Gateway ist ideal dafür geeignet, Rückmeldungen im System zu verteilen. Die CS selbst verwendet die Meldungen im Layout zur Anzeige und zum Auslösen von Aktionen. Sie gibt diese Meldungen aber auch als Broadcast in das externe Ethernet und in das interne CAN-Netzwerk weiter, damit Clients wie Modellbahnsteuerprogramme und Apps sie ebenfalls auswerten können.
Neugierig geworden, ob ich im Emulator auch so eine Funktion hinkriege, habe ich mir ein Starterset mit MS2, Gleisoval und Gleisbox zugelegt. Ein MCP2515 CAN Modul für einige Euro und das vorhandene Wemos Modul sollten die Schnittstelle zu der Modellbahnsteuersoftware bilden.
Anders als bei meinem Z21 Mediator musste nicht eine komplette Central Station emuliert werden. Funktionen wie Fahren und Weichenstellen werden schon von der MS2 und der Gleisbox bereitgestellt. Sollte auch die vorhandene Modellbahnsoftware Lokomotiven fahren und Weichen stellen können, müssten nur die Telegramme vom Ethernet/WLAN auf den CAN-Bus umgesetzt werden. Wenn man auf der MS2 eine Weiche stellt oder eine Lokomotive bedient, sollte die Modellbahnsoftware darüber informiert werden. Das bedeutet, dass auch die Telegramme auf dem CAN-Bus zwischen MS2 und Gleisbox auf WLAN umgesetzt werden.
Anforderungen zusammengefasst:
- Eine CS2-Emulation ist nicht nötig, die Kernfunktionen und die Kommunikation mit der Modellbahnsoftware werden von der Kombination Gleisbox / MS2 übernommen.
- Es müssen lediglich CAN und LAN, bzw. in meinem Falle CAN und WLAN gebrückt werden -> die CAN-WLAN-Bridge.
- Die vorhandenen WLAN-Rückmelder sollten mit der Absenderadresse der Bridge ins WLAN und ins LAN weitergeleitet werden.
- Weichen können sowohl von der MS2 als auch von der Modellbahnsoftware geschaltet werden. Weichenkommandos müssen aber auch in das WLAN und in das LAN dupliziert werden, weil es möglicherweise WLAN-Aktoren gibt, welche die Weichenfunktionen ausführen.
Wie ist der aktuelle Stand des Projekts?
Es gibt 2 Hauptteilnehmer an der Kommunikation: Auf der einen Seite die Kombination MS2/Gleisbox mit CAN und auf der anderen Seite den PC mit einer Modellbahnsoftware wie Rocrail oder Win-Digipet***) über WLAN. In diesem Konzept läuft die Mobile Station 2 (MS2) als reine Handbedienung am CAN Bus mit. Die CAN2WLAN Bridge dient lediglich der Kommunikation zwischen den Komponenten.
Die Bridge setzt alles, was über CAN am Stecker der Gleisbox kommuniziert wird, ohne Umwege auf TCP Telegramme um und schickt das dem PC. Umgekehrt wird alles, was die Modellbahnsoftware auf dem PC über Ethernet/WLAN von sich gibt, ohne Umwege auf CAN umgesetzt und in die Gleisbox eingespeist. Die IP-Adresse des Wemos D1 Mini Moduls stellt quasi die IP-Adresse der Gleisbox dar und diese Adresse wird auch in Rocrail oder Win-Digipet als Zentrale eingetragen.
Die Gleisbox 60116 und die MS2 können damit über die Modellbahnsteuersoftware bedient werden. Loks und Weichen können auf jeden Fall gesteuert werden. Rocrail zeigt unter Programmieren → CAN-Bus die Komponenten MS2 und Trackbox richtig an und bietet in der Fußleiste eine kompakte Übersicht über Spannung, Strom und Temperatur der Gleisbox. Auch Win-Digipet zeigt Strom, Spannung und Temperatur der Gleisbox an.
Für den automatischen Betrieb werden dieselben WLAN-Rückmelder verwendet, die auch an der Central Station zum Einsatz kommen. Alle Rückmelder kommunizieren nur mit der CAN-WLAN-Bridge. Die Bridge setzt die eingehenden Rückmeldetelegramme auf Broadcast Telegramme um. Damit treffen diese Telegramme bei der Modellbahnsoftware mit der IP-Adresse der Gleisbox ein und werden deswegen verarbeitet als kämen sie von der in der Modellbahnsoftware konfigurierten CS2 Zentrale.
Für die Weichen ist eigentlich alles schon OK. Über die MS2 können die Weichen direkt geschaltet werden, die Box erzeugt die passenden Gleissignale und die Änderungen werden in der Modellbahnsoftware angezeigt. Weichenbefehle, die von der Modellbahnsoftware ausgelöst werden, gehen auf die Gleisbox und erzeugen ebenfalls entsprechende Gleissignale für Standard MM oder DCC Weichendecoder.
Weichenbefehle gehen unabhängig von ihrem Ursprung über UDP-Broadcast parallel in das WLAN/LAN. Damit sind wir in der Lage, Zubehörartikel wie Servodecoder für Weichen oder Signale auch über WLAN zu bedienen.
Die Software für die CAN2WLAN-Brücke wurde mit Win-Digipet und Rocrail getestet. I-Train funktioniert auch. Leider ist der Adressbereich der Rückmelder ohne Lizenz eingeschränkt, weil man nur Gerätekenner 0 verwenden kann. Eventuelle Updates werden über WLAN (Over The Air = OTA) eingespielt. Im eingebauten Zustand ist Debuggen über die Web-Schnittstelle und mit YAT („Yet another Terminal“) möglich. Baut man die CAN2WLAN-Bridge aus der Gleisbox aus, kann man sich natürlich auch über die USB-Schnittstelle des Wemos D1 Mini das Geschehen auf dem CAN-Bus oder im WLAN-Netzwerk ansehen. Dabei ist natürlich auf Potenzialfreiheit der USB-Schnittstelle zu achten.
Im Moment laufen nur Rocrail und Win-Digipet. Für andere Modellbahnprogramme steht eine Prüfung noch aus.
NACHBAU
Aufbau der Hardware.
Auf einer Lochrasterplatine (ganz ohne Kupferbahnen, aber mit Lötinseln auf der Unterseite) mit den Abmessungen 43 × 56 mm finden beide Komponenten Platz. Das CAN Modul MCP2515 wird so „umgebaut“, dass die 7 plus 2 erforderlichen Stifte nach unten zeigen. Sie schauen jetzt aus der unbestückten Seite raus. Der Umbau geht am einfachsten, wenn man die Lötstellen der Stifte einzeln erhitzt und mit einer Zange die Stifte aus dem flüssigen Lötzinn durch den gelben Plastiksockel herauszieht. Die Bohrungen werden mit Sauglitze von Zinn befreit und/oder mit einem 0,8 mm Platinenbohrer von Hand gesäubert. Dann wird eine neue 7-polige Stiftleiste eingelötet. Die beiden Stifte des Jumpers J1 können ganz entfallen, genauso wie die Stifte „H“ und „L“. Das Auslöten der 2-poligen Klemme ist etwas diffiziler, aber mit wechselseitigem Erhitzen und Verkannten der Klemme kommt sie relativ einfach raus. Auch diese Bohrungen werden gesäubert. Anstelle der Klemme kommt jetzt eine 3-Polige Stiftleiste zum Einsatz, bei dem man vorher den mittleren Stift gezogen hat. Das sind die Anschlüsse CAN High und CAN Low, die besser im 2,54 mm Raster liegen als die Stifte H und L der 2-poligen Stiftleiste.
Der Wemos D1 Mini wird normal zusammengebaut, d. h., die mitgelieferten 8-poligen Stiftleisten werden so eingelötet, dass sie von der Oberseite mit dem vernickelten ESP8266 Baustein weg zeigen.
Die beiden Platinchen werden nun mit 2,54 mm Buchsenleisten versehen, 2 x 8-polig, 1 x 7-polig und 1 x 3-polig und anschließend auf der Lochrasterplatine so positioniert, dass rundherum ein kleiner Rand freibleibt. Wenn alles passt und die Buchsenleisten flach auf der Platine aufliegen, können die Lötfahnen mit der Lochrasterplatine verlötet werden. Wenn das fertig ist, werden Wemos und MCP2515 von den Buchsenleisten abgezogen und das Verdrahten kann beginnen. Am wenigsten Probleme gibt es, wenn man blanke versilberte Kupferdrähte verwendet und diese auf der Oberseite der Platine in Nord-Süd-Richtung und auf der Unterseite in Ost-West-Richtung verlegt. Hat man mit dem Draht die X-Position des Ziels erreicht, wird er durch die Bohrung gezogen und auf der Unterseite in Y-Richtung bis zum Ziel weitergeführt. So kann man auch mit nicht isoliertem Draht die Platine kurzschlussfrei und mit wenig Aufwand verdrahten.
Bei meiner Version der CAN2WLAN Bridge habe ich zwischen der Gleisbox und dem neuen Modul noch einen verdrehsicheren Stecker eingebaut. Die 4 Drähte, die von der Bridge an die Platine der Gleisbox gehen, können aber auch direkt angelötet werden. Es sind die Anschlüsse +5V, Masse, CAN H und CAN Low.
Firmware aufspielen
Bei einem neuen, bisher nicht benutzten, Wemos D1 Mini Entwicklungssystem muss die Software zunächst über USB geladen werden. Ich verwende dazu die kostenlose Software „NodeMCU-Flasher„. Hier am Beispiel der CAN2WLAN Bridge. Zum Flashen der CAN2WLAN Bridge wird der Wemos D1 Mini aus seinen Buchsenleisten gezogen und nur über ein Micro-USB-Kabel mit dem PC verbunden.
Das Wemos Modul wird immer noch über USB versorgt und startet deswegen sofort nach dem Laden der Firmware. Es muss sich mit dem Modellbahnnetzwerk verbinden (mit einem WLAN-Router). Es kennt aber weder die SSID des WLAN-Routers noch das dazugehörige Passwort und spannt deswegen ein eigenes temporäres WLAN-Netz auf. In der WLAN-Liste des PC wird dieses WLAN-Netzwerk nach wenigen Sekunden (manchmal auch etwas mehr) angezeigt.
Wir verbinden den PC mit diesem neuen Netzwerk und verwenden dazu das Passwort „NWKONFIG“ (Großbuchstaben). Sobald die Verbindung mit diesem Netzwerk steht, rufen wir einen Internet-Browser auf und geben die Adresse http://192.168.4.1 ein.
Hier müssen wir zunächst unser Modellbahnnetzwerk konfigurieren. Solang wir das nicht gemacht haben, kann sich die CAN2WLAN Bridge nicht mit dem Router verbinden und bleibt die Überschrift rot. Wir klicken auf „WiFi Configuration“. Das nachfolgende Menü erscheint.
Hier tragen wir nur die SSID und das Passwort des Modellbahn-WLAN-Routers ein. Wenn wir nun auf „Save Settings“ klicken, verbindet sich die CAN2WLAN-Bridge mit diesem Netzwerk und erhält von dessen DHCP-Server automatisch die nächste freie IP-Adresse. Die gerade noch verwendete Adresse 192.168.4.1 im temporären WLAN ist damit ungültig geworden und der Browser protestiert. Das temporäre WLAN APxxxx wird abgeschaltet und verschwindet nach einiger Zeit (manchmal Minuten) aus der WLAN-Liste.
Da wir jedoch die neue automatisch vergebene Adresse nicht kennen, rufen wir für die weitere Konfiguration der Bridge dieselbe Webseite über ihren Hostnamen auf. In diesem Beispiel verwenden wir dazu in der Adresszeile des Browsers die Netzwerkadresse „http://AP3979.local/“ und schließen mit Enter ab. Andere Wemos-Module haben natürlich einen anderen Hostnamen.
Sollte der Aufruf der Webseite mit dem Namen der Bridge nicht gelingen, kann man dennoch die noch unbekannte IP-Adresse verwenden, indem man sie mit einem „Ping“ ermittelt. Wir rufen zu diesem Zweck die Eingabeaufforderung des PCs auf und geben den Befehl „Ping AP3979“ ein. Mit der jetzt gefundenen Adresse 192.168.20.126 können wir den Browser genauso wie mit dem Namen AP3979 füttern.
Wir stellen fest, dass sich die Farbe der Überschrift der Webseite von Rot auf Grün geändert hat. Das bedeutet, dass die WLAN-Verbindung mit dem WLAN-Router steht.
Noch mal gehen wir in die „WiFi Configuration“:
Die automatisch vergebene Adresse 192.168.20.126, die wir hier sehen, ist aber nicht die Adresse, die wir zur Steuerung der Modellbahn verwenden möchten. Es können sich jederzeit andere Clients an den Router an- oder abmelden und schon ist die nächste freie Adresse bei der nächsten Anmeldung der CAN2WLAN Bridge eine andere. Da aber die Modellbahnsoftware und die WLAN-Rückmelder alle wissen müssen, unter welcher Adresse die Bridge bzw. die Kombination aus MS2 und Gleisbox erreicht werden kann, brauchen wir eine feste, immer gleiche IP-Adresse. Wir müssen deswegen den Router dazu bewegen, der Bridge immer dieselbe IP-Adresse zu geben. Wir verwenden dazu die MAC-ID oder die MAC-Adresse des Wemos Moduls. Leider war die MAC-ID, die beim Flashen angezeigt wurde, nicht ganz korrekt und deswegen schauen wir in der CAN2WLAN Bridge selbst nach. Unter „Main Menu“ ⇾ „Information“ werden alle Daten der Bridge angezeigt, also auch die MAC-ID.
Wir rufen die Web-Oberfläche des Routers auf. Dazu verwenden wir die angezeigte IP-Adresse des WiFi Routers 192.168.20.1. Im Router selbst suchen wir die Rubrik „DHCP“ und dort die „Address Reservation“. Aus der Informationsübersicht kopieren wir die MAC-Adresse der Bridge in die Zwischenablage und legen mit ihr einen neuen Eintrag in diese Tabelle an. Der MAC-Adresse wird nun eine freie IP-Adresse außerhalb des DHCP-Pools zugeordnet.
Im Router wird damit festgelegt, dass das Bridge Modul mit der Mac-Adresse 84:F3:EB:ED:60:95 immer die IP-Adresse 192.168.20.100 erhält. Eine Adresse für unsere Gleisbox, die man sich gut merken kann. Genauso erhält mein PC „KellerShuttle“ immer die Adresse 192.168.20.200. Das sieht in der Adresstabelle des WLAN-Routers dann so aus:
Mein Modellbahn-PC „KellerShuttle“ und die CAN2LAN Bridge „AP3979“ erhalten bei jeder Anmeldung immer dieselben Adressen 200 und 100. Die Lease Time steht dabei auf Permanent. Sonst wird eine IP-Adresse nach spätestens 48 Stunden wieder frei für andere Geräte.
Wenn wir jetzt in der Web-Oberfläche der CAN2WLAN Bridge noch die Adresse des steuernden PCs eingeben, ist die Bridge bereit, die Befehle von Rocrail oder WDP an die Gleisbox weiterzugeben und wir können am PC Weichen stellen und Loks steuern. Mein PC hat die Adresse 200 und ich verwende ihn nicht nur zum Steuern der Modellbahn, aber auch zum Beobachten der Debug-Ausgabe mit dem Terminal-Programm „YAT“. Deswegen ist in der Webseite zur Eingabe der CVs zweimal die 200 eingetragen.
Betrieb mit Win-Digipet
In Win-Digipet wird ein neues Projekt angelegt. Das Programm fragt, ob es die Einstellungen des vorherigen Projekts übernehmen soll. Da ich das neue Projekt mit der CAN2WLAN Bridge komplett neu aufbauen möchte, habe ich die Option nicht gewählt.
Nach einem Klick auf OK muss das neue Projekt ausgewählt (geladen) und gestartet werden. Unter Datei Systemeinstellungen wird als Digitalsystem-Typ Märklin und da Märklin Central Station 2 ausgewählt.
Was WDP noch benötigt, ist die IP-Adresse der Zentrale, in unserem Fall also die Adresse der CAN2WLAN-Bridge. Im Beispiel haben wir die Adresse 192.168.20.100 verwendet, die ich auch hier eingetragen habe. Der Port 15731 wird von WDP korrekt vorgegeben. Wenn man nach dieser Eingabe Win-Digipet neu startet, wird die Verbindung zur CAN2WLAN Bridge sofort aufgebaut und die Kontrollleuchte der CAN2WLAN Zentrale leuchtet grün auf.
Jetzt geht es normal weiter, Gleisbild, Weichen, Signale, Rückmelder und Lokomotiven anlegen, eine Arbeit, die ich hier nicht weiter dokumentiere.
Zu den Rückmeldern muss ich noch vermelden, dass alle Adressen in den Bereichen von:
1 – 496 für Master CS2 (Gerätekenner 0),
oder 1 – 496, 1001 – 1496, 2001 – 2496 und 3001 – 3496 für (nicht existente) L88 mit den Gerätekennungen 1 … 65535 möglich sind. Eine schier unerschöpfliche Auswahl!
Betrieb mit Rocrail
Unter „Datei“, „Arbeitsbereich Öffnen“ wird ein neuer Projekt-Ordner angelegt. Bei mir hat er den Namen „CAN2WLAN“. Wieder unter „Datei“ wird nun „Rocrail Eigenschaften“ geklickt. Hier wählen wir den Reiter „Zentrale“. Im Kasten „Neu“, wo die Vorgabe „virtual“ in der Drop-Down-Box steht, wählen wir „mbus“ und klicken auf „Hinzufügen“.
Die vorgegebene virtuelle Zentrale vcs-1 wird markiert und gelöscht. Die Zentrale „NEW“ mit dem mbus-Protokoll wird jetzt auch markiert und wir klicken auf „Eigenschaften“.
Bei Schnittstellenkennung geben wir einen kurzen, aber prägnanten Namen ein, z. B. „c2w“. Dieser Namen wird in Rocrail an vielen Stellen zur Identifikation dieser Schnittstelle zur Hardware verwendet und als „IID“, Interface IDentifier abgekürzt. Wir wählen als Typ TCP und als Hostname geben wir die IP-Adresse der CAN2WLAN-Bridge an, also wie im Beispiel 192.168.20.100.
Unter dem Reiter „Optionen“ wird „Änderung“ aktiviert.
Dass die Gleisspannung beim Start eingeschaltet werden soll, kann, aber muss nicht, aktiviert werden. Bei mir funktioniert auch die Auswahl auf der Hauptseite der „Rocrail Eigenschaften“.
Was man unter dem Reiter „Rückmelder“ einträgt, ist unwichtig. Die Angabe der Anzahl Module unter S88 bewirkt nur, dass Rocrail beim Einschalten entsprechend viele S88-Module auf den Initialzustand abfragt. Alle WLAN-Rückmelder von dieser Webseite senden aber beim Einschalten automatisch ihren Initialzustand. Da die im Gleisbett eingebauten Rückmelder erst reagieren können, nachdem Rocrail die Gleisspannung eingeschaltet hat und sie sich anschließend in das Modellbahnnetzwerk eingeloggt haben, würde die Abfrage von Rocrail (in meinem Fall) auch nichts bringen.
Wenn man die Rocrail Einstellungen nun mit zweimal OK abschließt und den gerade definierten Arbeitsbereich neu startet, kann man mit dem Button Gleisspannung einschalten, sofort überprüfen, ob die Verbindung der Gleisbox mit der Software funktioniert. Alles andere ist wie gehabt, Lokomotiven anlegen, Weichen und Rückmelder definieren, einen Gleisplan erstellen werden hier nicht weiter beschrieben. Rocrail kann allerdings im Gegensatz zu WDP MFX Loks (manchmal) automatisch erkennen.
WLAN-Rückmelder
Natürlich kann man immer eine eigene Zentrale (zusätzlich zu der CAN2WLAN Bridge) für die Verarbeitung der Rückmeldungen in das Modellbahnsteuerprogramm einbinden. Nachfolgend die Beschreibung für die von mir verwendeten WLAN-Rückmelder.
Nachbau der CAN2WLAN-Bridge und der WLAN-Rückmelder |
---|
Schaltplan für die CAN2WLAN Bridge V1.07 (PDF-Datei) |
Firmware für den WEMOS D1 Mini als CAN2WLAN Bridge V1.07 (Version 1.07 vom 27.09.2024) |
Firmware für den 2- oder 4-Bit WLAN Rückmelder (aktualisierte Version 1.11 vom 25.09.2024) |
Firmware für den 8-Bit WLAN Rückmelder (aktuelle Version 1.02 vom 25.09.2024) |
Firmware für den 16-Bit WLAN Rückmelder (aktuelle Version 1.02 vom 26.09.2024) |
Firmware für den S88 Scanner (ESP32), aktuelle Version noch nicht getestet) |
Firmware für den RMEM2xI Rückmelder im C-Gleis (aktualisierte Version 1.08 vom 21.07.2023) |
Firmware für den RMEM2xM Rückmelder (Massemelder) im C-Gleis (aktualisierte Version 1.11 vom 25.09.2024) |
Firmware zum Löschen des Flash Speichers (4MB 0xFF) |
Das Firmware Flashtool für die NodeMCU Entwicklungsmodule (ESP8266Flasher) |
Vorläufige Bedienungsanleitung für die CAN2WLAN Module |
Die hier präsentierte Firmware-Dateien für die Märklin (WLAN-)Rückmelder bzw. für den S88 Scanner können nicht nur für die CAN2WLAN-Bridge sonder genauso für die Central Stations 2 und 3 verwendet werden. Das CAN2WLAN Projekt läuft natürlich auch ohne WLAN-Rückmeldern. An der Stelle kann jede andere S88- oder andersartige Zentrale für Rückmeldungen verwendet werden. Das erfordert aber einen eigenen Kommunikationseintrag in der Modellbahnsteuerungssoftware für diesen Scanner. Für Tisch- und Teppich-Bahner sind sie ideal geeignet und die CAN2WLAN Bridge übernimmt die Weiterleitung über WLAN an die Modellbahnsoftware.
Die Hardware und die Installation der Rückmeldemodule und des Scanners ist im jeweiligen Blog beschrieben:
2- oder 4-Bit-WLAN Rückmelder
8- und 16 Bit WLAN Rückmelder
WLAN-Rückmelder im C-Gleis (Stromfühler oder Massemelder)
ESP32 als S88-Scanner
Stand 27.09.2024 Gerard Clemens
*) Märklin, Märklin Mini Club, Central Station, Trix, und Mobile Station sind eingetragene Warenzeichen der Firma Gebr. Märklin & Cie. GmbH, D-73033 Göppingen
**) Rocrail ist eingetragenes Warenzeichen von Robert Jan Versluis, D-67373 Dudenhofen
***) Win-Digipet ist eingetragenes Warenzeichen von Dr. Peter Peterlin, Tilsitstraße 2a, D-50354 Hürth
21. September 2024 um 11:47 Uhr
Hallo Gerard,
zunächst einmal einen riesigen Dank für dieses tolle Projekt.
Da ich selbst Access-Point-Box-Variante (WLAN-Modul) nach deinen Vorgaben auf meinem Youtube-Kanal erfolgreich in Gang gebracht habe, finde ich es eine Supersache, die du da vollbracht hast. Ich als Laie bin da immer vorsichtig.
Von anderer Stelle wurde mir zugetragen, dass man beim Verwenden des WEMOS D1 Mini vorsichtig sein muss. Es könnte sich um einen „Fake-Chip“ handeln, der darauf verbaut ist – mit besten Grüßen aus China. Deshalb ist es ist es unerlässlich, den Chip auf dem WEMOS zunächst zu testen. Eine Anleitung befindet sich auf meinem Kanal oder unter folgendem github-Link.
FakeCH340DriverFixer: https://github.com/SHWotever/FakeCH340DriverFixer?tab=readme-ov-file
Dieses Problem existiert nun schon seit 1-2 Jahren.
Jetzt habe ich mir noch eine (ausgemusterte aber voll funktionfähige) Gleisbox zugelegt, um weiter zu experimentieren. Ich habe vor, den Wemos D1 Mini nebst dem MCP2515 direkt in der Gleisbox einzubauen, ähnlich wie du es getan hast.
Daher kommt jetzt meine Frage: Die Masse-Anschlüsse des Wemos und des CAN-Moduls sind mit dem entsprechenden Lötpad auf der Gleisbox-Platine zu verbinden, aber womit ist das andere 5V-Lötpad (rotes Kabel) zu verbinden? Mit dem CAN-Modul oder mit dem Wemos (an der 5+V Lötbohrung)?
Ich danke schon mal im Voraus für deine Rückmeldung.
Allzeit gute Fahrt.
Mit besten Grüßen
Stefan
23. September 2024 um 12:09 Uhr
Hallo Stefan, vielen Dank! Ja, die 5V aus der Trackbox verwende ich als Versorgungsspannung für den Wemos. Der Wemos erzeugt dann daraus die 3,3 V für den MCP2515.
Viel Erfolg bei deinen Vorhaben!
Grüße
Gerard
20. August 2024 um 21:46 Uhr
Hallo!
Super tolles Projekt!
Ich habe hier noch ein paar 8266 hier rumliegen die ich gerne verwenden würde. Die Binary kann ich zwar flashen, aber das Programm stürzt direkt ab: „Error Initializing MCP2515“
Welche Pins wurden für die Verbindung zum MCP2515 genutzt?
23. August 2024 um 15:08 Uhr
Hallo Konrad, ich kann nur sagen, dass die Zeichnung korrekt ist.
Grüße
Gerard Clemens
6. April 2024 um 20:35 Uhr
Hallo Gerard,
das ist ein echt tolles Projekt, so dass ich es gleich nachbauen musste und ausprobiert habe. Ich habe bisher immer eine Lösung mit dem Raspberry Pi gehabt und habe tatsächlich schon länger nach einer Alternative mit dem ESP gesucht und dann hier gelandet.
Tatsächlich läuft es super. Nun bin ich aber kein Freund von Breadboard und Lochrasterplatine unter der Anlage und habe letztendlich die Schaltung aus ESP8266 und dem CAN-Bus Modul in ein PCB-Design gepackt und eine Platine erstellen lassen die ich mit einem Gehäuse unter die Anlage schrauben kann und an die noch weitere CAN-Teilnehmer angeschlossen werden können. Ich weiß du hast hier die S88-WLAN-Rückmelder, da bei mir aber alles schon verkabelt war und ich eine Lösung gesucht habe, meine vorhandenen 8x S88-RM-Module einzubinden, habe ich mir eine Arduino-Lösung auf Basis eines Arduino Nano´s gebaut, der die Module über den S88-Bus ausliest und auf den CAN sendet. (Das aber nur am Rande)
Das alles funktioniert hervorragend solange man die Breadboard-Lösung hat, speziell was das CAN-Bus-Shield angeht.
Komischerweise hat der TJA1050 der auf diesen ja nun recht günstigen CAN-BUS Schild´s, wie sie ja nun von dir beschrieben und in einem bekannten Online-Versandhandel als Vorteilspack zu bekommen sind, keine Probleme mit der 3,3V Versorgung des ESP8266.
Lötet man allerdings sich die Bauteile alle auf eine Platine und nimmt einen TJA1050 von einem großen deutschen Elektronik Versandhaus, scheint dieser massiv Probleme zu haben wenn er nur 3,3V bekommt. Es werden teilweise die Frames die von der Gleisbox bzw. MS2 kommen verschluckt und kommen nicht an. Also sprich nur zufällig.
Ich habe darauf hin von einen dieser CAN-BUS Shields einen TJA1050 ausgelötet und auf meiner Platine aufgelötet und siehe da es funktioniert alles ohne Probleme.
So an dieser Stelle Sorry für den langen Text!
Aber hast du schon einmal davon gehört das es bei den TJA1050 CAN-Transceiver unterschiede gibt. Lt. Datenblatt soll ein Input Level von 3,3V möglich sein weiter unten steht dann in der Tabelle das VCC min. 4,75 V – 5,25V sind.
Viele Grüße
Sebastian
29. Oktober 2023 um 5:59 Uhr
Moin,
sehr interessantes Projekt und leider hab ich es 1,5 Jahre zu spät gefunden. In 2022 hätte es mir eine Menge Aufwand erspart bis ich auf einen ziemlich identischen Aufbau mit dem WemosD1 Mini und dem CAN Board gekommen bin. Einzige Unterschiede: Für die Anbindung hab ich mir ein passendes Kabel organisiert und auf das CAN Shield gelötet und für die Kommunikation nutze ich MQTT (da an dieser Stelle eine viel zu komplexe Event Driven Software Architektur die Steuerung der Anlage übernimmt).
Aktuell stelle ich alle Aktoren und Sensoren ebenfalls auf Wemos D1 mit je 3x MCP23017 (+ fallweise 3x 16er Relais Shields) um. Für Servos nutze ich eine Kombi aus Wemos D1 Mini und PCA9685
25. Oktober 2023 um 17:21 Uhr
Hallo,
ein sehr interessantes Projekt. Ich bin durch Zufall darauf gestossen, weil ich versuchte, einen ähnlichen Ansatz im Netz (CANguru) nachzubauen, aber leider ohne richtigen Erfolg. Würde Ihr Projekt denn auch mit einem Olimex ESP32-EVB Board funktionieren? Das hat ja schon direkt CAN-Bus an Board, auch WLAN aber auch einen Ethernet Anschluss?
Gruß
Michael
26. Oktober 2023 um 15:19 Uhr
Hallo Michael,
ja, das ist ein sehr interessantes Board. Der ESP32 kann WLAN und CAN. Alles andere, was das ESP32-EVB Board mitbringt, ist erst einmal „Overkill“. Das Entwicklungsmodul fände auch kaum noch Platz im MS2 Gehäuse.
Märklin hat diese Tage die MS2 WLAN herausgebracht bzw. angekündigt. Bevor man also noch mal viel Zeit investiert und seine MS2 riskiert, muss das Projekt mit dem ESP32-EVB Board also neue Features bringen, die weder Märklin noch meine CAN2WLAN Brücke bieten.
Machbar wäre es. Der vorhandene Code müsste allerdings komplett neu geschrieben werden.
Grüße
Gerard
25. September 2022 um 15:40 Uhr
Hi Gerard,
Just as you have rewritten the 2-bit WLAN mass detector and the RMEM2xI to UDP to communicate only with the CAN-WLAN Bridge, have you thought about doing the same with the RFID-S88-Light software? Thanks.
Kind regards
Juan Antonio
26. September 2022 um 9:56 Uhr
Hi Juan Antonio,
the RFI_S88-Light would be the wrong choice as it uses a physical S88 interface and not a WiFi board. I haven’t done the conversion to the Märklin CAN protocol but a UDP version for the Roco z21 protocol exists, based on a 8266 MODMCU board. See https://mobatron.4lima.de/2020/03/wlan-rueckmelder and https://mobatron.4lima.de/2021/05/nextgen-wlan-sensormodule. You could always use this version in combination with a Z21 gateway cq. mediator.
Really integrating these RFID sensors in the CAN-WLAN-Bridge raises the question what CAN message to use to communicate vehicle direction (nose is pointing left or right) and the vehicle ID. Reporting occupancy only is not a problem of course. The CAN protocol does not really give room to ID and direction reporting like the Z21 ethernet protocol does.
Kind regards
Gerard
19. September 2022 um 20:09 Uhr
Hallo,
Besteht damit die Möglichkeit auch die z21 App zu nutzen? Fahren/Schalten ohne Rückmelder?
Dankeschöön
21. September 2022 um 18:48 Uhr
Leider „spricht“ die Z21 App nicht das Märklin CAN Protokoll, also ist die Antwort ’nein‘.
Gerard
12. Juni 2022 um 7:36 Uhr
Hallo Gerard,
es lohnt sich immer mal vorbeizuschauen….
Gratulation!
Auch ein schönes Projekt für unsere Jugendarbeitsgruppe, im Club, wenn die Anbindung an Windigipet überschaubar einfach möglich wäre.
MfG
V.
1. Juni 2022 um 0:27 Uhr
Hallo Gerard,
vielen Dank für die Info.
Die Binärdatei habe ich auf den D1 Mini übertragen.
In meinem Homenetz leider keine Anzeige.
D1 will eine Verbindung aufbauen. Ja hier fehlen mir noch einige Infos.
Ich arbeite mit Linux.
Bleibe am Ball und bin gespannt auf den Fortgang dieses Projektes.
Es ist eine gute Option um mit Rocrail und Can Bus zu spielen.
Viel Erfolg.
Kurt
29. Mai 2022 um 19:40 Uhr
Hallo,
diese Anwendung gefällt mir.
Gute Arbeit.
Ich habe die Bauteile zu Verfügung und würde gerne diesen Vorschlag nachbauen.
Welche Software ist auf dem D1 Mini?
Zur Zeit suche ich ich noch eine einfache Anbindung für meine neue Märklin z.
Ich teste auch DCC++(EX). Funktioniert auch mir Rocrail.
Weichen und Signale habe ich noch nicht umgesetzt.
Achtung! Ich bin reiner Hobbyanwender.
Gruß
Kurt
31. Mai 2022 um 10:49 Uhr
Hallo Kurt,
ich habe eine Link zu meiner letzten Binärdatei eingefügt.
Grüße
Gerard