#332

Sdílet
Vložit
  • čas přidán 16. 05. 2020
  • In this video, I would like to remind you of a handy ESP32 concept: Over the air or OTA update. A simple and efficient replacement of the Serial cable for devices which are not easily reachable, or for barebone ESP32 modules. And, as usual, I will add a few tricks and helpers.
    In this video, we will:
    - Learn how to use ESP32 OTA
    - Create a basic sketch template for all our new projects
    - I will show you some tricks like remote debugging
    - If this simple OTA is not enough, I will show you other frameworks
    - And, as usual, I included a “one last thing”
    I am a proud Patreon of GreatScott!, Electroboom, Electronoobs, EEVblog, and others.
    Links:
    Sketches: github.com/SensorsIot/ESP32-OTA
    ESP32 Dev board: s.click.aliexpress.com/e/_dVt... and s.click.aliexpress.com/e/_d7D...
    Standard ESP32 Dev board: amzn.to/2Axh24B
    ESP32 barebone PCB: s.click.aliexpress.com/e/_dZ6...
    Telnetstream: github.com/jandrassy/TelnetSt...
    WiFiManager for ESP32 (and ESP8266): github.com/tzapu/WiFiManager/...
    IOTappstory.com: iotappstory.com/
    The links above usually are affiliate links which support the channel (no additional cost for you).
    Supporting Material and Blog Page: www.sensorsiot.org
    Github: www.github.com/sensorsiot
    My Patreon Page: / andreasspiess
    Discord: / discord
    If you want to support the channel, please use the links below to start your shopping. No additional charges for you, but I get a commission (of your purchases the next 24 hours) to buy new stuff for the channel
    My Amazon.com shop: www.amazon.com/shop/andreassp...
    For Banggood bit.ly/2jAQEf4
    For AliExpress: bit.ly/2B0yTLL
    For Amazon.de: amzn.to/2r0ZCYI
    For Amazon UK: amzn.to/2mxBaJf
    For ebay.com: ebay.to/2DuYXBp
    profile.php?...
    / spiessa
    www.instructables.com/member/...
    Please do not try to Email me or invite me on LinkedIn. These communication channels are reserved for my primary job
    As an Amazon Associate, I earn from qualifying purchases
  • Věda a technologie

Komentáře • 640

  • @georglinde3910
    @georglinde3910 Před 4 lety +82

    "It always sits in the in the first row!" - brilliant! :-D

    • @PranavSharma2504
      @PranavSharma2504 Před 4 lety +3

      @@nutsandguts2871 Maybe 17 other people (including me) get impressed easily too, then.
      Edit: 31 now

    • @gerdkah6064
      @gerdkah6064 Před 4 lety +2

      5:44 so OTA is also a subscriber ^v^

    • @systemofapwne
      @systemofapwne Před 4 lety

      Or you just sort your projects differently and use a better IDE (like MS Visual Studio Code + Platform.io) instead of the limited Arduino IDE. Yet, I like his videos for being "always straight and basic" (which unfortunately implies to also fallback to arduino IDE)

    • @WistrelChianti
      @WistrelChianti Před 3 lety +1

      @@PranavSharma2504 it was a great joke! (made me laugh anyhow =D)

    • @bowiejudah1617
      @bowiejudah1617 Před 2 lety

      i guess Im asking randomly but does anyone know a trick to get back into an Instagram account..?
      I was stupid lost my password. I appreciate any tricks you can offer me!

  • @pcost
    @pcost Před 4 lety +8

    Hello Andreas! I always wait anxiously for new videos from you, no matter the subject, I know that I will learn lots of things! Greetings from Canada! 🙌

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety +3

      During the last weeks you did not have to wait for too long ;-) It must be late in Canada...

    • @PranavSharma2504
      @PranavSharma2504 Před 4 lety +1

      Same here! Of all the CZcamsrs, @Andreas Spiess is my all-time favorite! A perfect mix of information, experimentation, and humor!

  • @PeterAlbronda
    @PeterAlbronda Před 4 lety +1

    Again a wonderful presentation with much practical information in a short time.
    Each Sunday morning I am looking forward to your high value information, thank you!

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety

      You are welcome! And thank you for your nice words.

  • @isilverboy
    @isilverboy Před 3 lety

    I'm seeing and seeing again your videos. They are very useful and help me to speed up my projects. Thank you very much for your work here, really!

    • @AndreasSpiess
      @AndreasSpiess  Před 3 lety

      Glad you like them! And they help you in saving your valuable time.

  • @krishnanov21
    @krishnanov21 Před 4 lety +16

    Just when I needed it! Thank you🙌

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety +3

      Perfect!

    • @Marc_Miller
      @Marc_Miller Před 3 lety

      ​@@AndreasSpiess I'm having trouble finding your video shown at 6:19 talking about using the FTDI board to read the serial connection. Which video was that in?

  • @paulrichard8912
    @paulrichard8912 Před 4 lety

    Always enjoy your tutorials and your github contributions. Thanks for the time and effort you put into these.

  • @santopino2546
    @santopino2546 Před 4 lety +4

    Excellent, finally something that I will surely personally use.
    Thank you.

  • @leadeddeveloper9575
    @leadeddeveloper9575 Před 4 lety +3

    Thank you for your video, I like those ESP videos so much.
    Also, I'm planning to use ESP in my new project on my channel. It is a very exciting controller!

  • @kallereunanen1575
    @kallereunanen1575 Před 4 lety +4

    This video was useful! Thanks a lot for a very dense set of excellent tips!

  • @teddavis1840
    @teddavis1840 Před 4 lety

    Grüezi Andreas, thanks for the many hours you devote to your viewers. I appreciate your dry humour very much. I tried to find if you have created any videos on motors and actuators without success. Monitoring & control systems would seem a natural progression to your sensor projects - LoRa especially. Hopp Schwiiz!

  • @massimomalesci352
    @massimomalesci352 Před 4 lety

    Great video, Andreas, and very well explained!!!! Greetings from Italy! And I always sit in the first row!!!

  • @listerdave1240
    @listerdave1240 Před 4 lety

    Thanks a lot for this tutorial. I had been wanting (and needing) to do OTA for a long time but always wrongly assumed it would be very difficult and had in fact tried a few times without success but after watching your video I got it working in a few minutes in one of my projects.

  • @jeffbornes3986
    @jeffbornes3986 Před 2 lety

    I love the way that you did this... You made this so user friendly THANK YOU.

  • @tonyp4894
    @tonyp4894 Před 2 měsíci

    Andreas, I spent over a week trying to get OTA Basic from the Examples to work with my ESP32 Cam. Finally, I gave up and used your OTA template and it worked the first time and every time since. I can't thank you enough for taking the time to help me and those less fortunate in electronics knowledge. You're a HERO. :))

  • @borishruby7131
    @borishruby7131 Před 4 lety +2

    Hello Andreas! I really love your videos and can't wait for another one. I like the way you do it. I didn't know something like this is possible in ESP32 at all! By the way, it works also on ESP8266 as I've just found out. Thanks a lot and keep up the great work! Greetings from Slovakia!

  • @michaeldreher1372
    @michaeldreher1372 Před 4 lety

    You really nail it down in 10 minutes, that's great

  • @Sean_Cockrell
    @Sean_Cockrell Před 4 lety

    Thanks for this video, will most defiantly be testing OTA and remote debugging on my next project.

  • @ClementsProjects
    @ClementsProjects Před 4 lety

    Thanks Andreas for the explainations. I worked with this beast during the last weeks and you complete informations i needed. Thank you !

  • @mr.anonymous298
    @mr.anonymous298 Před 3 lety

    I always learn something new or interesting from your great videos!
    Thank you very much.

  • @DerTou
    @DerTou Před 4 lety

    Thank you, I have learned a lot of useful things from your videos. Looking forward to more ESP32 content :)

  • @VildanAkchurin
    @VildanAkchurin Před rokem

    Copying and pasting from sketch example works right away! PuTTY debugging works as a charm. Thank you for the clear explanation and extended OTA debugging.

  • @bobpaydar
    @bobpaydar Před 4 lety

    thanks for your all’s videos you provided to us, very helpful for me and thank again 👍🏻

  • @ivanlogghe90
    @ivanlogghe90 Před 3 lety

    Very helpful tutorial! This opens so many "ports" ;-) for new projects !!

  • @JulioSalim
    @JulioSalim Před 4 lety

    Andreas, you are "The Man". Thanks!

  • @raguaviva
    @raguaviva Před 4 lety

    I know it is Sunday when I see a new video From Andreas! So good!

  • @tonysfun
    @tonysfun Před 4 lety

    Just in nick of time for me Andreas! Thanks for several tips that will make our lives easier! You are just a machine that keeps going and going further than the battery commercial!

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety +1

      I just have a schedule ;-) And you never know how long you live in my age...

    • @tonysfun
      @tonysfun Před 4 lety

      @@AndreasSpiess I agree! I'm not the youngest either, but I have plans too.... I just admire you and the amount of work you can do!!! Wishing you health - the rest can be purchased.

  • @bombenlps7950
    @bombenlps7950 Před 4 lety

    Thank you so much, i was just thinking of a way to upload code onto a smart bulb in the future without having to resolder all the connections. But i didnt know about OTA, you are a life saver. Thank you!

  • @avieleliyahu6199
    @avieleliyahu6199 Před 4 lety

    Thank you, an educational and fun video as usual 😄

  • @dogastus
    @dogastus Před 4 lety

    Another excellent and useful video - thank you!

  • @DanielLopez-kt1xt
    @DanielLopez-kt1xt Před 3 lety

    And just by the work of your magic, i can program my esp32 ota... thank you very much! Your videos couldn't be easier to understand. This capability is perfect for an mqtt smart house.

  • @Beatfreak19831
    @Beatfreak19831 Před 4 lety

    A great and useful video! Thanks Andreas!

  • @ZookeeperJohnG
    @ZookeeperJohnG Před 4 měsíci

    Super helpful, thank you!🥸

  • @Jungmin_Seo
    @Jungmin_Seo Před 4 lety +1

    wow.. The code works flawlessly. Thanks!

  • @sergeykorzukhin2132
    @sergeykorzukhin2132 Před 4 lety

    So it is time for some refactoring in my projects :) Thank you Andreas!

  • @AndrewDanne
    @AndrewDanne Před 4 lety

    This is so cool. 1. I am just starting to learn morse code. 2. I am just getting my head around ESZP32 and 8266. 3. I am working on a battery-powered automation controlled relay and am searching for information on very very low power devices (which you have previously covered). I really enjoy your ideas and how you go about explaining them. OTA will really help with all these projects.

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety

      If you want to learn morse you have to have a look at my first videos. And if you are interested I have an updated version for the ESP32...

  • @patrickm9953
    @patrickm9953 Před 3 lety

    You made it very easy. Great tutorial

  • @temyraverdana6421
    @temyraverdana6421 Před 4 lety

    Mr. Andreas thanks, this video is amazing! Thanks!

  • @DaddyBusAdventures
    @DaddyBusAdventures Před 4 lety

    Danka viel mohl Andreas. I've played around with OTA but the debugging trick I was not aware off. Time to do some testing on my RV project where I have 8266's deployed to handle various tasks in the RV.

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety

      I am not sure if everything works the same on the ESP8266. But you can try

  • @pascallongpre7797
    @pascallongpre7797 Před 4 lety

    Awesome content! Thanks a lot!

  • @avejst
    @avejst Před 4 lety

    Great walkthrough 👍
    Thanks for sharing 👍😀

  • @MArifinDobson
    @MArifinDobson Před 4 lety +2

    I am proud to say that I am enrolling in an IoT program from ASIT (Andreas-Spiess-Institute-of-Technology).
    and "ASIT" in the first row. Love it, awesome as always~

  • @saeedkizzy
    @saeedkizzy Před 4 lety

    thanks for sharing.RTOS is a great tool in such systems.can't wait to see more about that :)

  • @djayers
    @djayers Před 4 lety

    Very helpful, thanks Andreas.

  • @HimalayanPathik
    @HimalayanPathik Před 2 lety

    Thank you so much for this awesome tute. I am now able to solve my year-old problem. Very accurate and informative tutorial. God bless you.

  • @sblantipodi
    @sblantipodi Před 4 lety

    Wonderful videos, as always

  • @vivekchauhan7468
    @vivekchauhan7468 Před 4 lety +1

    As always great video...

  • @electronic7979
    @electronic7979 Před 4 lety +1

    It was a video with useful information. I liked it

  • @souzamce
    @souzamce Před 4 lety

    Always very good classes

  • @mattmanandeddie
    @mattmanandeddie Před 4 lety

    Oh Thank You! I never knew you could debug over WiFi, that will make things easier.
    I've done an OTA update before where I forgot to add OTA code block to new sketch. I did a Face Palm, back when you could touch your face. :)
    Can't wait to see more on the long range 2.4Ghz radio.

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety

      If you refer to the satellite project I assume I will continue this or next week.

  • @MrBMohandes
    @MrBMohandes Před 4 lety

    Very nice video. Enjoyed it

  • @gaanpagla8417
    @gaanpagla8417 Před 3 lety

    Brilliant video. Now I don't have to find my data cable which has a tendency to disappear whenever I need it . Thanks so much !

    • @AndreasSpiess
      @AndreasSpiess  Před 3 lety +1

      And you even do not have to find your ESP as long as it has Wi-Fi connection ;-)

  • @JBoek30
    @JBoek30 Před 4 lety

    Wow vielen Dank !
    nice Erweiterung/Erleichterung
    Klasse Zusammenstellung !
    klappt auf anhieb : 7

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety +1

      Sollte eigentlich ;-) Vielen Dank für's Feedback.

  • @chahilpatel2993
    @chahilpatel2993 Před 4 lety +1

    Perfect Timing 👌

  • @WacKEDmaN
    @WacKEDmaN Před 4 lety +7

    funny that.. i was just setting up OTA on my ESP8266!... Great minds think alike!! :P
    nice info..as usual..Thanks Andreas :)

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety +3

      My pleasure!

    • @msuc5vette
      @msuc5vette Před 4 lety

      @@AndreasSpiess This is awesome, will the example sketch work with an ESP8266 though? The video indicated it would need someone to contribute a compatible version. I am still working through how to include the #include libraries

    • @WacKEDmaN
      @WacKEDmaN Před 4 lety

      @@msuc5vette try this one i setup after watching.... i was using a version already in ESP_AsyncFSBrowser.. i just added esp8266s needed libs wrapped in #ifdef. the ArduinoOTA calls would complain during compile on esp8266 so i fixed them too.. github.com/WacKEDmaN/ESP32-OTA/blob/master/0TA_Template_Sketch/OTA.h

    • @stonecoldcnc
      @stonecoldcnc Před 4 lety

      @@WacKEDmaN Thanks for that, seems to work fine on the Wemos D1 board but not on the ESP-07, [ERROR]: Bad Answer: ERR: ERROR[4]: Not Enough Space

    • @WacKEDmaN
      @WacKEDmaN Před 4 lety

      @@stonecoldcnc make sure the partitions are set correct... im also guessing the low flash memory ESP (eg 512k/1Mb) chips wont be able to support OTA

  • @OsoPolarClone
    @OsoPolarClone Před 4 lety

    Very interesting video. THANKS!

  • @Taran72
    @Taran72 Před 4 lety

    Wow! I had no idea it was possibile to update the Arduino this way. Thank you for getting us know.

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety

      It is not for the Arduino, it is for the Esp32

    • @Taran72
      @Taran72 Před 4 lety

      @@AndreasSpiess , ohhhhh...ok. got it as you can see I'm not familiar with the different processors. :) thank you for the clarification.

  • @hygri
    @hygri Před 4 lety +1

    Cool. I'd certainly like to see your take on RTOS, I've been using parts of it in my sketches and it looks incredibly powerful... A video from the guy with the Swiss accent would probably help many of us to get off the ground. Thanks!!

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety

      Maybe in the future, as I said...

    • @hygri
      @hygri Před 4 lety

      @@AndreasSpiess Fingers crossed ;)

  • @Thorathome
    @Thorathome Před 3 lety

    This tutorial got me quickly onto OTA for my ESP8266 & 32s, thanks. Your helpful piece of #include code makes OTA smooth for both 8266 and ESP32s. I especially like the RTOS ESP32 twist. It works. Onward to TelNet for debugging OTA and to see how this all works with Blynk, which I use all the time. Thanks, Andreas. Much appreciated.

    • @AndreasSpiess
      @AndreasSpiess  Před 3 lety

      You're welcome!

    • @Thorathome
      @Thorathome Před 3 lety

      @@AndreasSpiess This quickstart into OTA is fabulous. Your code made it easy to get my Blynk-enabled ESP32s and 8266s updating OTA with little/no problems. All very quickly, thank you. (Change the 7 to an 8 in OTA.h line 23, and it's PERFECT!) Good intro to TelNet and PuTTY as well. So simple with your guidance. Thank you once again. Most helpful.

  • @MrgnUTube
    @MrgnUTube Před 4 lety

    Thank you so much for this vidéo Andreas :)

  • @OldCurmudgeon3DP
    @OldCurmudgeon3DP Před 4 lety +4

    Very useful video, sir. I'm happy to see more code taking advantage of the ESP32. Dev boards are close enough to the 8266 in price that it's worth using the 32s even for simple projects. The extra uart is nice for Nextion screens. ITead just needs to rework their editor to be a little more user friendly.

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety +1

      The ESP32 has many advantages. So there is no real benefit in investing into ESP8266.

  • @meinsda5983
    @meinsda5983 Před 4 lety

    Great Work Andreas! What would we do without you ;)

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety

      Just drink a Sunday beer in a sunny Beergarden ? ;-)

    • @meinsda5983
      @meinsda5983 Před 4 lety

      @@AndreasSpiess Yes! I hope if you stay next time in vienna we have time together to do this and talking about technical news...

  • @B4x4
    @B4x4 Před 4 lety

    Thank you for another great episode.
    Please make the RTOS episode.

  • @Marc_Miller
    @Marc_Miller Před 3 lety

    I'm having trouble finding the video shown at 6:19 talking about using the FTDI board to read the serial connection. Which video was that in?

  • @robertnickels1527
    @robertnickels1527 Před 3 lety

    Thank you for this great tutorial, subscribed immediately - although I suspect it's getting crowded in the first row! I have Telnet remote debugging working on the ESP-01, all that's needed is to add "#include TelnetStream" and add "TelnetStream.begin();" in Setup. And I've only been playing with ESP-01 for a few days ;-)

  • @Aemilindore
    @Aemilindore Před 4 lety

    So helpful. Thanks

  • @santorcuato
    @santorcuato Před 4 lety

    Useful and necessary if you have sensors not on your workshop table but somewhere in the roof...

  • @tinygriffy
    @tinygriffy Před 2 lety

    Thank you so much !

  • @PhG1961
    @PhG1961 Před 4 lety

    Excellent and usefull !

  • @starlingwatch3921
    @starlingwatch3921 Před 11 měsíci

    Greutzi Andreas, I'm back in Zürich 18 Aug to 21, part of my older son's wedding. I'm even planning to do the Limmat swim! I hope you are having a great holiday. Thanks for this video. I am writing a BLE-based logger for ESP32 devices and will post it to the Reflections repository on Github in the coming weeks. It will support multiple devices logging to what looks like local Serial, and a central logger will display the logs. It will also work over an Internet connection to a central log server. If you already have seen something like this please let me know, so I don't waste my time re-inventing the wheel. -Frank

    • @AndreasSpiess
      @AndreasSpiess  Před 11 měsíci +1

      There are loggers like github.com/jandrassy/TelnetStream (I even made a video about it, if I remember right). But all go via WiFi.
      I wish you a pleasant stay in Switzerland and hope the weather will be fine for the wedding! At the moment, we have quite a lot of rain (which is suitable for nature, of course).

    • @starlingwatch3921
      @starlingwatch3921 Před 11 měsíci

      @@AndreasSpiess merci!

  • @DDBerlin
    @DDBerlin Před 4 lety

    Andreas, thanksfor the video. I'm sure you already know, but just for the records: OTA also works absolutelyflawless with ESP8266

  • @vipulbumb9003
    @vipulbumb9003 Před 4 lety

    Excellent 👍 Work Perfect

  • @mahm8079
    @mahm8079 Před 4 lety

    man.you are a life saver :)

  • @hafey80
    @hafey80 Před 2 lety

    very helpful... Tanks

  • @EXMattix
    @EXMattix Před 4 lety

    Thanks for all of your videos, you are going to be my favorite youtuber about microcontroller. But I recommended that if you call another video for more details, you could link in a box that video in the video. Thanks anyways for the good stuff.

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety +1

      You are welcome! Usually I place a card in the upper right corner if I mention another video.But maybe I forgot one or the other :-(

    • @EXMattix
      @EXMattix Před 4 lety

      @@AndreasSpiess yeah, maybe there is a issue with cards, but it's easy to find the video because of the numbering of your videos.

  • @alexanderm6862
    @alexanderm6862 Před 4 lety

    Thx for some interesting things

  • @theangrydev9205
    @theangrydev9205 Před 2 lety

    Many thanks!!!

  • @Zalo29
    @Zalo29 Před 4 lety

    Good tricks Andreas. Creating a mock-up sketch with OTA&credentials , so smart
    I've been using remoteDebug to get a serial port when deployed, but recently I've got some troubles with websockets. I'll try your telnet suggestion.
    Thank you so much!
    BTW, I encourage you to dig into FreeRTOS as it gives you a lot more possibilities to manage many tasks concurrently

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety +1

      I also had problems with other remote debugging libraries together with OTA. This one worked.

  • @muriloteixeira4430
    @muriloteixeira4430 Před 4 lety

    Thanks Andreas for not only being succinct, organized and creating very useful content. You are also fun and your videos are pleasurable. Now in addition to being a channel subscriber, I’ll put a zero at the beginning of my youtube username lol

  • @dukathneu
    @dukathneu Před rokem

    Great. Thanks!

  • @AjinkyaMahajan
    @AjinkyaMahajan Před 4 lety +1

    Thank you ✨😊

  • @drmocm
    @drmocm Před 4 lety

    Very interesting. I also have a trick for when you use a battery driven device that sleeps a lot, e.g. a sensor like the bme680.
    In that case loop is never reached and the device goes to sleep very fast. So, I use a loop in the setup that looks for the bme680
    and in that loop I add the OTA handle.
    All I have to do is disconnect the sensor and the device keeps looping and I can connect via OTA. You could use a switch or button
    to disconnect the sensor.

  • @simielcanguro
    @simielcanguro Před 3 lety

    you are amazing :D

  • @jstro-hobbytech
    @jstro-hobbytech Před 2 lety

    This is a great video. Best explanation on how to do it. I know I'm a little late but credit where credit is due. I use the wemos d1 and have never had to reset after an ota update. My only complaint is that espressif should've released a more powerful board by now. They're the best other than a pi zero or whatever the new wifi mini pi is called. Anything pi related in Canada that isn't a Pico is at least 115 dollars where as an esp32 is about 20 now. More program memory and a faster cpu like the teensy has been doing for years but the teensy is 60cad.

    • @AndreasSpiess
      @AndreasSpiess  Před 2 lety

      I most of the time use the ESP32 which is much stronger than the ESP8266 and not much more expensive...

    • @jstro-hobbytech
      @jstro-hobbytech Před 2 lety

      @@AndreasSpiess the chip shortage has affected esp32 modules. Where you used to get 5 for 30 dollars, 2 for 30 is the going rate while the 8266 is now 5 for 50. It's made me realize (which is somewhat contradictory to what I said previously) the 8266 can do alot of the same things I need without any appreciable notice in lag for some of the devices I make. They're nothing special, just iot devices that do simple things usually lighting related. Haha. I've been doing alot more circuit stuff recently, like learning more about passive component along with digital logic ics, respectively. I have more of a software background than hardware and I find that more interesting learning wise.

  • @kevinfine9303
    @kevinfine9303 Před 3 lety +2

    Hi Andreas, very useful video, as always. You've helped me a lot with my projects!
    I wanted to mention a correction to your description of OTA. It appears that the ESP32 maintains two areas of memory, OTA1 and OTA2. The Esspressif OTA mechanism always loads the new firmware in the unused portion, and, if successful, switches over the boot pointer to the new area of memory. Thus the previous firmware is not written over as implied in the video, and is available for a rollback. This from docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/ota.html
    Again, thanks for all your help, and also, Grüezi from Yverdon!

    • @AndreasSpiess
      @AndreasSpiess  Před 3 lety

      You are right. Because it happens on the background I did not want to make it more complicated than necessary.

  • @stonecoldcnc
    @stonecoldcnc Před 4 lety

    Thank you very much for that, very helpful explanation. Could you please explain what this line is for "unsigned long entry;" in the 0TA_Template_Sketch.ino?

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety

      Maybe I forgot to delete it if it is not used

  • @ZiGLH
    @ZiGLH Před 8 měsíci

    Thanks a lot!

  • @toddpichler8578
    @toddpichler8578 Před 4 lety +1

    Hello Andreas, Thank you for another great example. I finally got it working but I struggled a bit because I decided to use VSCode and PlatformIO (one of your other awesome videos). The part that stumped me was the way PlatformIO automatically selects the upload connection. Normally that is a good thing but I wanted to test the OTA connection. It turns out I needed to add a line to the platform.ini file like this "upload_port = " where "" is the value printed to the serial monitor. Maybe that will help someone else. Thanks again!

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety

      There were a few other comments about the same fact. So you are not the only ;-)

  • @JohnJCouture
    @JohnJCouture Před 3 lety

    Andreas, great job! Works like a charm. is there a way to SET the upload IP address? The IPAddress command doesn't seem to work. I suspect it has to do with the placement of the IPAddress command?

    • @AndreasSpiess
      @AndreasSpiess  Před 3 lety

      The IP address is usually given by your network.

  • @KarthickRobo
    @KarthickRobo Před 3 lety

    nice it works

  • @peerappel2012
    @peerappel2012 Před 4 lety +10

    Thanks very much! More information about RTOS would be great imo. Also cant the otahandle function be called every once in a while by a timer interrupt? Especially as it doesnt take to much time anyways.

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety

      Try it, maybe it will work. I do would not like this structure.

    • @michaeldreher1372
      @michaeldreher1372 Před 4 lety

      ​@@AndreasSpiess Use another thread, not an interrupt.

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety

      Another task did not work :-(

    • @michaeldreher1372
      @michaeldreher1372 Před 4 lety +2

      ​@Andreas Spiess : I tried it and also and had some problems, but I was able to fix them:
      1. I had to reduce the sleep time between the calls to 5ms (10ms is too long)
      2. I had to increase the stack size to at least 1900 byte, (1800 byte is not enough)
      call this in setup():
      TaskHandle_t xOTATaskHandle = NULL;
      xTaskCreate( vOTATaskCode, "OTA", 2048, NULL, 1, &xOTATaskHandle);
      define the task function and remove the 'ArduinoOTA.handle()' call from loop():
      void vOTATaskCode( void * pvParameters ) {
      for(;;) {
      sleep(5);
      ArduinoOTA.handle();
      }
      }

    • @WistrelChianti
      @WistrelChianti Před 3 lety

      @@michaeldreher1372 @Andreas Spiess I've managed to get this working slightly differently to Michael but had to change a few things. Mind if I send a pull request with the updates? (I'll have to do them in a tidy way first, currently code is full of debug prints)

  • @VladimirErmakov
    @VladimirErmakov Před 4 lety +3

    Also small note about upload: image was uploaded to one of two partitions (free one), then if all ok and md5 match, bootloader would be told to switch to use that partition. So nothing to memmove. (i may be not accurate, digging into the code a few years ago to check what's wrong with http ota, and i don't know what is used for SPIFFS, because i only use it to store config.json).

  • @foskolo
    @foskolo Před 3 lety

    Grüezi Andreas, great video again!
    The sketches I dowloaded from your link are quite different from them of the video ("#define ESP32_RTOS " at the begin of the "0TA_Template_Sketch" for example ).
    Can I use them without changes with an ESP32 (except SSID and password of course)?
    Thank you!

    • @AndreasSpiess
      @AndreasSpiess  Před 3 lety

      I do not remember the details. I would just try it ;-)

  • @JesusCendejas-uv1xr
    @JesusCendejas-uv1xr Před 3 lety

    we can save the library in the epprom memory ? with this form we don’t need to use the library because we have in the bootlouder

    • @AndreasSpiess
      @AndreasSpiess  Před 3 lety +1

      You can do a lot of things if you want. Current C++ architecture compiles and links the libraries into one bin file.

  • @AdamAdam-qt5kt
    @AdamAdam-qt5kt Před rokem

    Hello, thanks forvthe video, do you know how i can perform ota using esp32-idf over gsm module?

  •  Před 4 lety

    This video already helped me at 2:50... i never thought there are different partitioning schemes on ESP32s, since i had only 4 option in that menu by using a Lolin32 option. I am writing thing with lots of libraries and i run out of space. I will try these, i think it will help already.

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety

      Available partitions depend on the board you select.

  • @FunkyHotDog
    @FunkyHotDog Před 2 lety

    Hello Andreas! Is this method possible to modify to using BLE? I would like to create a peripheral that is using BLE and has OTA.

    • @AndreasSpiess
      @AndreasSpiess  Před 2 lety

      I never saw OTA using BLE so far. Which does not mean it does not exist ;-)

  • @Thorathome
    @Thorathome Před 4 lety

    Thanks, Andreas. Just the two hints on creating your own sketch templates and #include "MY_WIFI_CREDENTIALS.h" made my day. Brilliant time-savers.

  • @jamesgoacher1606
    @jamesgoacher1606 Před 4 lety

    Very interesting but above my familiararity ? level at the moment. Will need to get back to this when I have done more.

  • @soumitradey8208
    @soumitradey8208 Před 4 lety

    Wonderful

  • @blunoz2907
    @blunoz2907 Před 4 lety

    Great video as always. What do you think about offloading the OTA functionality to the second core? Might keep the main sketch cleaner.
    Also I’ve struggled to get remote debug working with Platform IO. Would love you to delve into this in a future video.

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety

      1. I see no advantage to "offload" 41 microseconds to another core. Maybe in another process would be a possibility.
      2. I will not cover platformIO on this channel other than teasers. Most of my viewers are on Arduino IDE