'Sven'-basierter DCC-Geisterwagen - full WLAN Control unter 10 EUR

Antworten
Benutzeravatar
Zoltan
Beiträge: 273
Registriert: 18.09.2018, 11:34
Hat sich bedankt: 9 Mal
Danksagung erhalten: 1 Mal

'Sven'-basierter DCC-Geisterwagen - full WLAN Control unter 10 EUR

Beitrag von Zoltan » 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:

20190109_125723.jpg
20190109_125723.jpg (252.13 KiB) 408 mal betrachtet

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 :D

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.
Zuletzt geändert von Zoltan am 10.01.2019, 07:53, insgesamt 1-mal geändert.

Norbert
Beiträge: 141
Registriert: 31.12.2018, 08:07
Danksagung erhalten: 10 Mal

Re: 'Sven'-basierter DCC-Geisterwagen - full WLAN Control unter 10 EUR

Beitrag von Norbert » 09.01.2019, 18:53

Hallo Zoltan,

es sind zwei 1K-Widerstände,
du baust wohl wieder diese Schaltung:
https://github.com/littleyoda/littleyod ... ator_L298N

Ich muss auch noch eine Lok bestücken, nehme aber wieder den dicken Jonny (BTS7960),
weil ich einen Taurus mit Bleiakku auf die Reise schicken will.
bin grad auch dabei, mich durch alles neu durchzuwühlen, habe schon wieder alles vergessen.
Nennt man Demenz, aber fange ich halt nochmal an, hat ja damals auch alles auf Anhieb geklappt,
und ansonsten frage ich einfach mal an. Es wird ja hier wird keiner ausgelacht.

Also gutes Gelingen und viel Spaß!

VG Norbert

little.yoda
Site Admin
Beiträge: 379
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 8 Mal
Danksagung erhalten: 19 Mal

Re: 'Sven'-basierter DCC-Geisterwagen - full WLAN Control unter 10 EUR

Beitrag von little.yoda » 09.01.2019, 19:58

Zoltan hat geschrieben:
09.01.2019, 17:22
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).
Kannst du mal ein Foto von dem Modul machen? Ich habe bei den NodeMCU noch nie ein Unterschied in der PIN Belegung war genommen.
Zoltan hat geschrieben:
09.01.2019, 17:22
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).
Führe mal bitte die beiden folgende Befehle aus und poste das Ergebnis. Dann kann ich dir vielleicht helfen.

Code: Alles auswählen

 ls -l /dev/ttyUSB0
 
 groups

Zoltan hat geschrieben:
09.01.2019, 17:22
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.
Richtung DCC-Decoder:
In deiner (Uralt-)Version gab es einen Fehler, so dass nur ID 3 unterstützt wird.

Von der APP:
Wegen der damals bereits existierender Software, war es einfacher auf eine ID zu hören, statt auf allen.
Zoltan hat geschrieben:
09.01.2019, 17:22
Ich muss wohl warten, bis Sven vom Skiurlaub (?) wieder eintrifft und es mir enthüllt :D
Bin zu Hause, habe diese Woche noch Urlaub, Arbeit nervt aber schon wieder und bin privat ziemlich ausgelastet.

Benutzeravatar
Zoltan
Beiträge: 273
Registriert: 18.09.2018, 11:34
Hat sich bedankt: 9 Mal
Danksagung erhalten: 1 Mal

Re: 'Sven'-basierter DCC-Geisterwagen - full WLAN Control unter 10 EUR

Beitrag von Zoltan » 10.01.2019, 08:19

@Norbert:

Danke :)

Wer lesen kann, ist klar im Vorteil:
Auf der GitHub Seite steht es ja eindeutig.
Ich habe übrigens auch schon vieles vergessen (wie man sieht), aber alles klappte auf Anhieb, und das sogar unter stark geändetten Bedingungen (Linux jetzt vs. Windows früher).

@Sven:

Du warst "zu lange inaktiv" im Vergleich, also dachte ich, du machst Urlaub :)

Zu den NodeMCU Unterschieden:

Es gibt ein ziemlich guter Vergleich hier:

https://frightanic.com/iot/comparison-o ... nt-boards/
bzw.
https://cknodemcu.wordpress.com/2015/11 ... -variants/

Hier die beiden Viecher abfotografiert.

V1.0 (V2):

20190110_075347.jpg
20190110_075347.jpg (462.11 KiB) 390 mal betrachtet

V3 (V1/0.9):

20190110_074417.jpg
20190110_074417.jpg (331.98 KiB) 390 mal betrachtet

Man sieht die Unterschiede gut.
Anderes UART Chip ("standard" CP210X, quadratisch, auf V2, vs CH341 "Nonstandard", länglich, auf LoLin "V3").
Anderes ESP Chip (anderer Vendor, auch andere Antenne).
Andere Pinbelegung (teils, unten links, zwischen A0 und S3/SD3, auf V2 RSV und RSV, auf LoLin "V3" G und VU (+5V)).
Größerer Tantal Kondensator auf V2.
Überhaupt eine etwas andere Bauteilbelegung beider.
V2 ist um 2 Rastereinheiten schmäler als LoLin "V3", und auch wesentlich kürzer. Also insgesamt viel kleiner.

Ab jetzt werde ich nur noch die V2 benutzen (bzw D1 Mini wenn ich weiterbauen werde).

Zum Putty "Problem":

Code: Alles auswählen

:~$ ls -l /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 Jän 10 08:09 /dev/ttyUSB0
:~$ groups
nathalie tty uucp dialout cdrom floppy sudo audio dip video plugdev netdev bluetooth lpadmin scanner
Das sieht genau so aus, wie es sollte :)
Aber im Gegensatz zu gestern, heute ging es auch ohne sudo (siehe edit oben).
Warum auch immer es gestern nicht wollte. Ich habe sicher etwas vertippt oder übersehen.

Zum "Adressenproblem":

Ja, jetzt weiß ich es wieder.
Aber nachdem es mir nichts ausmacht, dass ich alles nur auf DCC Addr 3 aus dem App mit meiner UraltESPVersion ansprechen kann, werde ich wohl dabei bleiben, statt eine neuere Variante auf dem jetzt schon funktionierendem und konfiguriertem Chip draufzuflashen (never touch a running system...). Bis auf eine einzige Lok mit 4 habe ich sowieso alle sauf 3. Die einzige werde ich mit dem LokProgrammer auch einfach auf 3 umbiegen und fertig.

Also im Großen und Ganzen, alles in Butter :)

DLG Zoltan
Zuletzt geändert von Zoltan am 12.01.2019, 19:36, insgesamt 3-mal geändert.

little.yoda
Site Admin
Beiträge: 379
Registriert: 14.09.2018, 19:05
Hat sich bedankt: 8 Mal
Danksagung erhalten: 19 Mal

Re: 'Sven'-basierter DCC-Geisterwagen - full WLAN Control unter 10 EUR

Beitrag von little.yoda » 10.01.2019, 08:52

Zoltan hat geschrieben:
10.01.2019, 08:19
Andere Pinbelegung (teils, unten links, zwischen A0 und S3/SD3, auf V2 RSV und RSV, auf LoLin "V3" G und VU (+5V)).
Ok. Die Pinbelegung ist nicht wirklich relevant. An die Eingangsspannung (=> 5V +/- den üblichen Schwankungen von USB) kommst du auch über VIN. Für mich war damals die kleinere Abmessung ausschlaggebend.
Zoltan hat geschrieben:
10.01.2019, 08:19
Ab jetzt werde ich nur noch die V2 benutzen (bzw D1 Mini wenn ich weiterbauen werde).
Ich verbaue gerade die letzten Nodemcu und bestelle schon seit Monanten/Jahren(?) nur noch die D1 Mini.
Zoltan hat geschrieben:
10.01.2019, 08:19
Aber im Gegensatz zu gestern, heute ging es auch ohne sudo (siehe edit oben).
Warum auch immer es gestern nicht wollte. Ich habe sicher etwas vertippt oder übersehen.
Damit Gruppen-Änderungen aktiv werden, musst du dich einmal ausloggen und wieder einloggen. Dass könnte das Problem erklären.

Gruß,
Sven

Benutzeravatar
Zoltan
Beiträge: 273
Registriert: 18.09.2018, 11:34
Hat sich bedankt: 9 Mal
Danksagung erhalten: 1 Mal

Re: 'Sven'-basierter DCC-Geisterwagen - full WLAN Control unter 10 EUR

Beitrag von Zoltan » 10.01.2019, 11:33

little.yoda hat geschrieben:
10.01.2019, 08:52
...Damit Gruppen-Änderungen aktiv werden, musst du dich einmal ausloggen und wieder einloggen. Dass könnte das Problem erklären....
Nein, in der Gruppe bin ich mit dem User schon von Anfang an drin, weil ich früher mal mit einem alten Modemhardware gespielt habe und das brauchte.

Kann deine .bin ohne Änderuungen direkt auch auf die D1 drauf? und ist eine spezielle D1 Variante notwendig, oder sind sie gleich? Hier habe ich weniger recherchiert... ich werde natürlich, aber wenn du es aus der Hüfte weißt, brauche ich weniger googeln :)

DLG Zoltan

Antworten