Endlich habe ich es geschafft, meine schon lange rumliegenden ESP32 und ESP8266 (Wemos D1 mini) zu bespaßen. Bisher bestand noch kein Bedarf.
Jetzt musste ich aber aktiv werden, Grund waren die wunderbaren Tools von Fips.
Danke dafür.
Das ging leider sogar so weit, dass ich die I2C-Pins am ESP32 gekillt (eigene Dummheit) habe, der Rest läuft noch.
Jetzt aber zum eigentlichen Problem.
Da der ESP32 nicht mehr komplett einsatzfähig ist, habe ich einen Wemos genommen und einen FS20-Sender (SoftwareSerial), einen 432,92 MHz-Sender (RCSwitch) und einen BME280 (I2C) angeschlossen. Lief auf dem ESP32 zu Anfang super, auch auf dem Wemos funktionierte es sofort und aktuell immer noch.
Um eine Sendekontrolle für den 432,92 MHz Sender zu haben, wollte ich eine Led an D4 zusätzlich ansteuern. Das klappte aber nicht.
Die Pins der seriellen (SoftwareSerial) habe ich mit D6 und D7 definiert, den Pin für RCSwitch (432,92 MHz-Sender) mit D5 definiert und den Pin für die Led mit D4.
Die Led leuchtete aber nicht. Der Sketch ist hier 100% korrekt. Anderen Pin D8 genommen, auch nix.
Erst als ich den Pin mit der GPIO-Bezeichnung 15 (D8) definiert habe, funktionierte auch die Led.
Wer kann mir sagen, warum die serielle und RCSwitch mit der Definition D6, D7 und D5 funktionieren und die Led nicht. Für mich ein Rätsel oder einfach nur nicht richtig und ausreichend in der entsprechenden Datei hinterlegt, also unfertig ?
Oder übersehe ich da etwas ?
Bin ja noch nicht lange mit den ESPs tätig.
Ist die Definition mit GPIO hier doch besser geeignet ?
Und ich freue mich über Antworten.
Oh, Oh,
ich habe vor einigen Wochen von ESP8266 auf ESP32 umgestellt.
Die Dinger erfordern ein Studium der Espressif Dokumentation.
Wenn WiFi verwendet wird, geht der GPIO xx nicht, wenn nicht, dann, sonst...
Für I2C habe ich nur 2 stabil funktionierende Kanäle gefunden. #define RELAY_SDA 22 #define RELAY_SCL 21 #define SENSORS_SDA 26 #define SENSORS_SCL 25
An SENSORS habe ich einen BME280 und einen BH1750.
An RELAY ist ein PCF8574, der 4 Relays steuert.
Die blaue Onboard-LED (an D2) kannst du doch auch für deine Zwecke nutzen.
Ich finde den ESP32 gar nicht mal so schlecht wegen Speicherplatz und Speed, ist aber schwer zu handeln.
So musste ich auch den Webserver auf asynchron umstellen, weil synchron mit dem Sketch vom ESP8266 einfach nicht funktionieren wollte.
Die Version 1.0.2 für den ESP32 verbraucht sogar 30kb weniger Speicher als 1.0.0.
Der ESP32 ist ein geiles Teil, kostet aber Zeit und Nerven.
Tommy56:
ESP32 habe ich noch keine Erfahrung, aber beim 8266 hat es sich auch eingebürgert, eher die GPIO zu verwenden.
Gruß Tommy
Ok....eingebürgert, aber wo ?
In vielen Beiträgen im Netz wird die Pinbezeichnung "D0...Dx" verwendet.
Daher bin ich damit gestartet.
Aber ich werde mich dann an die GPIO ranmachen und die konsequent verwenden.
@freddy64
Da dieser Aufbau nur ein Testaufbau ist und auch sofort funktionierte, war es mit dem ESP32 nicht wirklich ein Problem.
Das Problem war ja der Wemos bzw. ESP8266.
Danke euch für die Antworten.
Edit:
Ach und beim ESP32 habe ich auch direkt die GPIO-Nummern verwendet.
hier muss ich Hot-System einmal in Schutz nehmen. Es existieren verschiedene Pin-Mappingübersichten für die ESPs. Da sie nicht viele Pins haben, könnte man jeden einzeln blinken lassen und gucken welcher Pin es ist und notieren.
Erst mal danke für eure Antworten und Vorschläge.
Ich werde das nochmal näher untersuchen und berichten.
Was ich schon gesehen habe ist, die Pindefinitionen des verwendeten Boards stimmen mit den Beschriftungen auf dem Board überein, jedoch kann ich den Pin D8 nicht als Pin D8 ansprechen und das hat mich irritiert.
Weiteres wird folgen.