ESP8266 mit OLED Display in Blinddeckel

Begonnen von tomster, 11 März 2016, 13:52:13

Vorheriges Thema - Nächstes Thema

tomster

#120
Witzigerweise kommt es aber mit den einkommentierten Zeilen nur 1 Mal zum Reboot beim Aufruf via HTTP. Danach bleibt der Sketch wieder stabil.
Wenn ich die Zeilen wieder auskommentiere, habe ich wieder den Reboot-Loop...

Ich hab auch spaßeshalber Mal einen älteren Stand (aber schon mit Pf@nne-OS) geflasht. Damit kann ich problemlos auf das WebUI zugreifen...

--edit--
Ach ja, und es scheint sich etwas dauerhaft am Sketch zu Ändern nach dem Aufrufversuch des GUIs , da ich auch bei einem PowerDown nach dem Auftreten des Bootloops wieder in den Bootloop gerate. Erst ein Neuflashen der data-Partition schafft Abhilfe...

Ich bilde mir auch ein, dass ich den Zeitpunkt des "Abkackens" besser bestimmen kann. Der Reboot passiert genau wenn der 3.Screen, also das BMP ausfaded und man zuvor auf das WebGUI zugreifen wollte.  Man kann problemlos den Zugriffsversuch starten, wenn die 3 Screens angezeigt werden. Spätestens aber nach dem 3. Screen ist Essig mit dem Sketch.

wingfighter

OK. Ich habe gerade mal einen anderen nodeMCU genommen, auf dem ich vor einiger Zeit mal das Sketch getestet habe. Dort liegen definitiv alte Daten drauf. Und dann stürzt das Sketch genau an derselben Stelle ab wie bei Dir.
Es hat also etwas mit der alten FS-Struktur zu tun.

Aber auch dafür gibt's eine Zeile (657) in besagter Datei:
  //clean FS, for testing
  SPIFFS.format();


Damit wird natürlich das gesamte FS platt gemacht. Aber das führt zumindest in meiner Testumgebung zum Erfolg.


tomster

Hmm, ich kann zwar das FS platt machen, aber alsbald ich den Sketch danach wieder mit auskommentiertem "FS-platt" und der Data-Partition flashe, lande ich wieder im Bootloop...

wingfighter

Und das Sketch stürzt gleich beim Start an derselben Stelle ab, die Du in Post #116 beschrieben hast? Also nach "json success"?

Tausche mal bitte die Datei aus dem Anhang aus und poste das Ergebnis aus dem seriellen Monitor.


tomster

#124
--edit--

Hab nochmal alle Libs deinstalliert und von Vorne angefangen. Der Sketch stürzt zwar auch mit der neuen ESP8266_Basic.cpp an der gleichen Stelle ab.
Aber nur 1 Mal = kein Loop:

============================================
Flash real id:   001640E0
Flash real size: 4194304
Flash ide  size: 4194304
Flash ide speed: 40000000
Flash ide mode:  DIO
Flash Chip configuration ok.
============================================

read config

mounting FS...
mounted file system
reading config file
opened config file
json success
cfgFile close...
cfgFile closed.
fsMount OK and File exist

mounting FS...for MyFile
mounted file system
MyFile does not exist

Connecting WiFi to: SSID
..........

WiFi connected with IP:    192.168.0.34
Starting UDP
Local port: 2390
with %p:  cfg    = 3fff78b5
with %p:  cfg    = 3fff78b5
with %p:  MyOLEDDisplay    = 3fff775c
with %p:  oled    = 3fff775c
Start WEB-Server
HTTP server started


Config:
########################################
WEBcfg Username:  ESPuser
WEBcfg Password:  ESPpass
----------------------------------------
AP SSID:          ESP8266_13915244
AP Password:      ESP8266config
----------------------------------------
WiFi SSID:        SSID
WiFi Password:    passwd
DHCP IP:          192.168.0.34
----------------------------------------
MQTT-Server IP:   
MQTT-Server Port: 1883
MQTT-DeviceName:  ESP8266_13915244
----------------------------------------
Update-Server IP:
FilePath:         
########################################
sending NTP packet...
packet received, length=1073710956
HTTP FSBrowserServer started
FS File: /clear-icon.bmp, size: 27.05KB
FS File: /clear-night-icon.bmp, size: 27.05KB
FS File: /clouds-icon.bmp, size: 27.05KB
FS File: /clouds-night-icon.bmp, size: 27.05KB
FS File: /edit.htm.gz, size: 4.02KB
FS File: /favicon.ico, size: 1.12KB
FS File: /few-clouds-icon.bmp, size: 27.05KB
FS File: /few-clouds-night-icon.bmp, size: 27.05KB
FS File: /freezing-rain-icon.bmp, size: 27.05KB
FS File: /graphs.js.gz, size: 1.92KB
FS File: /hail-icon.bmp, size: 27.05KB
FS File: /index.htm, size: 3.63KB
FS File: /many-clouds-icon.bmp, size: 27.05KB
FS File: /showers-day-icon.bmp, size: 27.05KB
FS File: /showers-icon.bmp, size: 27.05KB
FS File: /showers-night-icon.bmp, size: 27.05KB
FS File: /showers-scattered-day-icon.bmp, size: 27.05KB
FS File: /showers-scattered-night.bmp, size: 27.05KB
FS File: /snow-icon.bmp, size: 27.05KB
FS File: /snow-rain-icon.bmp, size: 27.05KB
FS File: /snow-scattered-day-icon.bmp, size: 27.05KB
FS File: /snow-scattered-icon.bmp, size: 27.05KB
FS File: /snow-scattered-night-icon.bmp, size: 27.05KB
FS File: /storm-day-icon.bmp, size: 27.05KB
FS File: /storm-icon.bmp, size: 27.05KB
FS File: /storm-night-icon.bmp, size: 27.05KB
FS File: /sunny-icon.bmp, size: 27.05KB
FS File: /Wind-Flag-Storm-icon.bmp, size: 27.05KB
FS File: /config.json, size: 913B

### MQTT has disconnected...
Connecting to MQTT-Broker: :1883
sending NTP packet...
packet received, length=48
Seconds since Jan 1 1900 = 3671196927
Unix time = 1462208127
The MEZ time is 16:55:27
02.05.2016
Sommerzeit
!new Time set
Yahoo WeatherCode: 99

mounting FS...for BMPFile
mounted file system
reading BMPfile: /sunny-icon.bmp
### MQTT has disconnected...
Connecting to MQTT-Broker: :1883
Yahoo WeatherCode: 99

mounting FS...for BMPFile
mounted file system
reading BMPfile: /sunny-icon.bmp
incomming Callback, config has changed!!


Config:
########################################
WEBcfg Username:  ESPuser
WEBcfg Password:  ESPpass
----------------------------------------
AP SSID:          ESP8266_13915244
AP Password:      ESP8266config
----------------------------------------
WiFi SSID:        SSID
WiFi Password:    passwd
DHCP IP:          192.168.0.34
----------------------------------------
MQTT-Server IP:   
MQTT-Server Port: 1883
MQTT-DeviceName:  ESP8266_13915244
----------------------------------------
Update-Server IP:
FilePath:         
########################################
saving config

Exception (29):
epc1=0x4000e1b2 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000

ctx: sys
sp: 3ffffd70 end: 3fffffb0 offset: 01a0

>>>stack>>>
3fffff10:  00000000 3fff5790 00000300 40100705 
3fffff20:  0437ce2c 3fff5790 3fff41a0 40107448 
3fffff30:  015143f4 3fff54b4 3fff99ec 4021da22 
3fffff40:  40105930 00000000 4021dee2 00000008 
3fffff50:  4023080c 00000000 4021df8f 3fff4254 
3fffff60:  3fff5790 40237965 3fff5768 3fff5790 
3fffff70:  40237965 60000600 3ffeff88 40237965 
3fffff80:  402379aa 3fffdab0 00000000 3fffdcb0 
3fffff90:  3fff57b8 3fffdad0 3fff8828 40215a1b 
3fffffa0:  40000f49 40000f49 3fffdab0 40000f49 
<<<stack<<<

ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x4010f000, len 1264, room 16
tail 0
chksum 0x42
csum 0x42
~ld

============================================
Flash real id:   001640E0
Flash real size: 4194304
Flash ide  size: 4194304
Flash ide speed: 40000000
Flash ide mode:  DIO
Flash Chip configuration ok.
============================================

read config

mounting FS...
mounted file system
reading config file
opened config file
json success
cfgFile close...
cfgFile closed.
fsMount OK and File exist

mounting FS...for MyFile
mounted file system
MyFile does not exist

Connecting WiFi to: SSID
..........

WiFi connected with IP:    192.168.0.34
Starting UDP
Local port: 2390
with %p:  cfg    = 3fff78b5
with %p:  cfg    = 3fff78b5
with %p:  MyOLEDDisplay    = 3fff775c
with %p:  oled    = 3fff775c
Start WEB-Server
HTTP server started


Config:
########################################
WEBcfg Username:  ESPuser
WEBcfg Password:  ESPpass
----------------------------------------
AP SSID:          ESP8266_13915244
AP Password:      ESP8266config
----------------------------------------
WiFi SSID:        SSID
WiFi Password:    passwd
DHCP IP:          192.168.0.34
----------------------------------------
MQTT-Server IP:   
MQTT-Server Port: 1883
MQTT-DeviceName:  ESP8266_13915244
----------------------------------------
Update-Server IP:
FilePath:         
########################################
sending NTP packet...
packet received, length=1073710956
HTTP FSBrowserServer started
FS File: /clear-icon.bmp, size: 27.05KB
FS File: /clear-night-icon.bmp, size: 27.05KB
FS File: /clouds-icon.bmp, size: 27.05KB
FS File: /clouds-night-icon.bmp, size: 27.05KB
FS File: /edit.htm.gz, size: 4.02KB
FS File: /favicon.ico, size: 1.12KB
FS File: /few-clouds-icon.bmp, size: 27.05KB
FS File: /few-clouds-night-icon.bmp, size: 27.05KB
FS File: /freezing-rain-icon.bmp, size: 27.05KB
FS File: /graphs.js.gz, size: 1.92KB
FS File: /hail-icon.bmp, size: 27.05KB
FS File: /index.htm, size: 3.63KB
FS File: /many-clouds-icon.bmp, size: 27.05KB
FS File: /showers-day-icon.bmp, size: 27.05KB
FS File: /showers-icon.bmp, size: 27.05KB
FS File: /showers-night-icon.bmp, size: 27.05KB
FS File: /showers-scattered-day-icon.bmp, size: 27.05KB
FS File: /showers-scattered-night.bmp, size: 27.05KB
FS File: /snow-icon.bmp, size: 27.05KB
FS File: /snow-rain-icon.bmp, size: 27.05KB
FS File: /snow-scattered-day-icon.bmp, size: 27.05KB
FS File: /snow-scattered-icon.bmp, size: 27.05KB
FS File: /snow-scattered-night-icon.bmp, size: 27.05KB
FS File: /storm-day-icon.bmp, size: 27.05KB
FS File: /storm-icon.bmp, size: 27.05KB
FS File: /storm-night-icon.bmp, size: 27.05KB
FS File: /sunny-icon.bmp, size: 27.05KB
FS File: /Wind-Flag-Storm-icon.bmp, size: 27.05KB
FS File: /config.json, size: 913B

### MQTT has disconnected...
Connecting to MQTT-Broker: :1883
sending NTP packet...
packet received, length=48
Seconds since Jan 1 1900 = 3671196998
Unix time = 1462208198
The MEZ time is 16:56:38
02.05.2016
Sommerzeit
!new Time set
Yahoo WeatherCode: 99

mounting FS...for BMPFile
mounted file system
reading BMPfile: /sunny-icon.bmp
### MQTT has disconnected...
Connecting to MQTT-Broker: :1883
Yahoo WeatherCode: 99

mounting FS...for BMPFile
mounted file system
reading BMPfile: /sunny-icon.bmp


Zwei Dinge verwundern mich jedoch:

Zum Einem dass da "MyFile does not exist" steht und zum Anderen, dass ein Icon mit verstümmeltem Dateinamen "FS File: /showers-scattered-night-icon.bm?8l, size: 27.05KB" angegeben wird. Ich hab nun einfach Mal den langenen Dateinamen gekürzt.

tomster

Ach, ich blick's gar nicht mehr. Jetzt hab ich wieder einen Bootloop, wenn ich nach dem ersten Reboot durch das Aufrufen der Seite KEINEN eigen-angestossenen Reboot mache, sondern einfach nach dem Sketch-seitigen nochmal das WebGUI aufrufen möchte.

Eine Frage aber noch:

Als ich Deinen ersten Pf@nne-OS Sketch geflasht hatte, musste ich mich beim Erststart in das ESP-eigene WLAN einloggen um die Credentials meines WLANs eingeben zu können. Seither, auch nach zig-fachem Reflashen anderer Versionen muss ich das nicht mehr tun. Irgendwo "merkt" sich der ESP scheinbar diese Einstellungen. Kann es sein, dass da Bereiche des Flashs auch durch Neuflashen gar nicht gelöscht werden?

wingfighter

Hallo tomster

Der Gesamtflash ist in diverse Bereiche aufgeteilt. In einem läuft das aktuelle Sketch , in einem zweiten wird die per OTA-Update hochgeladene bin-Datei gespeichert, bis sie sauber übertragen wurde um erst dann den Flash-Vorgang zu starten und in einem weiteren befindet sich das Filesystem.
Beim Flashen wird nur der erste Bereich überschrieben. Daher bleiben alle anderen Daten erhalten. Wen Du eine neue Config erzwingen möchtest, musst Du also per SPIFFS.format(); das Filesystem löschen.

Da die eine Dateiendung mit Datenmüll aufgefüllt war, habe ich die Vermutung, dass hardwareseitig irgend etwas nicht stimmt. Eventuell ist die Spannung einfach nur instabil. Es wird ja in vielen Foren empfohlen, einen 10 µF-Elko parallel zur Stromversorgung zu schalten. Vielleicht kannst Du aber auch mal einen anderen USB-Port testen
Da ja inzwischen  an den verschiedensten Stellen Fehler auftauchen, deutet das auf einen softwareunabhängigen Fehler hin.
Ich habe eine meinem Testboard auch eine zweite Sannungsversorgung nur für das Display hängen. Der nodeMCU wird über USB versorgt. (http://www.amazon.de/dp/B00KNRD3HM/ref=cm_sw_em_r_mt_dp_nw7jxb16D4EEE)

Die Meldung  "MyFile does not exist"  ist übrigens normal. Pf@nne hat in seinem Template eine Datei vorgesehen, in der man eigene Variablen sichern kann. Die nutze ich aber zurzeit nicht. Daher diese Fehlermeldung.

Gruß wingfighter

Pf@nne

Moin,

freut mich, dass ihr das Template so fleißig nutzt obwohl es bisher ja nur alpha-Status hat... 8)

Nach einer Anpassung des cfg-Umfangs lade ich die neuen Files immer einzeln hoch.
Dann sollte es wieder passen.

SPIFFs Upload
https://forum.fhem.de/index.php/topic,50238.msg446856.html#msg446856

Weiterhin viel Erfolg...
FHEM auf: DS415+ (Master), Raspberry Pi 2

wingfighter

Moin

Das hat bis jetzt bei mir immer dazu geführt, dass auch das gerade übersetzte Binary mit hochgeladen wurde. Zumindest sah das danach aus. Es hat aber 3,4MB und dauert entsprechend lange.
Ich habe für das java-Applet auch keine Config gefunden, in der man das abstellen könnte.
Man kann es ini den Quellen sicher auskommentieren. Aber das Java-Applet dann neu zu übersetzen setzt wieder eine Menge Arduino-IDE-KnowHow voraus. ;-(

Viele Grüße aus WL


tomster

#129
Zitat von: wingfighter am 02 Mai 2016, 22:19:36
Daher bleiben alle anderen Daten erhalten. Wen Du eine neue Config erzwingen möchtest, musst Du also per SPIFFS.format(); das Filesystem löschen.
Nope. Auch ein einkommentiertes SPIFFS.format() löscht den Flashspeicher anscheinend nicht völlig. Die Credentials und meine SSID bleiben erhalten. Ich denke daher, dass wohl "nur" der /data-Bereich gelöscht wird. Ich habe auch Mal probiert den ESP nach dieser Anleitung zu Löschen. Auch dabei bleiben die Credentials erhalten. Die müssen also in irgendeinen vom Flashen "verschonten" Bereich geschrieben werden...
Zitat
Da die eine Dateiendung mit Datenmüll aufgefüllt war, habe ich die Vermutung, dass hardwareseitig irgend etwas nicht stimmt.
Ich hatte einfach die Vermutung, dass es an der Zeichenanzahl des Dateinames gelegen hat. Du schreibst ja im Sketch explizit "// Weather icons 30 Dateien, max 30 Zeichen". Zumindest mit der Dateiendung komme ich bei der Datei aber auf 32 Zeichen... Und wenn ich bei der Datei im Namen einfach das "-icon" weglasse, bleibt der Dateiname auch unkorrumpiert.
Zitat
Eventuell ist die Spannung einfach nur instabil. Es wird ja in vielen Foren empfohlen, einen 10 µF-Elko parallel zur Stromversorgung zu schalten. Vielleicht kannst Du aber auch mal einen anderen USB-Port testen
Hab ich bereits. Auch wenn ich ein Netzteil von meinem Raspi (3A) verwende reagiert der Wemos/ Display zumindest optisch (dann hab ich ja keinen seriellen Monitor) genau gleich: Es bleibt schwarz und die LED am Wemos blinkt wie wild.
Zitat
Da ja inzwischen  an den verschiedensten Stellen Fehler auftauchen, deutet das auf einen softwareunabhängigen Fehler hin.
Ich habe eine meinem Testboard auch eine zweite Sannungsversorgung nur für das Display hängen. Der nodeMCU wird über USB versorgt. (http://www.amazon.de/dp/B00KNRD3HM/ref=cm_sw_em_r_mt_dp_nw7jxb16D4EEE)

Und genau hier denke ich ein bisschen anders. Wenn ich den Pf@nne'schen Sketch (unter Beibehaltung deines geänderten ESP8266_Basic-Ordners) flashe, dann kann ich problemlos auf das Webinterface zugreifen und auch Änderungen in den Inputfields für die (=Deine) Displaykonfiguration machen. Ich tippe daher auf einen Bug in einer Abfrageroutine/ Korrumpierung in den data-Bereich. Diese Vermutung stütze ich mehrheitlich auf die Erkenntnis, dass das Auftreten des Reboot-Loops ja "persistent" ist. Sprich, auch nach der Trennung der Stromversorgung/ Wiedereinschalten springt der Sketch sofort in den Reboot-Loop. Wenn ich aber den /data-Bereich per SPIFFS-Tool aus Arduino heraus neu flashe, läuft der Sketch wieder. Zumindest bis zum nächsten Versuch das WebGUI aufzurufen.
Zitat
Die Meldung  "MyFile does not exist"  ist übrigens normal. Pf@nne hat in seinem Template eine Datei vorgesehen, in der man eigene Variablen sichern kann. Die nutze ich aber zurzeit nicht. Daher diese Fehlermeldung.
Überredet. Dann ignoriere ich diese Meldung einfach geflissentlich ;-)

wingfighter

ZitatNope. Auch ein einkommentiertes SPIFFS.format() löscht den Flashspeicher anscheinend nicht völlig. Die Credentials und meine SSID bleiben erhalten. Ich denke daher, dass wohl "nur" der /data-Bereich gelöscht wird. Ich habe auch Mal probiert den ESP nach dieser Anleitung zu Löschen. Auch dabei bleiben die Credentials erhalten. Die müssen also in irgendeinen vom Flashen "verschonten" Bereich geschrieben werden...

Ja, das ist so. Es wird definitiv nur der Bereich gelöscht, in dem sich das File-System befindet, sonst würde ja das Sketch auch gelöscht werden. ;-)

Als ich mich mit dem ESP8266 begonnen habe zu beschäftigen, habe ich auch irgendwo gelesen, dass die WIFI-Login-Daten in einem separaten Bereich gespeichert werden, der von allen Löschaktionen verschont bleibt. In dem Text stand auch, wie man die Zugangsdaten löschen kann. Die Quelle habe ich aber nicht parat. Vielleicht findest Du über diesen Effekt etwas über Google.

ZitatWenn ich den Pf@nne'schen Sketch (unter Beibehaltung deines geänderten ESP8266_Basic-Ordners) flashe, dann kann ich problemlos auf das Webinterface zugreifen

Ich habe in meiner aktuellen Version eine kleine Änderung vorgenommen, die die Erreichbarkeit des Webinterfaces - zumindest im AP-Modus - erleichtert.
Die vielen Anzeigepausen zwischen den Screens verhindern ein schnelles Abarbeiten der void loop(){}-Schleife.  Daher werden Webanfragen nur sehr zäh beantwortet.
Für die Erstkonfiguration nutze ich jetzt ein Flag, was Pf@nne setzt, wenn sich der ESP im AP-Konfig-Modus befindet, um das Aufbauen und anzeigen der Screens zu unterdrücken.
Für den Normalbetrieb hatte ich vor einiger Zeit auch schon versucht eine Lösung zu finden, wie man den Screenwechsel solange deaktiviert, wie man über die Web-Konfig Daten bearbeitet. Man muss diese Aktivitäten aber definitiv durch eine Aktion beenden, sonst kann das Sketch nicht wissen, wann es die Displays wieder anzeigen darf.
Und beim momentanen Aufbau der Anzeige-Schleife bleibt dem Webinterface nicht wirklich viel Zeit, die Anfragen entgegen zu nehmen.
Darum läuft der Aufruf der Webseite schon bisweilen in den Timeout.
Vielleicht ist es ein Lösungsansatz, das Display per MQTT in den Konfigurationsmodus zu versetzen. Und wenn man "Configuration speichern" klickt, wird das Config-Flag wieder zurück gesetzt.

ZitatWeather icons 30 Dateien, max 30 Zeichen". Zumindest mit der Dateiendung komme ich bei der Datei aber auf 32 Zeichen...
OK: Das sollte ich mal abfangen. ;-)


wingfighter

V0.33 hochgeladen.

Ich habe den Schwuppdizität der Configurations-Websites verbessert. Damit sollten ungeduldige Browser nicht mehr in einen Timeout laufen.

tomster

Leider funzt der Sketch bei mir in doppelter Hinsicht nicht. Ich bekomme keine Anzeige mehr auf dem Display und der Aufruf des WebGUIs endet immer noch in einem Reboot...

wingfighter

Die Anzeige ist solange deaktiviert bis die Konfiguration im AP-Mode abgeschlossen ist. Damit wird die Bedienung der Webseiten beschleunigt.

Welche IDE verwendest Du eigentlich? Ich nutze die 1.6.8.
Hast Du alle Libraries immer auf dem aktuellen Stand?
Es muss ja irgend einen Unterschied geben. Hm?

Ich mache heute Nachmittag mal eine bin-Datei fertig und sende Sie Dir per PM.
Vielleicht kannst Du sie mal per OTA-Update einspielen. Dann können wir eingrenzen, ob die Probleme von der Hardware oder der IDE kommen.
Welches ESP-Board muss ich dann einstellen?




tomster

Zitat von: wingfighter am 04 Mai 2016, 10:55:41
Die Anzeige ist solange deaktiviert bis die Konfiguration im AP-Mode abgeschlossen ist. Damit wird die Bedienung der Webseiten beschleunigt.
Jetzt nochmal langsam, zum mitdenken.
Da die Credentials ja ohnehin auf dem ESP gespeichert bleiben, lande ich doch gar nicht im AP-Mode.
Sprich, der Sketch müsste doch dann gleich in den "Normalmodus" gehen, oder?
Leider startet der Sketch nach dem Versuch des Aufrufs des GUIs einmalig neu. Wenn ich danach nochmals versuche das GUI zu erreichen, dann endet der Sketch im Reboot-Loop.
Dann hilft nur noch das Neuflashen.

ZitatWelche IDE verwendest Du eigentlich? Ich nutze die 1.6.8.
Ich hab die 1.6.7
ZitatHast Du alle Libraries immer auf dem aktuellen Stand?
Deine sowieso, und all diejenigen, die in der Bibliothekverwaltung als aktualisierbar angegeben waren auch.


ZitatIch mache heute Nachmittag mal eine bin-Datei fertig und sende Sie Dir per PM.
Vielleicht kannst Du sie mal per OTA-Update einspielen. Dann können wir eingrenzen, ob die Probleme von der Hardware oder der IDE kommen.
Welches ESP-Board muss ich dann einstellen?
Ich frage mich allerdings, wie ich das bin-File OTA updaten soll, wenn ich gar nicht auf das GUI komme...
Zur Verfügung hab ich hier WEMOS D1 mini und nodeMCU. Ich teste die Sketche immer auf beiden. Somit sollten die darauf verbauten ESP's -EX und 12E Modelle sein.