Seite 1 von 4

RAST-Test-Controller

Verfasst: 03.12.2020, 01:26
von Ralf_St.
Guten Abend Sven

Nun sind die Grundsteine gelegt und der Bau meines Test-Controllers auf Basis eine ESP D1 Mini kann beginnen. Leider ist heute nur mein Testrahmen fertig geworden...Der Rahmen ist mit Absicht etwas größer ausgefallen. So habe ich Platz und kann ohne Kurzschlüsse zu bauen die Komponenten miteinander verkabeln.

20201202_221338(1).jpg
20201202_221338(1).jpg (201.1 KiB) 656 mal betrachtet
Verbaut ist ein 16x2 Display, ein D1 Mini sowie 10 Taster und ein Drehencoder. Versorgt werden alle Komponenten über eine PowerBank.

20201202_221602(1).jpg
20201202_221602(1).jpg (244.17 KiB) 656 mal betrachtet
Wird die PowerBank abgenommen, ist der Blick ins Innere freigegeben.

20201202_221910(1).jpg
20201202_221910(1).jpg (115.66 KiB) 656 mal betrachtet
Der RAST-Test-Controller ist 90mm breit, 160mm lang und inkl. PowerBank 30mm dick.

Bis auf die Taster und den Drehencoder sind die Komponenten noch nicht eingebaut, liegen aber am richtigen Platz.
Auf den Einbau der Wippschalter habe ich noch verzichtet, diese können, wenn alles läuft, eingesetzt werden.
Nun kann die Verkabelung beginnen....

Re: RAST-Test-Controller

Verfasst: 04.12.2020, 20:45
von Ralf_St.
Guten Abend


Da meine ESP D1 Mini für den Einbau in Loks vorbereitet sind, habe ich erst mal überprüft welche Config aufgespielt ist. Also den ESP an Spannung gelegt, und schon konnte ich die SSID in der Liste der verfügbaren Netze sehen.... Okay, funktioniert...

Also die neueste .bin Datei in den Flash-Speicher geladen. In der Liste der Netze steht nun Hallo World.
Danach die config.json aufgespielt.

Jetzt sollte sich doch in der Liste der verfügbaren Netze die neue SSID zeigen!?
Es bleibt aber bei Hallo World!!

Davon ausgehend, das meine beiden D1 Mini nicht defekt sind, habe ich bei beiden D1 Mini Hallo World stehen...
Habe ich etwas übersehen oder falsch gemacht?

Re: RAST-Test-Controller

Verfasst: 04.12.2020, 21:28
von Norbert
Hast du denn eine z21 eingeschaltet, damit sie sich mit dem Controller verbinden kann?
Hast du das Netzwerk der Zentrale in die Config geschrieben?

Gruß N.

Re: RAST-Test-Controller

Verfasst: 04.12.2020, 21:40
von Ralf_St.
Hallo Norbert

Ich versinke gerade im Boden...
Genau da fehlte es, Danke!

Re: RAST-Test-Controller

Verfasst: 05.12.2020, 01:00
von Ralf_St.
Hallo

Auch mit den eingetragenen Netzwerk-Daten meiner Z21 geht nix, es bleibt bei Hallo World.
Hier der Teil der Config:

{
"version":"3",
"cfg":[
{
"m":"wlan",
"ssid":"RAST-Z21",
"pwd":"42600008"
},
{
"m":"simulateZ21"
},


Fehlt da nicht noch die IP der Z21?
So dass es so aussieht:

{
"version":"3",
"cfg":[
{
"m":"wlan",
"ssid":"RAST-Z21",
"pwd":"42600008"
},
{
"m":"Z21"
"ip":"192.168.100.254"
},

Oder, weil es ein Controller ist, 192.168.100.xxx Hauptsache nicht die 254?
Beim Eintrag >simulateZ21< denke ich, soll keine Z21 simuliert werden, daher nur "Z21"!?

Ach ja, bis auf den Taster vom Drehencoder habe ich noch keine Taster angeschlossen.
Ich habe die nötigen Widerstände nicht alle da...
Wenn ich den Controller doch noch dazu bringe sich mit meiner Z21 zu verbinden, dann würde ich die Taster lieber über einen MCP23017 realisieren...Zu meinem Glück hat Sven genau dazu gestern einen Beitrag geschrieben!

Bis die Tage,

Re: RAST-Test-Controller

Verfasst: 05.12.2020, 07:09
von Norbert
Nur das Netzwerk in der Config musste angepasst werden.
Du simulierst eine Zentrale, dieser Eintrag muss dann unbedingt noch raus,
den hast du in die 100% funktionierende Config versehentlich einkopiert.
IP-Eintrag ist nicht zwingend nötig.

So:

{
"version":"3",
"cfg":[
{
"m":"wlan",
"ssid":"RAST-Z21",
"pwd":"42600008"

},
{
"m":"z21"
},

{
"m":"webservicewifiscanner"
},
{
"m":"webservicelog"
},

{
"m":"cmdlogger"
},


{
"m":"i2c",
"sda":"D2",
"scl":"D1"
},

Spannt sich denn das Netzwerk der z21 Zentrale auf, kannst du es sehen?

Im Zweifelsfall den ESP nochmal vollständig löschen, mittels Windows_littleyoda_flasher
und gänzlich neu beschreiben: Firmware+CSS+milligram+config.json

Hast du jetzt die aktuelle beta-Bin drauf? Die habe ich bislang nicht getestet.
Die andere aus dem Bundle funktioniert aber gesichert, wenn auch ohne MCP.
Vielleicht damit mal probieren.

Widerstände:
Wenn es an dem doofen Wert von 200 Ohm hängt,
dann nimm 2x100 Ohm in Reihe.

VG Norbert

Re: RAST-Test-Controller

Verfasst: 05.12.2020, 08:29
von little.yoda
Hi

Eine Anmerkung zu (für mich) effizienten Fehlersuche:

Ich habe in der Firmware eine Funktion eingebaut, die alle für mich relevanten Daten zusammenstellt.
http://<ip>/help und dann auf download
Bei Problemen, bitte diese Datei immer mit posten.
(WLAN-Name ist enthalten, Pwd wird aber unkenntlich gemacht. Bei Bedenken mir die Datei als E-Mail schicken mit Link auf den Beitrag)

Wenn ein Zugriff auf den ESP8266 nicht möglich ist, bitte zumindest die letzte Config.json mir schicken.

Widerstände: geht es um die Pull-Down Widerstände an den Tastern? Dass sollte extrem unkritisch sein. Von 1kOhm bis 10kOhm sollte alles gehen.

[Nach welchen Schaltplan planst du gerade? Nur damit ich es nachvollziehen kann.]

Gruß,
Sven

EDIT: Dummfug gestrichen

Re: RAST-Test-Controller

Verfasst: 06.12.2020, 09:49
von little.yoda
[zurück in Forum nach einigen E-Mails; ich würde vorschlagen, dass wir hier weitermachen, damit auch andere von der Fehlersuche profitieren können]

Das Config.json ist in Ordnung. Es läuft bei mir auf einem esp8266.

Nutze bitte mal meinen Flasher, um dich mit dem ESP8266 via USB-Kabel zu verbinden.

Als erster Schritt schauen wir, dass wir dein Display zum laufen bringen:
  • Unter Devices das passende Gerät auswählen
  • Unter Serieller Monitor:
    • Auf Verbinden klicken
    • Einmal "debug" absenden (ohne Anführungszeichen)
    • Du soltlest die Meldung "Debugmodus aktiviert" sehen
    • Jetzt "R" (ohne Anführungszeichen) absenden
    • Du solltest sehen, dass sich der esp8266 neustartet
    • Bitte die Ausgabe posten
    • Wichtig in deinem Fall ist die Zeile "LCD1602 16/02". Dort solltest du sehen, ob das Display erkannt wird ("connected") oder nicht erkannt wird ("failed").
Wenn das Display nicht erkannt wird:
- Du betreibst es mit 5 Volt?
- Stimmen die Kabel sda an D2 und scl an D1

Wenn das Display erkannt wird:
- Dumme Frage: Mit der Helligkeitseinstellung auf der Rückseite des LCD hast du schon gespielt?



BTW:
DU solltest irgendwann die Meldung"Wifi status changed: Disconnected [STA] => Connected IP:192.168.2.145" sehen. Dieser Zeile kannst du dann auch die IP-Adresse in deinem lokalen Netz entnehmen.

Re: RAST-Test-Controller

Verfasst: 06.12.2020, 21:42
von Ralf_St.
Hallo Norbert, hallo Sven,

ich habe einiges ausprobiert, habe aber nicht hier im Forum mitgelesen...

Die Conig.json habe ich bereits angepasst. Und mein Display zeigt mir nun, dem Poti sei Dank, 2x16 Felder an.
Den Flasher von Sven benutze ich seit ich mit dem Controller begonnen habe.

Werden die beiden .css Dateien wirklich gebraucht? Ich hatte sie zwar zwischendurch aufgespielt, aber geändert hat sich nur die Benutzeroberfläche. Und da ich viel am Tablet arbeite, war diese dann nicht mehr so Benutzerfreundlich...

Um die Widerstände und Schalter kümmere ich mich später, wenn der Rest läuft und ich verstanden habe wie sich der Controller mit meiner Zentrale verbindet.

Zuvor werde ich die von Sven vorgeschlagenen Tests durchführen, vielleicht klärt sich dann, warum ich wirre Zeichen in beiden Zeilen bekomme. Oder mit einer anderen Config die obere Zeil komplett weiß leuchtet...
Was sie im übrigen nun dauernd tut, auch wenn der Flashspeicher gelöscht ist. Mit der D1 mini (Alpha/Beta).bin und der config von Sven sind dann allerdings wieder beide Zeilen sichtbar allerdings nur kurz und mit wirren Zeichen, danach nur noch Zeile 1 aber mit den gleichen wirren Zeichen...

Ich melde mich, wenn ich mehr sagen kann! Bis dahin Euch Beiden ein dickes Dankeschön für Euere Hilfe!

Re: RAST-Test-Controller

Verfasst: 06.12.2020, 21:53
von little.yoda
Display:

Wahrscheinlich mein Fehler. Ich habe in deiner Config-Datei noch ein zusätzliches "\n" eingefügt und damit würdest du drei Zeilen benötigen.
Probiere mal folgenden Teil:

Code: Alles auswählen

{
         "m":"display",
         "text":"${ldata|fstatus} \nLok: ${ldata|direction} ${ldata|status} ",
                   "model": "LCD1602_PCF8574",
                   "gpio": []
      }