"Demo-Schaltung 1" - ESP - Mein ESP-WROOM-32 hat 'n anderes Pinout
 

"Demo-Schaltung 1" - ESP - Mein ESP-WROOM-32 hat 'n anderes Pinout

Begonnen von Krogsgaard, 30. Mai 2025, 17:34:48

Vorheriges Thema - Nächstes Thema

Krogsgaard

Hallo Markus,

Das hat also keine Eile – mach's einfach, wenn du Zeit hast  :)

Ich habe WDP_MQTT_Demo_ESP32 kompiliert und hochgeladen – dabei bekam ich einige Kompilierfehler. Am Ende habe ich diese Zeile ganz oben eingefügt und dann lief es:   #include <WiFi.h>

Ich kriege keine Verbindung zwischen Windigipet und dem Board hin – zum Beispiel passiert nichts, wenn ich versuche, die rote LED von Windigipet aus anzuschalten.
Die Verbindung zu WiFi und MQTT klappt gut – und meine Demo-Schaltung-2 läuft einwandfrei.

Output - Serial-monitor:

incoming: WDP/Evt/PwSen/10/U_V - 0.74
incoming: WDP/Custom/Display/1/Row/2 - 16:34:57
A2_PSK
incoming: WDP/Evt/SD/3/State - 0
incoming: WDP/Evt/PwSen/10/U_V - 0.00
incoming: WDP/Clock - Mon 00:21:00
incoming: WDP/Evt/SD/3/State - 141
incoming: WDP/Evt/PwSen/10/U_V - 0.11

Vielleicht liegt's daran, dass das Board, das ich benutze, ein anderes Pinout hat als deins.

Meine ESP32-WROOM-32

Ich habe versucht, die gleichen Pin-Nummern zu verwenden wie du, aber ich habe keinen Pin 16 und 17, deshalb habe ich stattdessen 4 und 5 genommen.

// #define ButtonPin 16                         // Port 16 Taster um LED_SD_Address umzuschalten
#define ButtonPin 5                             // Port 5 Taster um LED_SD_Address umzuschalten
// #define NeoPIN 17                            // Port 17 Verbindung zum DIN-PIN des Neopixel
#define NeoPIN 14                               // Port 14 Verbindung zum DIN-PIN des Neopixel

Ich weiß nicht, ob das so okay ist – vielleicht ist es am einfachsten, wenn ich mir einfach ein anderes ESP-WROOM-32 Board kaufe, das genau dein Pinout hat  :)

Ich finde es richtig cool, mit MQTT zu arbeiten – ich bin noch Anfänger, aber ich sehe, dass es viele neue, spannende Möglichkeiten bringt, Windigipet zu nutzen. Das Programm öffnet sich ja jetzt richtig zur Außenwelt.

Viele Grüße aus Kopenhagen – Jens



  • Win-Digipet-Version:
    WDP 2021
  • Anlagenkonfiguration:
    Märklin c-gleis, ECoS 50200 , S88 viessmann, Digikeijs Dsd2010,
  • Rechnerkonfiguration:
    Lenovo z710, windows 10, 12 gb ram, 64 bit

Markus Herzog

Hallo Jens,

Hmmm...
habe das Projekt gerade bei mir nochmal runtergeladen und kompiliert und das ging ohne Fehler.

Nur zur Sicherheit:
Ich nutze die Arduino IDE.
Dort haben ich unter File->Preferences diese zusätzlichen Board-Quellen eingetragen:
http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Und dann unter Tools -> Boards -> Board Manager runtergeladen:
ESP32 by espressif und
esp8266 by esp8266

Will ja nicht ausschließen, dass andere Einstellungen zu anderen Ergebnissen führen würden. Ich brauchte auf jeden Fall keine Wifi.h.

Mit den Pins musst du immer schauen welche nehmen kannst, denn die sind auf den Boards schonmal unterschiedlich genutzt. Zu den meisten Boards findet man so Seiten wie die hier (passt nicht zu deinem Board) wann man sehen kann was man nutzten kann/darf und was nicht:
https://randomnerdtutorials.com/esp32-pinout-reference-gpios/

Habe aber auch schon ESP32 gehabt wo irgendwelche Pins gar nicht gingen, da bin ich dann auf einen anderen gegangen.

Grüße
Markus
  • Win-Digipet-Version:
    WDP 2021.x Beta
  • Anlagenkonfiguration:
    3-Leiter Anlage, Rollendes Material Märklin/Roco/Brawa/Mehano, Fahren: DCC, m3 via Tams MC, Schalten/Melden: Selectrix, BiDiB, Motorola (nur wenige Sonderaufgaben)
  • Rechnerkonfiguration:
    Intel i7

Markus Herzog

Hallo Jens,

ich sehe gerade nachdem sich gerade bei mir die Bibliotheken geupdatet haben, muss ich auch die Wifi.h einbinden...
Werde das im Download anpassen.

Außerdem gehe mal bitte in den Gleisbildeditor zu dem Magnetartikel wo du die LED mit schaltest und ruf den einmal auf und stell da einmal das Datenformat hin und zurück auf irgendwas mit WDP MQTT Format (kann gerade nicht nachsehen). Kann sein, dass das Projekt aus der WDP-MQTT-Anfangszeit gespeichert ist. Werde auch das anpassen im Download. Ich gebe Bescheid wenn ich das gemacht habe.

Grüße
Markus
  • Win-Digipet-Version:
    WDP 2021.x Beta
  • Anlagenkonfiguration:
    3-Leiter Anlage, Rollendes Material Märklin/Roco/Brawa/Mehano, Fahren: DCC, m3 via Tams MC, Schalten/Melden: Selectrix, BiDiB, Motorola (nur wenige Sonderaufgaben)
  • Rechnerkonfiguration:
    Intel i7

Markus Herzog

Hallo Jens,

habe sowohl das Arduino-Projekt für den ESP32 angepasst (nur deine Wifi.h ergänzt) und das WDP-Projekt getauscht, da stand bei den Schaltern ein falsches Datenformat im Gleisbildeditor. Bitte nochmal neu laden zumindest das WDP-Projekt und dann nochmal probieren. Jetzt müsstest du auch die Befehle von WDP in der seriellen Konsole sehen.

Grüße
Markus
  • Win-Digipet-Version:
    WDP 2021.x Beta
  • Anlagenkonfiguration:
    3-Leiter Anlage, Rollendes Material Märklin/Roco/Brawa/Mehano, Fahren: DCC, m3 via Tams MC, Schalten/Melden: Selectrix, BiDiB, Motorola (nur wenige Sonderaufgaben)
  • Rechnerkonfiguration:
    Intel i7

Krogsgaard

Hallo Markus

Ich musste das Problem gerade meiner Frau erklären – sie hat natürlich kein Wort verstanden 😄 – und dabei ist mir aufgefallen, dass Breadboard1 und Breadboard2 gar nicht verbunden waren. Jetzt sind sie es – und Meldekontakt 2 funktioniert! Wenn ich ihn schalte, sehe ich es in Windigipet. Also: Die Verbindung steht! Die rote LED hab ich noch nicht zum Laufen gebracht – da schau ich später nochmal genauer hin

Jens
  • Win-Digipet-Version:
    WDP 2021
  • Anlagenkonfiguration:
    Märklin c-gleis, ECoS 50200 , S88 viessmann, Digikeijs Dsd2010,
  • Rechnerkonfiguration:
    Lenovo z710, windows 10, 12 gb ram, 64 bit

Krogsgaard

Hallo Markus,

Ich hab deine letzten Beiträge gelesen und werde deinen Tipps folgen. Echt nett von dir, dass du dir die Zeit dafür nimmst !  :)

Jens
  • Win-Digipet-Version:
    WDP 2021
  • Anlagenkonfiguration:
    Märklin c-gleis, ECoS 50200 , S88 viessmann, Digikeijs Dsd2010,
  • Rechnerkonfiguration:
    Lenovo z710, windows 10, 12 gb ram, 64 bit

Krogsgaard

Hallo Markus,

Melde-Kontakt 2 ist Ok !

LED-Schalt-Ausgang (rete LED auf Boards) - OK!

Danke Markus

Ich versuche gerade, die anderen Funktionen zum Laufen zu bringen – den Temperatur- und Feuchtigkeitssensor, das Potentiometer und das 12-Bit-RGB-LED-Kreis-Modul :) Kannst du mir beschreiben, wie die eigentlich funktionieren sollen?

Jens
  • Win-Digipet-Version:
    WDP 2021
  • Anlagenkonfiguration:
    Märklin c-gleis, ECoS 50200 , S88 viessmann, Digikeijs Dsd2010,
  • Rechnerkonfiguration:
    Lenovo z710, windows 10, 12 gb ram, 64 bit

Sven Spiegelhauer

Halo Jens,

der Poti wird mit dem runden Zähler sichtbar gemacht (Spannung Poti auf Board). Die LED auf dem NeoPixel-Ring sind unten beschrieben, welche LED was anzeigt.
Viele Grüße aus dem schönen Land Brandenburg
Sven
  • Win-Digipet-Version:
    2018 / 2021 / 2025 / Beta (alle mit aktuellen Update)
  • Anlagenkonfiguration:
    Spur-N und G, IB-II neo, IB-II, IB-Basic, IB-Com, Loconet-RM, Servo-, Schalt- und MA-Decoder, LDT Lichtsignaldecoder, Lokdecoder(DCC) ESU, Kühn, Drehscheibendecoder G.Boll und LDT, viele Eigenbauten
  • Rechnerkonfiguration:
    Notebook Windows11 / PC Windows11

Krogsgaard

Hallo Markus

Der neue Code ist drauf – ich habe Pin 16 und 17 auf 5 und 14 geändert. Jetzt leuchten zwei der LEDs im Ring, und ich kann die Farbe über ,Einstellung für Neopixel' ändern – siehe Bild. Aber nur 2 LED - warum nicht 12 led's ?

Jens
  • Win-Digipet-Version:
    WDP 2021
  • Anlagenkonfiguration:
    Märklin c-gleis, ECoS 50200 , S88 viessmann, Digikeijs Dsd2010,
  • Rechnerkonfiguration:
    Lenovo z710, windows 10, 12 gb ram, 64 bit

Sven Spiegelhauer

Hallo Jens,

bei Dir leuchten LED1 und LED7 auf dem Ring. Wenn Du im Zähler den Zahlen-Wert änderst (LED1) oder den Slider anklickst (LED7), dann sollten sich die Farben ändern. Wenn das klappt, dann bitte mal die Hintergrundfarbe des Zählers ändern (LED3) und die Textfarbe (LED5). Klappt das?

LED9 und LED11 werden durch einen automatischen STW angesteuert. Aktivschaltung mit dem Pfeilsymbol.
Viele Grüße aus dem schönen Land Brandenburg
Sven
  • Win-Digipet-Version:
    2018 / 2021 / 2025 / Beta (alle mit aktuellen Update)
  • Anlagenkonfiguration:
    Spur-N und G, IB-II neo, IB-II, IB-Basic, IB-Com, Loconet-RM, Servo-, Schalt- und MA-Decoder, LDT Lichtsignaldecoder, Lokdecoder(DCC) ESU, Kühn, Drehscheibendecoder G.Boll und LDT, viele Eigenbauten
  • Rechnerkonfiguration:
    Notebook Windows11 / PC Windows11

Krogsgaard

Hallo Sven,

ja - bei mir leucten LED1 und LED7.

Ich kann mit dem Slider rauf- und runterfahren – siehe beigefügtes Bild. Und dabei ändert sich die Farbe.

Aber ich verstehe immer noch nicht, wie ich die anderen LEDs aktiviere – wo genau muss ich denn im Windigipet-Bildschirm klicken??

Jens
  • Win-Digipet-Version:
    WDP 2021
  • Anlagenkonfiguration:
    Märklin c-gleis, ECoS 50200 , S88 viessmann, Digikeijs Dsd2010,
  • Rechnerkonfiguration:
    Lenovo z710, windows 10, 12 gb ram, 64 bit

Markus Herzog

Hallo Jens,

am Besten legst du dir den Arduino-Code und das WDP-Projekt mal virtuell nebeneinander.

Wenn du in den Arduino-Code schaust, dann steht dort von mir kommentiert:#
const int NeoPixel_SD_FirstAddress=101;         // Magnetartikeladresse ab der der Neopixel-Ring angesteuert wird
                                                // Adresse 101, 1. LED Rot-Wert 0..255
                                                // Adresse 102, 1. LED Grün-Wert 0..255
                                                // Adresse 103, 1. LED Blau-Wert 0..255
                                                // Adresse 104, 2. LED Rot-Wert 0..255
                                                // Adresse 105, 2. LED Grün-Wert 0..255
                                                // Adresse 106, 2. LED Blau-Wert 0..255
                                                // usw.
Das heißt also der Arduino-Code ist, dass jede LED einzeln mit je einer Adresse für R, G und B-Wert jeweils gesteuert werden. Natürlich hätte man das auch anders machen können, aber es ging ja darum zu zeigen wie man einzelne LED ansteuert.

Und dann geh mal in den Gleisbildeditor in den MA-Erfassmodus und klick mal den von dir markierten Zähler an.

Dann wirst du im unteren Teil viele bunte Bildchen. Dort dürften (hoffentliche erzähle ich das auswendig vom Tablet aus jetzt richtig) hinterlegt sein:
Oben erstmal Adresse 101
Unten dann von links nach rechts:
1. Bei dem Feld mit 1/2/3 was für den Zählerwert steht eine 0 d.h. der Zählerwert geht an die Adresse 101+0 und wenn wir dann mal oben die Arduino-Tabelle schauen, steuert der Wert also den Rot Wert der 1. LED
2. Bei den drei folgenden Feld mit rotem, grünen und blauen Rechteck (steht für Hintergrundfarbe) stehen 6, 7, 8 d.h. WDP sendet an die Adressen 107,108,109 die R, G und B-Werte der Hintergrundfarbe, schaut man oben die Tabelle und denkt das usw. weiter dann gebt der Arduino die Werte aus Adresse 107-109 an die R, G bzw. B-Kanäle der 3. LED weiter
3. Bei den drei folgenden Feld mit rotem, grünen und blauen Buchstaben (steht für Testgrundfarbe) stehen 12, 13, 14 d.h. WDP sendet an die Adressen 113,114,115 die R, G und B-Werte der Textfarbe, schaut man oben die Tabelle und denkt das usw. weiter dann gebt der Arduino die Werte aus Adresse 113-115 an die R, G bzw. B-Kanäle der 5. LED weiter.
4. Bei den drei folgenden Feld mit rotem, grünen und blauen Rechteck und Farbverlauf (steht für die aktuelle Farbe am Ende des Farbverlaufs gemäß Zählereinstellung) stehen 18, 19, 20 d.h. WDP sendet an die Adressen 119,120,121 die R, G und B-Werte des Farbverlaufs gemäß Zählereinstellung, schaut man oben die Tabelle und denkt das usw. weiter dann gebt der Arduino die Werte aus Adresse 119-121 an die R, G bzw. B-Kanäle der 7. LED weiter

Wie kriegt man das jetzt manuell angesteuert (ginge ja auch über Aktionen in der Zählerberechnung im STW):
Im Hauptprogramm:
Zähler links/rechts ziehen bewirkt, dass den R-Wert der 1. LED von 0-100% (bzw. 0-255) angesteuert wird und außerdem an LED 7 die aktuelle Farb der Ausschlagsanzeige (Farbe am rechten Ende) anzeigt.
Ändert man nun die Hintergrund oder Textfarbe von dem Zähler würden das LED3 und LED5 anzeigen. Wie macht man das manuell? Da WDP ja da den Konflikt hat, dass der einfach Klick die Ausschlagsanzeige bewegt, muss man die Shift-Taste bemühen und während die gedrückt ist den Zähler anklicken. Und schon kommt ein Fenster wo man die Grund- oder Textfarbe des Zählers ändern kann.
Mancher wird jetzt sagen: kompliziert und wieso mit einem Element drei/vier LED unterschiedlich kontrollieren. Das ist nur ein Demo-Projekt...
In der Praxis wird man sich eher für eine Darstellung entscheiden (je nachdem was optisch besser passt) d.h man wird eher nur eins der Farbelement (text, Hintergrund, Ausschlag) die Farbe bestimmen je nachdem was optisch gerade besser passt.
Wie du, Jens, schon gesagt hast öffnen wir damit viele Möglichkeiten aber auch nochmal für alle: "das ist was für Bastler und nix für Out-Of-The-Box-Konsumenten".

Analog ginge das für die Zähler darunter. Dort wird aber nur die Hintergrundfarbe genommen um Werte an LED 9 und LED 11 zu senden. Allerdings hat Sven im DEmo-Projekt deren manuelle Bedienung gesperrt sondern steuert die über einen STW denn man über den Pfeilschalter daneben aktiviert.
In dem STW kann man sich dann direkt ansehen wie ein STW einen Zähler beeinflussen kann.

Grüße
Markus

  • Win-Digipet-Version:
    WDP 2021.x Beta
  • Anlagenkonfiguration:
    3-Leiter Anlage, Rollendes Material Märklin/Roco/Brawa/Mehano, Fahren: DCC, m3 via Tams MC, Schalten/Melden: Selectrix, BiDiB, Motorola (nur wenige Sonderaufgaben)
  • Rechnerkonfiguration:
    Intel i7

Krogsgaard

Hallo Markus und Sven,

Danke für deine Hilfe und Erklärungen – ich werde es am Wochenende ausprobieren. Für mich ist es eine gute Möglichkeit, zu lernen, wie MQTT und Windigipet zusammenarbeiten.

Grüße, Jens
  • Win-Digipet-Version:
    WDP 2021
  • Anlagenkonfiguration:
    Märklin c-gleis, ECoS 50200 , S88 viessmann, Digikeijs Dsd2010,
  • Rechnerkonfiguration:
    Lenovo z710, windows 10, 12 gb ram, 64 bit

Krogsgaard

#13
Hallo Markus und Sven,

Ich war gestern wohl nicht ganz wach, denn ich habe die zwei Zähler auf dem WDP-Bildschirm gar nicht bemerkt. Jetzt, wo ich mir STW angeschaut habe, habe ich sie endlich entdeckt – und siehe da, es leuchten gleich mehrere LEDs im Ring auf.

Viele Grüße
Jens

  • Win-Digipet-Version:
    WDP 2021
  • Anlagenkonfiguration:
    Märklin c-gleis, ECoS 50200 , S88 viessmann, Digikeijs Dsd2010,
  • Rechnerkonfiguration:
    Lenovo z710, windows 10, 12 gb ram, 64 bit