BitBastelei

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 พ.ค. 2024
  • Wenn man neue Firmware auf einen ESP8266 oder ESP32 bringen möchte ist das Prozedere ja eigentlich klar: USB ran, Upload klicken, warten. Wenn der ESP aber irgendwo eingebaut ist, dann kann USB schnell unpraktisch sein. Mit ArduinoOTA kann man alternativ direkt über WLAN eine neue Software installieren.
    Inhalt:
    00:00 Was ist OTA
    01:23 ArduinoOTA mit Arduino IDE
    09:19 Fallstricke
    10:25 ArduinoOTA mit PlatformIO
    12:33 Wie funktioniert ArduinoOTA
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 63

  • @EXMattix
    @EXMattix 3 ปีที่แล้ว +4

    Danke, dank dir weiß ich jetzt wie es bei platform IO funktioniert. Ich möchte in Zukunft eigentlich nur platform IO nutzen, musste aber feststellen das hin und wieder das Wissen fehlt wie man die ini konfiguriert

  • @ratingenwetter1137
    @ratingenwetter1137 2 ปีที่แล้ว +2

    Geil, ich habe an einem ESP8266 6 Stück DS18B20 angeschlossen, alles funktioniert in der Haussteuerung, und das mit deinem OTA fehlte mir noch, denn immer bei einer Änderung mit dem Notebook in den Keller, und dann umprogramieren wäre echt doof, deshalt DANKE für dieses echt gute Video, super erklärt, und es hat bei mir auf Anhieb funktioniert, DANKE dafür.

  • @antonmc
    @antonmc 3 ปีที่แล้ว +10

    Echt informativ und gut unterteilt

  • @Hasitier
    @Hasitier 3 ปีที่แล้ว +2

    Danke Dir für das interessante Video. Ich wusste nicht, dass das OTA mittlerweile so einfach ist. Werd ich sicher zukünftig in alles Neue einbauen just in case.....

  • @GhostBitchKiller
    @GhostBitchKiller 3 ปีที่แล้ว +10

    Danke für das Video!

  • @DRakeTRofKBam
    @DRakeTRofKBam 2 ปีที่แล้ว +1

    Danke, hat geklappt und du hast alles recht zum Punkt gebracht und erklärt. Viel Respekt

  • @JohnBoyK
    @JohnBoyK 3 ปีที่แล้ว +1

    Danke! Sehr hilfreich!

  • @nrdesign1991
    @nrdesign1991 3 ปีที่แล้ว

    Wow echt einfach! Mit PlatformIO muss ich mich endlich beschäftigen, damit ich auch für Arduino endlich eine richtige IDE verwenden kann
    Edit: Mit PlatformIO hat der OTA Upload genau einmal funktioniert, und dann nicht mehr. Ich glaube dann lohnt sich der Umstieg nicht.
    Edit 2: Das ESP-01 scheint echt verdammt zickig zu sein. Mit einem D1 Mini geht OTA wunderbar.

  • @wdp8794
    @wdp8794 3 ปีที่แล้ว

    Top, das ist ja richtig cool.

  • @Samatron9
    @Samatron9 3 ปีที่แล้ว

    Sehr interessant zum Basteln. Ich nutze für einige Gerät bei mir auch die OTA Funktion aber über https. Die Geräte prüfen einfach beim hochfahren, ob eine neue Firmware verfügbar ist. Tatsächlich kannte ich bisher auch nur OTA via http/s

  • @ElNadaInLada
    @ElNadaInLada 3 ปีที่แล้ว +2

    Ein Video über ESP-Mesh wär toll :)
    Und ließe sich ArduinoOTA auch über diesen Layer realisieren? Ist mWn ja kein TCP/IP. Aber sicher bin ich mir da nicht ^^

  • @holgerw8434
    @holgerw8434 3 ปีที่แล้ว

    Kann der Bereich für das OTA auch in einer angeschlossenen SD-Card liegen anstatt im Flash?

  • @michaelrichter7830
    @michaelrichter7830 3 ปีที่แล้ว +1

    man müsste noch irgendwie das aufwachen aus dem deepsleep automatisch abfangen können. habe diverse temp sensoren, die nur all 10 Minuten aufwachen.
    Aber ansonsten wie immer sehr informativ - Danke dafür!

    • @TecSanento
      @TecSanento 3 ปีที่แล้ว +1

      Für die kannst du Ota http wählen - da sucht der esp auf einem http Server ob dort eine andere Firmware als seine eigene liegt und installiert die selbstständig

    • @adlerweb
      @adlerweb  3 ปีที่แล้ว +2

      Genau. Der ESP ist ja im Deep-Sleep nirgends erreichbar, daher ist Push nicht drin. Hier muss der ESP dann beim Aufwachen aktiv bei einem Server nachschauen, ob dort eine neue Firmware für ihn hinterlegt wurde, und ggf. ein Update starten. Das geht mit eigenem Webserver und ESPhttpUpdate (z.B. www.bakke.online/index.php/2017/06/02/self-updating-ota-firmware-for-esp8266/ ) oder auch über Cloud-Dienste wie IOTAppStory von @Andreas Spiess @UCu7_D0o48KbfhpEohoP7YSQ

    • @WitzigLustigKomisch_TG
      @WitzigLustigKomisch_TG 3 ปีที่แล้ว +2

      @@adlerweb kannst du das vielleicht auch als Video umsetzen? Die Anleitung erscheint mir recht schwierig auf den ersten Blick.

  • @perry6466
    @perry6466 3 ปีที่แล้ว

    Danke dir !

  • @ralfh8821
    @ralfh8821 3 ปีที่แล้ว

    Super Video. Das versteh sogar ich 😀
    Kann man das auch benutzen, dass er regelmäßig auf einem Webserver nachschaut und sich das dann holt oder muss man dann händisch runterladen und selbst "umschalten"?

    • @adlerweb
      @adlerweb  3 ปีที่แล้ว +1

      Ja, ist möglich, in den Beispielen sollte passender Code dabei sein.

  • @andremuensti4730
    @andremuensti4730 3 ปีที่แล้ว

    Wenn nach dem "USB" Upload das Gerät (IP) nicht in der IDE sichtbar ist alles nicht benötige Netzwerk-Karten deaktivieren (z;B VMware NICs)

  • @1Hippo
    @1Hippo 3 ปีที่แล้ว

    Habe gerade etwas den Code der OTA lib angeschaut, wenn ich das richtig verstehe ist es wirklich nicht sicher.
    Erstmal wird mit UDP die Auth über ein Challenge Response Verfahren mit MD5 Hashes gemacht. Naja, nicht optimal, aber soweit okay. Wenn die Auth in Ordnung war (oder deaktiviert) geht der ESP in den state OTA_RUNUPDATE über, verbindet sich diesmal mit TCP zum Update Rechner und lädt die Daten runter.
    Selbst wenn ein Angreifer nicht direkt den Passwort Hash/Challenge knackt, dürfte ihn nichts daran hindern einfach zu warten bis ein echtes OTA Update kommt um die Auth Pakete einfach weiter zu leiten, aber dann stattdessen eine manipulierte Firmware zu senden. Das Update wird ansonsten noch mit MD5 gecheckt, aber das kann ein Angreifer ja auch berechnen und den passenden Wert mitschicken.

  • @fabianw7264
    @fabianw7264 3 ปีที่แล้ว

    Danke fürs Video!
    Geht das ganze auch mit anderen Arduinos? z.B Arduino Mega oder Uno in Kombination mit dem Ethernet Shield?

    • @lednexusa.s.3418
      @lednexusa.s.3418 3 ปีที่แล้ว

      Ich habe es versucht mit ArduinoMega und einem Ethernetshield, konnte OTA auf den Mega installieren, aber das OTA-Update ist mir immer fehlgeschlagen.
      Teilweise wurde das Passwort nicht erkannt oder er hat ein Upload fehler gemeldet.

    • @adlerweb
      @adlerweb  3 ปีที่แล้ว

      Prinzipiell gehen auch andere Boards mit ELAN/Ethernet. Eine Liste list im der l Library-Beschreibung. Gerade bei AVR muss man aber bedenken, dass man genügend Platz für das Zwischenspeichern benötigt. Ich weiß jetzt auswendig nicht, wie das dort implementiert ist, aber entweder muss man vermutlich den Sketch auf halbe Größe machen oder ist auf die Größe des RAM limitiert.

  • @therealmeisl5609
    @therealmeisl5609 3 ปีที่แล้ว +3

    Kindisch, ich weiß, aber ich freu mich gerade total, dass ich der 9999. Zuschauer bin :D

  • @spezidrohne9580
    @spezidrohne9580 3 ปีที่แล้ว +1

    Nice

  • @Chrfilmer
    @Chrfilmer 3 ปีที่แล้ว +1

    Wie macht der ESP das, dass er seine Funktion überhaupt aufrecht erhalten kann, also die Verbindung zum Netzwerk und gleichzeitig sein Programm aktualisieren?
    EDIT. Ok hab nicht bis Ende geschaut. 😄

  • @andremuensti4730
    @andremuensti4730 3 ปีที่แล้ว +1

    Achtung keine Delay Befehle in die Loop Schleife machen - sonst geht OTA nicht. Am besten ein ESP32 nehmen mit parallel Loop!

    • @andreashobby
      @andreashobby 3 ปีที่แล้ว

      Delays funktionieren - auch auf dem ESP8266.

    • @andremuensti4730
      @andremuensti4730 3 ปีที่แล้ว

      @@andreashobby ab ca 2000ms funktioniert es nicht mehr und mqtt Client geht der OTA auch nicht.

  • @MathiasBacher
    @MathiasBacher 2 ปีที่แล้ว

    Gibt es auch eine Möglichkeit, OTA zu ermöglichen, wenn der PC nicht im gleichen Netzwerk wie der Microcontroller ist?

    • @adlerweb
      @adlerweb  2 ปีที่แล้ว +1

      Bei PlatformIO gibt man die IP an, das geht auch über Netzgrenzen hinweg. Die ArduinoIDE scheint keine Option dafür zu haben, die müsste man entweder die Definitionen ändern oder nach dem Kompilieren (verify) den Upload manuell über die Textkonsole starten: github.com/esp8266/Arduino/issues/2480

  • @Dennis12869
    @Dennis12869 2 ปีที่แล้ว

    Ah ein PlatformIO Chad.

  • @guidobraun2920
    @guidobraun2920 3 ปีที่แล้ว

    Schönes Video. Leider bekomme ich als Anfänger es nicht in mein Gewächshaus Sketch eingebunden. Zudem ich zum Aufspielen auf den ESP32modeNCU immer die 5V/3V Sensoren trennen muss, sowie die Boot Taste am ESP gedrückt halten muss, um einen Sketch per USB hochzuladen. Naja, man lernt dazu, und vielleicht finde ich noch eine Lösung.

  • @IgorKovacs02
    @IgorKovacs02 2 ปีที่แล้ว

    Kann man auch OTA verwenden wenn der ESP in einem mobilen hotspot sein soll?

    • @adlerweb
      @adlerweb  2 ปีที่แล้ว

      Hm, meinst du der ESP ist mit einem Handy o.Ä. verbunden, der ein WLAN aufmacht? Prinzipiell ja, allerdings sollte das programmierende Gerät dann auch mit diesem AP verbunden sein. VPN müsste (zumindest mit PIO) auch funktionieren. Von direkter Programmierung über das Internet, also Portweiterleitungen o.Ä., würde ich aber dringend abraten - das dürfte beim Thema Sicherheit nicht lange halten.

  • @Igel-Paradies
    @Igel-Paradies 3 ปีที่แล้ว

    hallo, tolles video ota upload geht , ich kann aber nichts auf dem seriellen monitor sehen
    da kommt die meldung in der IDE "Serieller Monitor auf Netzwerkports wie 192.168.178.29 für null in dieser Version wird nicht unterstützt" habe arduino 1.8.13. Bibliotheken auf dem akuellen stand.
    was kann das sein ?

    • @adlerweb
      @adlerweb  3 ปีที่แล้ว

      Wie auch im Video gesagt: Serieller Port ist über Netzwerk nicht möglich. Man kann im Sketch stattdessen einen Webserver oder einen Telnet-Server (z.B. www.nikolaus-lueneburg.de/2017/09/wifi-telnet-server-auf-dem-esp8266/ ) starten und die Meldungen dort ausgeben.

    • @Igel-Paradies
      @Igel-Paradies 3 ปีที่แล้ว

      Danke das habe ich wohl überhört

  • @Werbewunder
    @Werbewunder 3 ปีที่แล้ว

    Braucht man den Transitor der auf dem 8266 gelötet ist um OTA zu betreiben oder warum hast du den angelötet.

    • @adlerweb
      @adlerweb  3 ปีที่แล้ว

      Nein, das ist ein Temperatursensor, der war nur von einem anderen Projekt noch drauf.

    • @Werbewunder
      @Werbewunder 3 ปีที่แล้ว

      Danke

  • @uwewychlacz6981
    @uwewychlacz6981 3 ปีที่แล้ว

    Frage: beim "normalen" flashen, muss der Microcontroller hardwaremäßig in den Programmiermodus geschaltet/gejumpert werden und danach wieder aus. Ist das bei OTA unnötig? Hab hier keinen diesbezüglichen Hinweis gefunden oder übersehen.

    • @adlerweb
      @adlerweb  3 ปีที่แล้ว

      Die OTA-Software startet den Programmiermodus selbst, man muss also nichts umstecken.

    • @uwewychlacz6981
      @uwewychlacz6981 3 ปีที่แล้ว

      @@adlerweb Vielen Dank für die schnelle Antwort!

  • @andremuensti4730
    @andremuensti4730 3 ปีที่แล้ว

    Tipp zum Debug : geht mit Telnet Protokoll (Befehle sind ähnlich wie Serial) und als Monitor PuTTY.

    • @Leif_YT
      @Leif_YT 3 ปีที่แล้ว

      Stimmt, dazu (wireless debugging) ist das Video von Andreas Spiess ganz hilfreich th-cam.com/video/1pwqS_NUG7Q/w-d-xo.html . Die 2 Videos ergänzen sich sehr schön.

  • @sebakiller9736
    @sebakiller9736 3 ปีที่แล้ว

    Cooles Video ohne Schnickschnack das gefällt mir werde das mal probieren. Gibt es noch was zu beachten bei der Verwendung mit Esp32 und geht sowas auch mit dem esp 01.

    • @adlerweb
      @adlerweb  3 ปีที่แล้ว +1

      ESP32 hatte ich selbst nicht probiert, sollte aber identisch sein. ESP01 funktioniert.

  • @andremuensti4730
    @andremuensti4730 3 ปีที่แล้ว

    Wenn der OTA Upload nicht funktioniert, dann evtl. die Firewall deaktivieren bzw ESPOTA.exe freigeben/zulassen

  • @bernddresler
    @bernddresler 3 ปีที่แล้ว

    danke für die Videos über Arduino und ESP. Könntest du mal ein Video über Bedienung von Platform IO machen? das ist alles in englisch und viele (auch ich) kommen damit nicht zurecht. Danke im Voraus.

    • @adlerweb
      @adlerweb  3 ปีที่แล้ว +1

      Hm, das Video in der Infokarte kennst du? Da hatte ich die Grundfunktionen für Arduino-Umsteiger mal erklärt. Ansonsten bin ich vermutlich der Falsche dafür - da ich die meiste Zeit des Tages englisch unterwegs bin merke ich gar nicht, wenn da etwas ohne schwer verständlich ist. Bis eben hätte ich nicht mal gewusst, dass PIO nicht auf Deutsch war ;)

  • @m-electronics5977
    @m-electronics5977 3 ปีที่แล้ว

    Kann man das auch mit einem ethernet-shield machen

    • @adlerweb
      @adlerweb  3 ปีที่แล้ว

      Jein. Prinzipiell läuft ArduinoOTA auch mit Shields, allerdings brauch der Mikrocontroller genügend Platz. Am besten mal die Anleitung wälzen: github.com/jandrassy/ArduinoOTA

  • @Werbewunder
    @Werbewunder 3 ปีที่แล้ว

    Wie stark belastet OTA die Leistung des ESP32

    • @adlerweb
      @adlerweb  3 ปีที่แล้ว

      Im Prinzip ist es - wenn nicht grade ein Upload läuft - nahezu die selbe "Last" wie natives MDNS. Etwas RAM wird es noch belegen. In der Praxis dürfte man das Vernachlässigen können.

  • @bubbl_media
    @bubbl_media 3 ปีที่แล้ว

    Das heißt ja, dass das auch von überall auf der Welt via VPN gehen müsste, oder?

    • @adlerweb
      @adlerweb  3 ปีที่แล้ว

      Unter platformio ja, bei Arduino muss man etwas rum tricksen, da der standardmäßig ja auch die automatische Erkennung und somit mdns aufbaut.

  • @MrFad72
    @MrFad72 3 ปีที่แล้ว

    nicht gut woher bekomme ich den sketch und das board ist auch nicht zu finden :-(

    • @adlerweb
      @adlerweb  3 ปีที่แล้ว

      Nun weil es beides nicht fertig gibt. OTA ist eine Funktion, welche man in eigenen Projekten mit einbauen kann. Es funktionieren alle gängigen Boards mit ESP8266 oder ESP32. Ein Beispielcode wird bei den Programmierumgebungen für den jeweiligen IC mitgeliefert und können über das Beispielmenü eingesehen werden, für ESP8266 sieht das z.B. so aus: github.com/esp8266/Arduino/blob/master/libraries/ArduinoOTA/examples/BasicOTA/BasicOTA.ino

  • @hugoegon8148
    @hugoegon8148 3 ปีที่แล้ว

    Danke für das Video!