Hallo zusammen, habe folgende Konstellation: Auf meinem Dachboden wirkt ein ESP12 und schaltet PV-Module zwischen Wechselrichter und Akku hin ud her, je nach Daten von einem Shelly 3EM im Keller am Zählerkasten. Ein weiterer ESP01 liest die Aktionen vom ESP12 über serial und sendet die an einen 3. ESP an meinem Schreibtisch bzw PC. Für jede Anpassung/Änderung des Sketches im ESP12 muß ich nun auf den Speicher krabbeln, die Platine mit dem ESP12 ausbauen, zurück am PC neu flashen, auf den Speicher zurückbringen und wieder einbauen. Das brachte mich zu folgender Frage: Wenn ich den Reset und den GPI00 vom ESP12 mit Ports des ESP01 verbinde, müßte der den ESP12 in den Prog-Modus setzen können. Wenn ich dann dem ESP01 den neuen Sketch via Funk als drahtlose Verlängerung der serial-Verbindung schicke, und der das unverändert an den ESP12 weiterleitet, dann müßte ich doch den ESP12 praktisch "in Vito" flashen können. Oder? Gruß Helle
Ich denke, das Stichwort heißt OTA! Flashen per Weboberfläche auf dem ESP.
Üblicherweise würde man auf dem ESP12 OTA, d.h. OverTheAir-Update einrichten. Warum der ESP12 nicht auch die Funktion des 2.ESP übernehmen und dem 3.ESP seinen Status mitteilen kann, hab ich aber nicht verstanden.
Oliver R. schrieb: > Warum der ESP12 nicht auch die Funktion des 2.ESP übernehmen und dem > 3.ESP seinen Status mitteilen kann, hab ich aber nicht verstanden. Nun, die Verbindung zum Shelly ist eine HTTP-Abfrage, Die Verbindung zum ESP01 ist via ESPNOW. Ursprünglich hatte ich versucht, beides in einem Sketch unterzubringen, das hat aber kollidiert. ESPNOW hat nix mehr gesendet! OTA ist genau das, was ich wünsche, muß ich aber erst noch lernen, wie das geht. Dank Euch, Helle
Helmut H. schrieb: > den ESP12 in den Prog-Modus setzen ... dann ... den neuen Sketch > ... unverändert an den ESP12 weiterleitet, dann müßte ich doch > den ESP12 praktisch "in Vito" flashen können. Ganz so einfach ist es nicht. Du hast richtig erkannt, dass du durch die I/O Pins den Bootloader aktivieren kannst. Danach wird ein kleines Programm namens "stub" in das RAM des ESP geladen und ausgeführt. Dieser Stub holt sich dann den eigentlichen Sketch und speichert ihn in den Flash Speicher. Der Stub erfordert eine bidirektionale Kommunikation zum PC.
Ja, Monk, man braucht natürlich die Tx und die Rx Verbindung, ist aber kein Prob bei ESPNOW. Funktioniert die Verbindung in beiden Richtungen, ist das identisch mit dem Zustand, als seien das durchgängig Kabel. Jetzt schaue ich mir erstmal das OTA an. Das geht aber wohl nicht mit ESPNOW....
schau Dir evtl. mal ESPEasy an? Ich bin mir rel. sicher das Du mit den dort verfügbaren Rules die Steuerung auch abbilden kannst
Helmut H. schrieb: > Jetzt schaue ich mir erstmal das OTA an. > Das geht aber wohl nicht mit ESPNOW.... Auch das funktioniert zusammen. Und OTA ist einfach aufzubauen, wenn man sich an die zahlreichen Beispiele hält. Und wenn du dir den ESP01 sparen möchtest, dann kannst du auch vom ESP12 per UDP deine Informationen senden. Da UDP keine automatische Quittung sendet, einfach mehrfach senden oder ein eigenes Protokoll mit UDP aufbauen, das quittiert.
Hab jetzt ma die OTA in meinen Sketch eingebaut und markiert. Wenn ich alles OTA-markierte auskommentiere, funzt der Rest einwandfrei. Mit dem OTA-Gedöns funzt das OTA der ESP12 verbindet sich mit meinem Heimnetz "XXXXXX", bekommt eine IP, der OTA-Port wird im IDE angeboten, aber der HTTP-Abruf geht nicht mehr (HTTP-Code = 0).
Ich mach das mit #include <ESP8266WebServer.h> #include <ESP8266HTTPUpdateServer.h> ESP8266WebServer server(80); ESP8266HTTPUpdateServer httpUpdater; httpUpdater.setup(&server,"/up"); klappt problemlos.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.