D1 mini WeMos NodeMcu
zu der Pinbelegung |
Hier möchte ich über ein sehr schönes Modul berichten.
Ich könnte bei Aliexpress eine Nachbildung von D1 mini WeMos NodeMcu mit ESP-12F für 2,78€ kaufen.
Und das macht die Sache sehr interessant.
Hier ist der Link zum Verkeufer
D1 mini-Mini WeMos NodeMcu hat volgende vorteile:
Ich könnte bei Aliexpress eine Nachbildung von D1 mini WeMos NodeMcu mit ESP-12F für 2,78€ kaufen.
Und das macht die Sache sehr interessant.
Hier ist der Link zum Verkeufer
D1 mini-Mini WeMos NodeMcu hat volgende vorteile:
- Alle vorhanden Pins ausgeführt.
- Reset Taster vorhanden
- USB-Seriell Adapter bereits am Bord.
- Beim Flashen geht automatisch in Update Modus. Brücken GPIO0 mit Masse und Reset sind nicht mehr nötig.
- 4M-bytes Speicher ermöglicht OTA –Update. Laden eigener Programme über Internet.
- Spannungsregler für den Betrieb am 5V vorhanden
Da dieses Modul fast für das gleiche Geld wie ESP-01 oder ESP-07 zu haben ist, kann ich den sehr empfehlen.
Einziges wofür dieses Modul nicht geeinigt ist, sind Anwendungen mit Batterie Betrieb.
Weil zusätzliche Bauteile das Strom verbrauchen. Quatsch, das Stimmt nicht. Meine Messungen zeigen das D1 mini-Mini WeMos NodeMcu im Deep Sleep –Modus 0,018mA verbraucht (zum Vergleich ESP-07 verbraucht 0,016mA)
Mir ist aufgefallen das am Stromversorgung 3,3V ein 10uF Kondensator geschaltet ist. Meiner Meinung nach ist das viel zu wenig. Ich empfehle ein 100uF…400uF Kondensator dran zu löten.
Kabel
Um Firmware oder eigene Programme zu laden, wird lediglich ein Micro USB Datenkabel (Handy Datenkabel) benötigt.Das Strom bezieht das D1 mini-Mini WeMos Modul vom USB Kabel.
Programme laden mit Arduino
Das WeMos Modul mit dem Rechner verbinden, Arduino Starten, Sketsch auswählen, Im Menü Werkzeuge/Flash Size 4M auswählen, Im Menü Werkzeuge/Resetmetod nodemcu auswählen, richtigen Port wählen und Button „Hochladen“ (Kreis mit dem Pfeil) betätigen. Fertig!Programme laden mit esptool
Wenn Sie keine Arduino IDE installieren wollen und lediglich auf meiner Homepage bereitgestellte Firmware in der Form von BIN-Datei laden wollen, benutzen Sie das Esptool.Hier ist ein Beispiel für BAT-Datei die das esptool mit Kommandozeilenparameter startet und D1 mini-Mini WeMos Modul mit dem Firmware Flasht.
In der Zip-Datei befindet sich Zeitschaltuhr Firmware für ESP-12F 4M, esptool.exe selbst und BAT-Datei. Bitte vor dem Ausführen COM-Schnittstelle in Bat-Datei einstellen!
Automatische Update vom Web Server
ESP-Module mit dem Speichervolumen von mindestens 1M lassen sich vom Internet eine Sketch update durchführen.Ich habe 2 Beispiele, die bei Arduino dabei waren, ausprobiert.
ESP8266HTTPUpdateServer / WebUpdater – Das laden der BIN-Datei vom Browser.
Wenn man beim bei dem Board –Auswahl das „WeMos D1 R2 und mini“ statt „Generic“ auswählt, dann klappt alles.
ESP8266httpUpdate / WebUpdater – ESP-Modul holt Firmware vom Webserver aus dem Internet. Das hat funktioniert! Nur das Reset kam ohne Meldungen.
Hier ist ein Sketch, der automatisch bei jedem Start überprüft, ob neue Version des Programms auf einem Server vorliegt. Wenn die Version der Firmware auf dem Server höher als im ESP-Modul ist, wird automatisch ein Update durchgeführt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
#include <ESP8266WiFi.h> #include <ESP8266HTTPClient.h> #include <ESP8266httpUpdate.h> #define FirmwareVer 3 // Bitte hier Version der Firmware eintragen #define URL_Mit_Version_Info "http://esp8266-server.de/update/httpUpdate.txt" #define URL_Mit_Firmware "http://esp8266-server.de/update/httpUpdate.bin" HTTPClient http; const char* ssid = "********"; const char* password = "********"; void FirmwareUpdate() { // Überprüfen der Firmwareversion des programmms aud dem Server int FirmwareNeu = 0; http.begin(URL_Mit_Version_Info); // Webseite aufrufen int httpCode = http.GET(); // Antwort des Servers einlesen if (httpCode == HTTP_CODE_OK) // Wenn Antwort OK { String payload = http.getString(); // Webseite einlesen FirmwareNeu = payload.toInt(); // Zahl aus Sting bilden } http.end(); if (FirmwareNeu > FirmwareVer) // Firmwareversion mit aktueller vergleichen { Serial.println("Neue Firmware verfuegbar"); Serial.println("Starte Download"); ESPhttpUpdate.rebootOnUpdate(false);// reboot abschalten, wir wollen erst Meldungen ausgeben t_httpUpdate_return ret = ESPhttpUpdate.update(URL_Mit_Firmware); switch (ret) { case HTTP_UPDATE_FAILED: Serial.printf("HTTP_UPDATE_FAILD Error (%d): %s", ESPhttpUpdate.getLastError(), ESPhttpUpdate.getLastErrorString().c_str()); break; case HTTP_UPDATE_OK: Serial.println("Update erfolgreich"); Serial.flush(); Serial.println("Reset"); Serial.flush(); delay(1); ESP.reset(); delay(100); break; } } } void setup() { Serial.begin(115200); Serial.println(""); Serial.println("Start"); WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("O"); } // Verbunden Serial.println(""); Serial.println("Verbunden"); FirmwareUpdate(); } void loop() { yield(); } |
Pinbelegung
webmaster_x_esp8266-server.de |