Forum: Mikrocontroller und Digitale Elektronik Esp8266 kopieren ohne pc?


von Sebastiano T. (sebastiano_t)


Lesenswert?

Hallo.
Ist es möglich ein Esp8266 1:1 auf einem neuen und leeren Esp8266 zu 
kopieren, ohne ein PC dazwischen?

Oder

Esp8266 startet den ota Update was im neuen Esp landet?

Mit pc ist klar, und läuft bereits. Nur sollte das eigenständig laufen.

Ist so etwas überhaupt möglich?

LG Sebastiano

von N. M. (mani)


Lesenswert?

Sebastiano T. schrieb:
> Ist es möglich ein Esp8266 1:1 auf einem neuen und leeren Esp8266 zu
> kopieren, ohne ein PC dazwischen?

Der "leere" ESP hat ja trotzdem seinen Bootloader an Bord. Über den kann 
ESP1 natürlich ESP2 programmieren.
Gleiches verwendet der PC ja auch.
Nachteil ist halt, dass ESP1 und ESP2 elektrisch verbunden sein müssen.

Sebastiano T. schrieb:
> Esp8266 startet den ota Update was im neuen Esp landet?

Dann müsste der unprogrammierte ESP ja schon einiges an Intelligenz 
besitzen, was er nicht hat. Zumindest nicht werkseitig. Einmalig musst 
du also elektrisch dran und mindestens (d)ein OTA-Programm laden.
Danach würde es dann ohne Kabel gehen.

von Stefan F. (Gast)


Lesenswert?

Sebastiano T. schrieb:
> Ist so etwas überhaupt möglich?

Technisch bestimmt. Du brauchst "nur" einen OTA Server auf dem einen ESP 
und einen dazu passenden OTA Client auf dem anderen. Mit der fertigen 
Software von Espressif geht das nicht.

von Sebastiano T. (sebastiano_t)


Lesenswert?

Das hört sich schonmal vielversprechend an 😀
Natürlich währen sie mit einander verbunden, und esp1 währe vor 
programmiert.

Hättest du eine Referenz für mich?
Weitere Infos, ein Beispiel währe echt super.
Z.b ISP oder reicht auch tx/td?

Wo fange ich am besten an.

LG 😃

von Sebastiano T. (sebastiano_t)


Lesenswert?

Stefan F. schrieb:
> Sebastiano T. schrieb:
>> Ist so etwas überhaupt möglich?
>
> Technisch bestimmt. Du brauchst "nur" einen OTA Server auf dem einen ESP
> und einen dazu passenden OTA Client auf dem anderen. Mit der fertigen
> Software von Espressif geht das nicht.

Das hört sich wieder an, als seis doch nicht machbar, weil Server auf 
esp1 ok aber Client auf esp2? Ohne dem am PC zu verbinden?

Gedanke war eben esp1 vor programmieren  und der programmiert mir die 
esp2 (ohne das ich erstmal etwas auf esp2 programmieren muss).

Es würde sonst ja keinen Sinn ergeben.

Server steht schon mit ota Update. Nur ohne vor programmierten esp2 und 
ohne PC , sollte das laufen. Eben esp1 programmiert esp2.

Es muss aber kein ota sein.

Es würde reichen wenn esp1 sein kompletten Code an esp2 überträgt 1:1 
Rest Regel ich schon.

: Bearbeitet durch User
von N. M. (mani)


Lesenswert?

Sebastiano T. schrieb:
> Hättest du eine Referenz für mich?

Na alles wo ESP8266+Bootloader dran steht. Ein erster Einstieg wäre evtl 
hier:
https://docs.espressif.com/projects/esptool/en/latest/esp8266/advanced-topics/firmware-image-format.html

Sebastiano T. schrieb:
> Z.b ISP oder reicht auch tx/td?

TX/RX von Uart brauchst du definitiv. Beim ersten Mal schreiben auf 
einen nackten ESP noch zusätzlich 2 Pins die den GPIO0 und Reset des 
Ziels bedienen um ihn in den Bootloader zu schicken.
Ist einmal ein Programm drin kann man natürlich auch nur über den 
Empfang über ein Protokoll in den Bootloader springen.

von N. M. (mani)


Lesenswert?

Oder du schaust Mal das hier an:
https://github.com/espressif/esp-serial-flasher

von Moko (Gast)


Lesenswert?

Hier wurde schon mal ein ähnliches Thema besprochen.
Vlt. hilft Dir das oder ihr tut euch zusammen und findet eine Lösung:
https://forum.arduino.cc/t/esp8266-12e-nr1-otaupdate-fur-esp8266-12e-nr2-bereitstellen-tx-rx

von Sebastiano T (Gast)


Lesenswert?

Wenn ich das richtig  Verstehe, Kompiliert der Esp1 Also Host sein 
eigenes Code, und Flascht dann damit Den Slaver Also Esp2 Damit?

Dann währe es genau was ich suche 😁
Sieht jedenfalls danach aus, vielen dank damit könnte ich etwas 
anfangen.

von Sebastiano T (Gast)


Lesenswert?

Moko schrieb:
> Hier wurde schon mal ein ähnliches Thema besprochen.
> Vlt. hilft Dir das oder ihr tut euch zusammen und findet eine Lösung:
> 
https://forum.arduino.cc/t/esp8266-12e-nr1-otaupdate-fur-esp8266-12e-nr2-bereitstellen-tx-rx

Das war mein Post, da konnte mir aber keiner wirklich etwas dazu sagen 😆
Jedenfalls nix hilfreiches.

von Monk (roehrmond)


Lesenswert?

Sebastiano T. schrieb:
> Gedanke war eben esp1 vor programmieren  und der programmiert mir die
> esp2 (ohne das ich erstmal etwas auf esp2 programmieren muss).

Das kann nicht gehen, denn irgendwie muss der Client erstmal eine 
Verbindung zum Server aufbauen. Die ESP Module bauen von alleine keine 
Funkverbindungen auf. Das muss ja erst mal konfiguriert werden.

> Es würde sonst ja keinen Sinn ergeben.

Überlege dir dein Konzept nochmal. Woher sollen die Clients wissen, zu 
welchem Server sie sich verbinden sollen? Einfach zu irgend einem der 
gerade erreichbar ist? Oder anders herum, sollte ein leerer ESP 
akzeptieren, dass irgend wer ihm durch die Luft ein neues Betriebssystem 
installiert? Das wäre doch ein gewaltiges Sicherheitsrisiko!

> Es muss aber kein ota sein.

Also doch seriell. Das kann man wohl über den integrierten Bootloader 
mit serieller Verbindung machen. Das normale Python Flash-Programm für 
PC ist Quelloffen, und irgendwo ist das Übertragungsprotokoll sicher 
dokumentiert.

> Wenn ich das richtig  Verstehe, Kompiliert der Esp1 Also Host
> sein eigenes Code

Ganz sicher nicht. Der kann nicht seinen eigenen Code compilieren, dafür 
hat er nicht genug Speicher. Er kann höchsten seinen eigenen Code auf 
einen anderen übertragen, wenn du ein entsprechendes Anwendungsprogramm 
entwickelst und auf ihm installierst.

Danach hast du ganz viele Klone, die ebenfalls ihren eigenen Code auf 
andere ESP kopieren wollen. Hmm, macht das Sinn?

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Sebastiano T. schrieb:
> Hättest du eine Referenz für mich?
Nein.

> Wo fange ich am besten an.
Mit der Dokumentation des SDK von Espressif (oder des Arduino Cores) und 
dem Studieren des Quelltextes vom esptool.py

> ISP oder reicht auch tx/td?
Siehe http://stefanfrings.de/esp8266/index.html#fwupdate

von Sebastiano Torrisi (Gast)


Lesenswert?

JA macht es und ist genau das was ich suche. Denn nach dem kopieren wird 
überprüft und wenn doch kommt ota Update, danach ist also komplett was 
anderes drauf. Passt schon 😀

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
Noch kein Account? Hier anmelden.