'Sven'-basierter DCC-Geisterwagen - full WLAN Control unter 10 EUR
Verfasst: 09.01.2019, 17:22
Wie man es schon mitbekommen konnte: ich hasse Schienenstrom.
Alle meine G-Spur-Loks fahren ohne.
Teils mit Echtdampf
Meist RC, aber manche davon auch mit NodeMCU und selbstgeschriebenes LUA-Programm für die Servosteuerungen der Dampfventile.
Und ansonsten mit Akkus, und zwar immer 18650-s.
Entweder per RC und Rennauto-Fahrregler.
Oder mit NodeMCU und ein von mir geschriebenes LUA Programm mit PWM.
Oder die "factory" Loks (ESU LokSound 4XL eingebaut) statt Schienenstrom mit einem Geisterwagen dahinter, wo ich die Akkus drin habe, und hier auch den Piko SmartBox als DCC-Zentrale mitfahre, die mit dem Piko SmartControl (ein spezielles Android-Handy mit Motor-Drehknopf) über WLAN gesteuert wird. Der Schienenausgang der Zentrale wird hier über 2 Kabeln an 2 Konnektorstifte an den Loks verbunden.
Und dann gibt es noch mein Harzkamel, der voll autonom DCC fährt, mit Akkus direkt an Bord - und mit einem eingebauten Svenmodul, welches auch per Handy über die Roco Z21App gesteuert wird.
Sogar meinen Feldbahnkoffer habe ich mit einem Svenmodul (und ESU LokSound Mini, diesmal mit dem Motorenausgang auf die kleinen Gleise verbunden) aufgebaut und das wird ebenfalls mit dem Handy (Z21App oder DigiTrains, funktioniert genauso gut) drahtlos gesteuert.
Nu, das war die Einführung zu meinem neuen Projekt, weshalb ich diesen Thread überhaupt angefangen habe, aber ich wollte mal den Umfeld bekannt geben
Plan ist folgendes: nachdem sich das Piko-Handy-Zeug mit seinem eingebauten Akku öfters spontan entlädt (und da ich keine Anlage habe, benutze ich es sehr selten, so etwa vierteljährlich vielleicht) und ich Angst habe, dass es sich einmal tiefentlädt und nicht mehr hochzukurbeln ist, will ich einen alternativen Geisterwagen bauen.
Und zwar auf dem bewährten Framework von Sven basierend.
Kurz: 3 bis 4 18650 Akkus, L298N mit BEC zum NodeMCU, 2N2222 als Inverter für D7 (und 2 Widerstände, deren Wert ich schon wieder vergessen habe und suchen oder messen muss ), das alles auf 2 Räderpaare und fertig ist der Ersatz für den Piko-"Sargwagen" (heißt so weil es ein Güterwagen ist mit einem etwas komischen Holzaufbau getarnt).
Heute sind die Bauteile angekommen:
Das teuerste dabei war der Batteriehelter...
Diesmal nahm ich eine V1.0/V2 NodeMCU (statt dem bisher genommenen "V3"-s, die aber sich als V0.9/V1 entpuppt haben). Die hat zwar 2 Pins, die "reserved" sind (statt U+ und GND zu haben, aber das wird zu verkraften sein),dafür ist es genau 2 Pinreihenabstände schmäler (und passt so besser auf dem Breadboard, was aber nach den bisherigen Erfahrungen jetzt nicht mehr notwendig ist, es wird sofort losgelötet).
Was mir zu Anfang Kopfzerbrechen gemacht hat, war, dass ich bisher die ganze NodeMCU-Sven-Geschichte auf Windows (7SP1) gemacht habe, aber ich habe (Gott sei Dank) keinen Windows Rechner mehr, also muss ich alles auf Linux machen.
Ich hatte aber viel weniger Probleme als ich befürchtet habe. Es gab zwei Kleinigkeiten:
1.)
Putty geht nur mit Sudo auf die ttyUSB0 drauf (warum auch immer, mein User ist in den Gruppen tty und dialout drin, das sollte genügen, ist aber nicht genug scheinbar). EDIT: Jetzt, am nächsten Tag geht es mit mal auch ohne sudo, warum auch immer, also das ist erstmal abgehakt.
2.)
Das in Debian Stretch nativ eingebaute esptool geht scheinbar nicht gut (angeblich ein bekannter Bug) und ich musste das esptool.py GitPakett klonen (dafür git installieren was ich noch nicht hatte), dazu das python-serial ebenfalls noch, damit geht es nämlich.
Lange Rede, kurzer Erfolg: NodeMCU angesteckt, factory mode scannt die Netzwerke, also chip okay, die ursprüngliche V1 Version von Svens Binary draufgeflasht (ging problemlos beim ersten Durchgang), zu Hello World konnektiert, die beiden .css Files und mein einfaches ursprüngliches config.json (mit D8 als Enable) übers Handy (und Svens Webinterface) aufgeladen, NodeMCU powercycled, und sofort war mein selbst konfiguriertes WLAN Netz verfügbar, und die Z21 App konnte konnekten. Das wars fürs erste. Apselut geradeaus und einfach.
Ich verstehe nur eins nicht:
Warum eigentlich muss ich die Adresse 3 im Json angeben...? Wenn das Ding eine Z21 simuliert, müsste ich doch über die App alle mögliche Adressen erreichen können? Ich weiß, erinnere mich dumpf, dass es irgendwie doch so sein muss, und es nur über DCC 3 funktioniert, aber ich kann mich nicht mehr entsinnen, wie und warum, und gefunden habe ich es vorerst nirgends. Ich muss wohl warten, bis Sven vom Skiurlaub (?) wieder eintrifft und es mir enthüllt
Aber ein Problem ist das mir nicht, denn ich fahre auch in "real World" auch immer nur eine Lok gleichzeitig, und das tu ich auch auf dem Modell... also von mir aus können alle Loks die gleiche Adresse "3" haben (bis auf eine haben sie es ja sowieso...)
Ich werde beim Weiterbasteln dann weiter berichten.
Bis dann!
LG Zoltan
Nun kommt die Mechanik, die Verdrahtung und natürlich die Funktionstests.
Alle meine G-Spur-Loks fahren ohne.
Teils mit Echtdampf
Meist RC, aber manche davon auch mit NodeMCU und selbstgeschriebenes LUA-Programm für die Servosteuerungen der Dampfventile.
Und ansonsten mit Akkus, und zwar immer 18650-s.
Entweder per RC und Rennauto-Fahrregler.
Oder mit NodeMCU und ein von mir geschriebenes LUA Programm mit PWM.
Oder die "factory" Loks (ESU LokSound 4XL eingebaut) statt Schienenstrom mit einem Geisterwagen dahinter, wo ich die Akkus drin habe, und hier auch den Piko SmartBox als DCC-Zentrale mitfahre, die mit dem Piko SmartControl (ein spezielles Android-Handy mit Motor-Drehknopf) über WLAN gesteuert wird. Der Schienenausgang der Zentrale wird hier über 2 Kabeln an 2 Konnektorstifte an den Loks verbunden.
Und dann gibt es noch mein Harzkamel, der voll autonom DCC fährt, mit Akkus direkt an Bord - und mit einem eingebauten Svenmodul, welches auch per Handy über die Roco Z21App gesteuert wird.
Sogar meinen Feldbahnkoffer habe ich mit einem Svenmodul (und ESU LokSound Mini, diesmal mit dem Motorenausgang auf die kleinen Gleise verbunden) aufgebaut und das wird ebenfalls mit dem Handy (Z21App oder DigiTrains, funktioniert genauso gut) drahtlos gesteuert.
Nu, das war die Einführung zu meinem neuen Projekt, weshalb ich diesen Thread überhaupt angefangen habe, aber ich wollte mal den Umfeld bekannt geben
Plan ist folgendes: nachdem sich das Piko-Handy-Zeug mit seinem eingebauten Akku öfters spontan entlädt (und da ich keine Anlage habe, benutze ich es sehr selten, so etwa vierteljährlich vielleicht) und ich Angst habe, dass es sich einmal tiefentlädt und nicht mehr hochzukurbeln ist, will ich einen alternativen Geisterwagen bauen.
Und zwar auf dem bewährten Framework von Sven basierend.
Kurz: 3 bis 4 18650 Akkus, L298N mit BEC zum NodeMCU, 2N2222 als Inverter für D7 (und 2 Widerstände, deren Wert ich schon wieder vergessen habe und suchen oder messen muss ), das alles auf 2 Räderpaare und fertig ist der Ersatz für den Piko-"Sargwagen" (heißt so weil es ein Güterwagen ist mit einem etwas komischen Holzaufbau getarnt).
Heute sind die Bauteile angekommen:
Das teuerste dabei war der Batteriehelter...
Diesmal nahm ich eine V1.0/V2 NodeMCU (statt dem bisher genommenen "V3"-s, die aber sich als V0.9/V1 entpuppt haben). Die hat zwar 2 Pins, die "reserved" sind (statt U+ und GND zu haben, aber das wird zu verkraften sein),dafür ist es genau 2 Pinreihenabstände schmäler (und passt so besser auf dem Breadboard, was aber nach den bisherigen Erfahrungen jetzt nicht mehr notwendig ist, es wird sofort losgelötet).
Was mir zu Anfang Kopfzerbrechen gemacht hat, war, dass ich bisher die ganze NodeMCU-Sven-Geschichte auf Windows (7SP1) gemacht habe, aber ich habe (Gott sei Dank) keinen Windows Rechner mehr, also muss ich alles auf Linux machen.
Ich hatte aber viel weniger Probleme als ich befürchtet habe. Es gab zwei Kleinigkeiten:
1.)
Putty geht nur mit Sudo auf die ttyUSB0 drauf (warum auch immer, mein User ist in den Gruppen tty und dialout drin, das sollte genügen, ist aber nicht genug scheinbar). EDIT: Jetzt, am nächsten Tag geht es mit mal auch ohne sudo, warum auch immer, also das ist erstmal abgehakt.
2.)
Das in Debian Stretch nativ eingebaute esptool geht scheinbar nicht gut (angeblich ein bekannter Bug) und ich musste das esptool.py GitPakett klonen (dafür git installieren was ich noch nicht hatte), dazu das python-serial ebenfalls noch, damit geht es nämlich.
Lange Rede, kurzer Erfolg: NodeMCU angesteckt, factory mode scannt die Netzwerke, also chip okay, die ursprüngliche V1 Version von Svens Binary draufgeflasht (ging problemlos beim ersten Durchgang), zu Hello World konnektiert, die beiden .css Files und mein einfaches ursprüngliches config.json (mit D8 als Enable) übers Handy (und Svens Webinterface) aufgeladen, NodeMCU powercycled, und sofort war mein selbst konfiguriertes WLAN Netz verfügbar, und die Z21 App konnte konnekten. Das wars fürs erste. Apselut geradeaus und einfach.
Ich verstehe nur eins nicht:
Warum eigentlich muss ich die Adresse 3 im Json angeben...? Wenn das Ding eine Z21 simuliert, müsste ich doch über die App alle mögliche Adressen erreichen können? Ich weiß, erinnere mich dumpf, dass es irgendwie doch so sein muss, und es nur über DCC 3 funktioniert, aber ich kann mich nicht mehr entsinnen, wie und warum, und gefunden habe ich es vorerst nirgends. Ich muss wohl warten, bis Sven vom Skiurlaub (?) wieder eintrifft und es mir enthüllt
Aber ein Problem ist das mir nicht, denn ich fahre auch in "real World" auch immer nur eine Lok gleichzeitig, und das tu ich auch auf dem Modell... also von mir aus können alle Loks die gleiche Adresse "3" haben (bis auf eine haben sie es ja sowieso...)
Ich werde beim Weiterbasteln dann weiter berichten.
Bis dann!
LG Zoltan
Nun kommt die Mechanik, die Verdrahtung und natürlich die Funktionstests.