#332

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 พ.ค. 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
  • วิทยาศาสตร์และเทคโนโลยี

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

  • @georglinde3910
    @georglinde3910 4 ปีที่แล้ว +81

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

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

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

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

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

    • @systemofapwne
      @systemofapwne 4 ปีที่แล้ว

      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 3 ปีที่แล้ว +1

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

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

      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!

  • @PeterAlbronda
    @PeterAlbronda 4 ปีที่แล้ว +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  4 ปีที่แล้ว

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

  • @pcost
    @pcost 4 ปีที่แล้ว +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  4 ปีที่แล้ว +3

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

    • @PranavSharma2504
      @PranavSharma2504 4 ปีที่แล้ว +1

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

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

    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  3 ปีที่แล้ว

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

  • @listerdave1240
    @listerdave1240 4 ปีที่แล้ว

    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.

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

    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!

  • @paulrichard8912
    @paulrichard8912 4 ปีที่แล้ว

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

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

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

  • @leadeddeveloper9575
    @leadeddeveloper9575 4 ปีที่แล้ว +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!

  • @Sean_Cockrell
    @Sean_Cockrell 4 ปีที่แล้ว

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

  • @krishnanov21
    @krishnanov21 4 ปีที่แล้ว +16

    Just when I needed it! Thank you🙌

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

      Perfect!

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

      ​@@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?

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

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

  • @borishruby7131
    @borishruby7131 4 ปีที่แล้ว +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!

  • @VildanAkchurin
    @VildanAkchurin 10 หลายเดือนก่อน

    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.

    • @AndreasSpiess
      @AndreasSpiess  10 หลายเดือนก่อน

      Glad it helped!

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

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

  • @massimomalesci352
    @massimomalesci352 4 ปีที่แล้ว

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

  • @tonyp4894
    @tonyp4894 หลายเดือนก่อน

    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. :))

    • @AndreasSpiess
      @AndreasSpiess  หลายเดือนก่อน

      Glad I could help!

  • @ClementsProjects
    @ClementsProjects 4 ปีที่แล้ว

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

  • @michaeldreher1372
    @michaeldreher1372 4 ปีที่แล้ว

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

  • @bombenlps7950
    @bombenlps7950 4 ปีที่แล้ว

    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!

  • @JulioSalim
    @JulioSalim 4 ปีที่แล้ว

    Andreas, you are "The Man". Thanks!

  • @bobpaydar3210
    @bobpaydar3210 4 ปีที่แล้ว

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

  • @DerTou
    @DerTou 4 ปีที่แล้ว

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

  • @mr.anonymous298
    @mr.anonymous298 3 ปีที่แล้ว

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

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

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

  • @tonysfun
    @tonysfun 4 ปีที่แล้ว

    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  4 ปีที่แล้ว +1

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

    • @tonysfun
      @tonysfun 4 ปีที่แล้ว

      @@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.

  • @DanielLopez-kt1xt
    @DanielLopez-kt1xt 3 ปีที่แล้ว

    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.

  • @DaddyBusAdventures
    @DaddyBusAdventures 4 ปีที่แล้ว

    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  4 ปีที่แล้ว

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

  • @raguaviva
    @raguaviva 4 ปีที่แล้ว

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

  • @sergeykorzukhin2132
    @sergeykorzukhin2132 4 ปีที่แล้ว

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

  • @MArifinDobson
    @MArifinDobson 4 ปีที่แล้ว +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~

    • @AndreasSpiess
      @AndreasSpiess  4 ปีที่แล้ว +1

      Glad you think so! ASIT - I love it!

    • @MArifinDobson
      @MArifinDobson 4 ปีที่แล้ว

      @@AndreasSpiess Thank you prof :D

  • @saeedkizzy
    @saeedkizzy 4 ปีที่แล้ว

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

  • @dogastus
    @dogastus 4 ปีที่แล้ว

    Another excellent and useful video - thank you!

  • @AndrewDanne
    @AndrewDanne 4 ปีที่แล้ว

    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  4 ปีที่แล้ว

      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...

  • @Taran72
    @Taran72 4 ปีที่แล้ว

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

    • @AndreasSpiess
      @AndreasSpiess  4 ปีที่แล้ว

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

    • @Taran72
      @Taran72 4 ปีที่แล้ว

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

  • @ZookeeperJohnG
    @ZookeeperJohnG 2 หลายเดือนก่อน

    Super helpful, thank you!🥸

    • @AndreasSpiess
      @AndreasSpiess  2 หลายเดือนก่อน

      You are welcome!

  • @hygri
    @hygri 4 ปีที่แล้ว +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  4 ปีที่แล้ว

      Maybe in the future, as I said...

    • @hygri
      @hygri 4 ปีที่แล้ว

      @@AndreasSpiess Fingers crossed ;)

  • @avejst
    @avejst 4 ปีที่แล้ว

    Great walkthrough 👍
    Thanks for sharing 👍😀

  • @avieleliyahu6199
    @avieleliyahu6199 4 ปีที่แล้ว

    Thank you, an educational and fun video as usual 😄

  • @temyraverdana6421
    @temyraverdana6421 4 ปีที่แล้ว

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

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

    You made it very easy. Great tutorial

  • @chahilpatel2993
    @chahilpatel2993 4 ปีที่แล้ว +1

    Perfect Timing 👌

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

    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.

  • @pascallongpre7797
    @pascallongpre7797 4 ปีที่แล้ว

    Awesome content! Thanks a lot!

  • @Jungmin_Seo
    @Jungmin_Seo 4 ปีที่แล้ว +1

    wow.. The code works flawlessly. Thanks!

  • @Beatfreak19831
    @Beatfreak19831 4 ปีที่แล้ว

    A great and useful video! Thanks Andreas!

  • @B4x4
    @B4x4 4 ปีที่แล้ว

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

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

    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  3 ปีที่แล้ว

      You're welcome!

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

      @@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.

  • @OldCurmudgeon3DP
    @OldCurmudgeon3DP 4 ปีที่แล้ว +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  4 ปีที่แล้ว +1

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

  • @mattmanandeddie
    @mattmanandeddie 4 ปีที่แล้ว

    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  4 ปีที่แล้ว

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

  • @WacKEDmaN
    @WacKEDmaN 4 ปีที่แล้ว +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  4 ปีที่แล้ว +3

      My pleasure!

    • @msuc5vette
      @msuc5vette 4 ปีที่แล้ว

      @@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 4 ปีที่แล้ว

      @@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 4 ปีที่แล้ว

      @@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 4 ปีที่แล้ว

      @@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

  • @djayers
    @djayers 4 ปีที่แล้ว

    Very helpful, thanks Andreas.

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

    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  3 ปีที่แล้ว +1

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

  • @santorcuato
    @santorcuato 4 ปีที่แล้ว

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

  • @souzamce
    @souzamce 4 ปีที่แล้ว

    Always very good classes

  • @electronic7979
    @electronic7979 4 ปีที่แล้ว +1

    It was a video with useful information. I liked it

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

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

  • @vivekchauhan7468
    @vivekchauhan7468 4 ปีที่แล้ว +1

    As always great video...

  • @JBoek30
    @JBoek30 4 ปีที่แล้ว

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

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

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

  • @DDBerlin
    @DDBerlin 4 ปีที่แล้ว

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

  • @OsoPolarClone
    @OsoPolarClone 4 ปีที่แล้ว

    Very interesting video. THANKS!

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

    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  3 ปีที่แล้ว +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 3 ปีที่แล้ว

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

  • @blunoz2907
    @blunoz2907 4 ปีที่แล้ว

    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  4 ปีที่แล้ว

      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

  • @sblantipodi
    @sblantipodi 4 ปีที่แล้ว

    Wonderful videos, as always

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

    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 ;-)

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

      Welcome aboard of the channel!

  • @meinsda5983
    @meinsda5983 4 ปีที่แล้ว

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

    • @AndreasSpiess
      @AndreasSpiess  4 ปีที่แล้ว

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

    • @meinsda5983
      @meinsda5983 4 ปีที่แล้ว

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

  • @Zalo29
    @Zalo29 4 ปีที่แล้ว

    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  4 ปีที่แล้ว +1

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

  • @drmocm
    @drmocm 4 ปีที่แล้ว

    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.

  • @starlingwatch3921
    @starlingwatch3921 9 หลายเดือนก่อน

    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  9 หลายเดือนก่อน +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 9 หลายเดือนก่อน

      @@AndreasSpiess merci!

  • @jstro-hobbytech
    @jstro-hobbytech 2 ปีที่แล้ว

    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  2 ปีที่แล้ว

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

    • @jstro-hobbytech
      @jstro-hobbytech 2 ปีที่แล้ว

      @@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.

  • @peerappel2012
    @peerappel2012 4 ปีที่แล้ว +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  4 ปีที่แล้ว

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

    • @michaeldreher1372
      @michaeldreher1372 4 ปีที่แล้ว

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

    • @AndreasSpiess
      @AndreasSpiess  4 ปีที่แล้ว

      Another task did not work :-(

    • @michaeldreher1372
      @michaeldreher1372 4 ปีที่แล้ว +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 3 ปีที่แล้ว

      @@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)

  • @alexanderm6862
    @alexanderm6862 4 ปีที่แล้ว

    Thx for some interesting things

  • @necrodrucifver
    @necrodrucifver 8 หลายเดือนก่อน

    I am going to experiment setting the handler on the setup, expecting been able to upload code only when the bard is rebooted, thank you! Very nice videos, please consider a video to code read protection on esp32

    • @AndreasSpiess
      @AndreasSpiess  8 หลายเดือนก่อน +1

      As I like open source I have no need for code protection ;-)

  • @toddpichler8578
    @toddpichler8578 4 ปีที่แล้ว +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  4 ปีที่แล้ว

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

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

    Thank you so much !

  • @vipulbumb9003
    @vipulbumb9003 4 ปีที่แล้ว

    Excellent 👍 Work Perfect

  •  4 ปีที่แล้ว

    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  4 ปีที่แล้ว

      Available partitions depend on the board you select.

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

    Hi Andreas, great video as always! Do you know if this is also possible with VS Code and platformio? I completely switched over from the Arduino ide (which is great for starters, but not so much when you have large and diverse projects.

    • @AndreasSpiess
      @AndreasSpiess  4 ปีที่แล้ว

      I think it is possible, too

    • @MasseyLee
      @MasseyLee 4 ปีที่แล้ว

      @@AndreasSpiess Did you stop using PlatformIO and go back to Arduino IDE ?

    • @MennoLauwerens
      @MennoLauwerens 4 ปีที่แล้ว +1

      Yes, it also works from platformIO.
      I use it all the time.

    • @ulwur
      @ulwur 4 ปีที่แล้ว

      @@MennoLauwerens do you mind showing or explaining how you did the template stuff and how to do the wireless uploading?

    • @MennoLauwerens
      @MennoLauwerens 4 ปีที่แล้ว +1

      @@ulwur Just set these options in platformio.ini:
      board_build.partitions = min_spiffs.csv ; See:github.com/espressif/arduino-esp32/tree/master/tools/partitions
      ;upload_port = COM5
      upload_protocol = espota
      upload_port = 192.168.0.35 ; IP of the ESP32
      The rest is identical to this video.

  • @MrBMohandes
    @MrBMohandes 4 ปีที่แล้ว

    Very nice video. Enjoyed it

  • @kevinfine9303
    @kevinfine9303 3 ปีที่แล้ว +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  3 ปีที่แล้ว

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

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

    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  3 ปีที่แล้ว

      The IP address is usually given by your network.

  • @AjinkyaMahajan
    @AjinkyaMahajan 4 ปีที่แล้ว +1

    Thank you ✨😊

  • @stupossibleify
    @stupossibleify 4 ปีที่แล้ว

    Thanks Andreas, your chosen topics are always interesting and very relevant. OTA is simpler than I thought. By the way, at the start of your videos are you saying "Greeting TH-camrs" or "Pretty TH-camrs"? Either is fine 😁

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

      He says "Grüezi TH-camrs", which is Swiss for "Hello TH-camrs" :-)

    • @stupossibleify
      @stupossibleify 4 ปีที่แล้ว

      @@nkronert thank you!

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

      haha I always wondered too :D now I know :D

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

    Hi Andreas, thanks for another great video. I was wondering: Would the ArduinoOTA.handle() call be a candidate to live in an RTOS Task? -- This way, you might not need to scatter calls to it all over the code. Thoughts? Thanks again.

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

      You are right. Maybe you watch my RTOS video. There I place it in the loop(task)

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

      @@AndreasSpiess you are ahead of me! :)

  • @user-xp6ms4wq2v
    @user-xp6ms4wq2v 3 ปีที่แล้ว

    Thanks for tutorial! Also one note - better to disable all interrupts right in begining of on ArduinoOTA.onStart function. As I see on my sketch with Ticker library - OTA not likes if someone interrupts it while transmission ) So I called .detach commands in begining of OTA.onStart

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

      If you do not attach interrupts it should not be a problem, I assume. But disabling them is for sure not wrong.

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

    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  3 ปีที่แล้ว

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

  • @Aemilindore
    @Aemilindore 4 ปีที่แล้ว

    So helpful. Thanks

  • @stonecoldcnc
    @stonecoldcnc 4 ปีที่แล้ว

    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  4 ปีที่แล้ว

      Maybe I forgot to delete it if it is not used

  • @ejennings98
    @ejennings98 4 ปีที่แล้ว

    Excellent Video! I am more inspired to use ESP32's for future projects.
    Is there a way to manually set the IP address for the ESP32 so the OTA has a fixed IP?

    • @AndreasSpiess
      @AndreasSpiess  4 ปีที่แล้ว +1

      I think so, but I do it on my router to be sure to not have collisions.

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

    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?

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

    very helpful... Tanks

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

    Many thanks!!!

  • @AJMansfield1
    @AJMansfield1 4 ปีที่แล้ว

    Instead of putting `ArduinoOTA.handle()` in your main loop, you should be able to set up an independant timer interrupt and have it run from there, as extra insurance in case `loop` (or for that matter, the rest of `setup`) crashes or delays or gets stuck in some way.
    edit: Actually you do address this briefly with your comment about setting up an RTOS task, which is probably a "more proper" way to do it than a raw interrupt.

  • @Thorathome
    @Thorathome 4 ปีที่แล้ว

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

  • @mahm8079
    @mahm8079 4 ปีที่แล้ว

    man.you are a life saver :)

  • @jamesgoacher1606
    @jamesgoacher1606 4 ปีที่แล้ว

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

    • @AndreasSpiess
      @AndreasSpiess  4 ปีที่แล้ว

      This seems to be a good plan!

  • @lemd49
    @lemd49 4 ปีที่แล้ว

    Thanks Andreas.
    Off-topic: Just discovered digi modes and in particular FT8. Do you use it ? 73, EA4GIL

    • @AndreasSpiess
      @AndreasSpiess  4 ปีที่แล้ว

      No, I have no shortwave antenna :-(

    • @lemd49
      @lemd49 4 ปีที่แล้ว

      @@AndreasSpiess 😲. I was also without but finally got a HyEndFed from the dutch guys and so happy with it (10,15,20,40 meters)

  • @mplacona
    @mplacona 4 ปีที่แล้ว

    As usual you oust a video about a functionality I’m currently working on and it ends up being massively useful. Can your template be used by an esp-8266 as well? I like using the wemos d1 mini because of its size.

    • @mplacona
      @mplacona 4 ปีที่แล้ว +1

      Answering my own question: No. But i have made a few changes to it and published it here and now it works well with the ESP8266 github.com/mplacona/ESP8266-OTA

    • @HiruS22
      @HiruS22 4 ปีที่แล้ว

      @@mplacona Thanks, I was wondering the same

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

    I have been very impressed using the OTA option to upload the bin file from a web browser rather than via the Arduino IDE. This is very handy if you have created a ESP project for someone else as you can send them the bin file and they can update it themselves.
    You can see how I use it here: github.com/alanesq/BasicWebserver

    • @msuc5vette
      @msuc5vette 4 ปีที่แล้ว

      this also looks like a very cools solution, however Arduino IDE is rejecting the library zip file, even after renaming the subfolder. Any advise, or a tutorial link?

    • @alanesq1
      @alanesq1 4 ปีที่แล้ว

      ​@@msuc5vette Hi, You need to manually unzip the file and copy the files to your arduino library folder.
      BTW - I have just noticed I give the wrong password in the instructions, it should be 12345678
      I have just uploaded a newer version of the sketch which asks for a password to access OTA (Not very secure but a lot better than nothing)

    • @AndreasSpiess
      @AndreasSpiess  4 ปีที่แล้ว

      @alanesq: This is where IOTappstory began...

  • @collinsabraham8590
    @collinsabraham8590 ปีที่แล้ว

    Hello Andreas, thanks a lot for the tutorial, I am new to microcontrollers and I have a little question.
    Please is it possible to link the Esp32 to the python IDE over the air just as you've done, but in a way that it sends data from a sensor, directly to the IDE so that I can manipulate the data with other blocks of code within the IDE?

    • @AndreasSpiess
      @AndreasSpiess  ปีที่แล้ว

      You can use MicroPython with the ESP32.