zu der Pinbelegung |
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.
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.
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(); } |