ESP32-S2 A_pins nur Gpio32-39 ? ==>esphome

selfmade01

Lieutenant
Registriert
Okt. 2012
Beiträge
727
Hallo,
habe hier einen ESP32-S2 Wrover,
den Vorteil der "frei" nutzbaren ADC-Pins wollte ich nutzen.

Laut Datenblatt bzw. Pin-Out Doku von Espressif ESP32-S2-Saola-1
könnte ich eigentlich von GPIO1-17 und GPIO18-GPIO20 nutzen da hier die PINS für AnalogToDigital vorgesehen sind.

Schaue ich in die ESPhome Doku so steht dort
edit:
Link zur Doku
Note


Support for the ESP32-S2 and ESP32-C3 is still in development and there could be issues.
und
ich vermute mal das sich die Info dort wohl nicht auf den ESP32-S2 bezieht da wohl offiziell noch in der Entwicklung

Muss ich da nun auf bestimmte Feinheiten aufpassen?

Grüße
Jürgen

edit:
habe nun auch was zum verwendeten Framwork gefunden. Normal nutze ich ja type: arduino

jetzt steht hier

wenn ich das richtig verstehe sollte man hier noch auf das ESP-IDF setzen , stimmt das?
Welche Empfehlung
auch zum Esphome==>Framework habt ihr?

edit2:
habe nun beide frameworks mal getestet:
Das für ESP32-S2 empfohlene ESP-IDF Framework, konnte zwar den ersten upload zum Board machen, der Netzzugriff schlug jedoch fehl. Warum weiss ich nicht. Der Code lief fehlerfrei durch!

Das nicht empfohlene Arduino Framework dagegen scheint sehr gut mit HA zu funktionieren. Mit ESPhome funktioniert auch der Wlan-Zugriff

Wieso man das nun auf der ESPhome Seite für den ESP32-S3 nicht empfiehlt würde mich mal interessieren
 

Anhänge

  • pin-out.jpg
    pin-out.jpg
    635,1 KB · Aufrufe: 120
Zuletzt bearbeitet:
Der_Picknicker schrieb:
Gibt es einen Grund den S2 zu nehmen?
Ich hatte zuletzt den ESP8266 Nodemcu und hoffte das die Pins ausreichen.
Ich bin noch nicht so vertraut mit den Pin-outs vom ESP und wusste nicht das man manche für bestimmte Anschlüsse nicht verwenden soll/darf , deswegen bin ich auf den ESP32-S2 ausgewichen. Da habe ich dann zumindest ein paar in Reserve.
Wieso was ist an dem S2 schlecht?
 
Der S2 ist halt nur ein billiger ESP32, der nur einen Core hat. Entweder du nimmst einen ESP32 ohne jeglichen Zusatz oder gleich den S3, welcher dann wieder einen Dual Core Prozessor hat.
 
Pete11 schrieb:
Danke für den Link zur Doku.
Damit ich das richtig verstehe.
Der Hinweis in der ESPhome-Doku bezieht sich nicht zwingend auf das tatsächlich verwendete Board?
Wenn in der Doku hier z.B. des S2-Wrover steht das bestimmte Pins mit einem Pull-Up/down Widerstand versehen sind, der beim Booten benutzt wird, dann muss man als Anwender vorsichtig sein, damit man kein Device dran hängen hat, was diesen während des Bootvorgangs beeinflussen kann...habe ich das so richtig verstanden?
Wenn ja, Hast du da ein Beispiel was hier beim Booten einen Einfluss drauf nehmen könnte?
Z.B. wenn ich an einen Signal-Pin selbst eine Pull-Up Widerstand zur Signalverstärkung angeschlossen hätte?

Oder gibt es bestimmte Module die hier auch dazu gehören?
 
selfmade01 schrieb:
Hast du da ein Beispiel was hier beim Booten einen Einfluss drauf nehmen könnte?
Ich kenne mich mit dem ESP32 sehr wenig aus - mir ist nur aufgefallen, daß Dein Link auf die Doku in Post #1 wohl nicht ganz für Deinen ESP32-S2-Wrover zutrifft.
Beim Anlegen der Betriebsspannung an dieses Teil werden bestimmte Pins abgefragt (ähnlich wie beim Booten eines PCs) und abhängig vom Zustand des Pins (high oder low) geht der ESP in unterschiedliche Betriebzustände. Wenn GPIO0 (GPIO - Null) z.B. durch äußere Beschaltung auf Low gezogen wird, geht der ESP in den Programmiermodus. Wenn dieser Pin nicht beschaltet ist, sorgt der eingebaute Pull-Up Widerstand dafür, daß der ESP sein Programm normal abarbeitet.

GPIO0 ist übrigens mit dem Anschluß-Pin Nummer 3 verbunden - auch diese Nummerierung sorgt oft für Verwirrung.
 
Pete11 schrieb:
Ich kenne mich mit dem ESP32 sehr wenig aus - mir ist nur aufgefallen, daß Dein Link auf die Doku in Post #1 wohl nicht ganz für Deinen ESP32-S2-Wrover zutrifft.
Na ja, so ganz falsch ist für mich die Doku dort nicht, da dies für die Programmierung unter ESPhome schon eine wichtige Info ist, aber ich habe diese Doku dort wo steht
wahrscheinlich komplett falsch intepretiert
Pete11 schrieb:
Beim Anlegen der Betriebsspannung an dieses Teil werden bestimmte Pins abgefragt (ähnlich wie beim Booten eines PCs) und abhängig vom Zustand des Pins (high oder low) geht der ESP in unterschiedliche Betriebzustände.
Genau, das ist mir schon beim ESP8266 passiert. Für mich war dies zuerst ein ganz normaler I/O Pin bis ich erst dies hier im Forum erfahren habe das man da höllisch aufpassen muss

Pete11 schrieb:
durch äußere Beschaltung auf Low gezogen wird

Genau, einige reagieren wohl wenn sie auf Low und andere auf high gezogen werden.
Beispiel nur das ich es besser verstehe:
wenn z.B ein Port auf High-gezigen beim Booten negativ reagiert dann dürfte an diesem Port z.B. kein 1-Wire dran hängen da die meisten 1-wire Sensoren einen Pull-Up benötigen... die werden also schon wenn sie Spannung bekommen stets auf High gezogen

Korrekt?Hast Du ein Beispiel wenn man einen Pin auf Low ziehen muss ... nur das ich es begreife und besser verstehen kann... ich brauch immer ein Praxisbeispiel bis es sitzt.


Pete11 schrieb:
GPIO0 ist übrigens mit dem Anschluß-Pin Nummer 3 verbunden - auch diese Nummerierung sorgt oft für Verwirrung.

Ja, seit dem schaue ich nur noch auf GPIO und gebe das im Code auch so an. Alles andere macht einen total kirre.. da muss ich erst 20 mal nachschauen ob das jetzt der richtige Pin ist,,,
Ist leider eine komplett andere Welt an Bezeichnung wie man es vom Adruino her kennt
 
selfmade01 schrieb:
Hast Du ein Beispiel wenn man einen Pin auf Low ziehen muss
Na ja - diesen schon erwähnten GPIO0 Pin muß man beim Einschalten auf Low (0 Volt) ziehen, wenn man den ESP flashen (also ein neues Programm aufspielen) will.
 
Auf der Espressif Seite findet man ja die S2 fähigen Analog Pins + mögliche Probleme

https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/api-reference/peripherals/gpio.html

1-20 sehen ok aus. Erst wenn die als ADC nicht reichen macht es doch Sinn zu versuchen andere umzucoden

Naja wer nutzt denn hier wirklich MultiCore beim Programmieren von MCUs?

im Normafall macht doch das einfache State Machine Konzept die Systeme so robust.

Da Pin<>Board Mapping muss man sich für jedes Modul genau raussuchen - ist halt leider so
 
Zuletzt bearbeitet:
Zurück
Oben