Great tutorial. You speak very clearly and at a rate that can be absorbed by a learner. Well done!
@datasith5 жыл бұрын
Thank you for the kind comment. I certainly try my best, and feel I've improved over time (still ways to go). I'm glad people like yourself find it useful. Thanks for watching!
@pcb19626 жыл бұрын
Very good, thank you. I'm already using your '15 second from restart' idea on my light switches, together with Andreas's reed switch idea for the reset, now I don't need to bother with the reed switch, thank you!
@datasith6 жыл бұрын
It's awesome to hear that this is useful for an actual project. Thanks for sharing that info with me!
@sprink885 жыл бұрын
Cisco - thank you so much for your tutorials. I went from zero to (very nearly) hero RE ESP8266 and OTA with these two tutorials. Simple, well explained, and no showing off... (apart from that neat trick with the LED - digitalWrite(2, !digitalRead(2)); ) That is cool! Thanks++
@datasith5 жыл бұрын
thank you for the kind comment, it makes me really happy to hear that you enjoyed it and thought it was useful!
@bradygrady77873 жыл бұрын
Sorry to be offtopic but does someone know a method to get back into an instagram account? I stupidly lost the login password. I would love any help you can offer me!
@immanuelhassan90723 жыл бұрын
@Brady Grady Instablaster :)
@bradygrady77873 жыл бұрын
@Immanuel Hassan Thanks so much for your reply. I found the site thru google and I'm in the hacking process atm. Seems to take quite some time so I will reply here later with my results.
@bradygrady77873 жыл бұрын
@Immanuel Hassan It worked and I finally got access to my account again. Im so happy! Thank you so much, you saved my ass!
@kallenanka126 жыл бұрын
Thankyou , this is what I kneed, very clear and informative explenation for us who still is new to OTA. I like Your videos, please keep making them for us. Once again, a big thanx!
@datasith6 жыл бұрын
Thank you for watching the video and for the kind comment. I'm glad you liked it!
@UNgineering3 жыл бұрын
so simple yet so elegant! i've just started messing with OTA programming and kept running into a wall with http server and OTA running side by side. i did one thing differently though - i implemented an async wait function, so it's not blocking the main loop.
@harryjunior83774 жыл бұрын
Brilliant tutorial Thank you very much. I just wanted to add a finding of my own... If you open a second instance of Adruino and set port to the USB Com Port you can still have access to the Serial monitor in the second Arduino IDE whilst still be able upload via WiFi from the First Adduino IDE. Handy for debugging. Harry
@datasith4 жыл бұрын
Thanks for the kind words. That's awesome, thanks for sharing!
@alcidesmarcano6 жыл бұрын
Very useful video Cisco! Thanks
@datasith6 жыл бұрын
You're welcome Alcides, I'm glad you found it useful!
@sulaimangari27455 жыл бұрын
thank you, have been looking for this
@datasith5 жыл бұрын
I'm glad you found it useful!
@makerun69274 жыл бұрын
Very Nice Explanation
@datasith4 жыл бұрын
Thanks and welcome to my channel!
@MayankArora24 жыл бұрын
Nice demo and tutorial. Thanks
@SoilHealthpk4 жыл бұрын
Very good tutorial - thanks
@BatNenko-NJS3 жыл бұрын
Very good tutorial 👌 👍 👏 this is a great function!
@bravekhan44706 жыл бұрын
love u bro for such informative videos. God bless you.
@datasith6 жыл бұрын
Awesome! I'm happy you found the content useful.
@hammasmajeed37156 жыл бұрын
Thanks, you are making very useful video. keep it up (y)
@datasith6 жыл бұрын
You're welcome! I'm glad you find it useful.
@leedevries56605 жыл бұрын
It worked quite OK, but I found that on a running system with 6 MQTT nodes which run all the time, if I turned up with my notebook to upgrade firmware on any node, the Arduino IDE does not see the controllers WiFi port. It only sees the port when ArduinoOTA.handle() is executed. What I do is I execute that function once a minute WHEN THE OTA flag is NOT set. At most the laptop only has to wait for a minute before the WiFi ports are recognized.
@datasith5 жыл бұрын
I'm glad you were able to work things out!
@bgable77074 жыл бұрын
How to regain access to the ip address port from the IDE Another solution is to add a "fake programmer" to the "Tools" menu drop down. 1st, on Windows10, find the file "programmers.txt" . The one that worked for me was: C:\Users\joe\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.3\programmers.txt. 2. Add the following lines at the bottom of programmers.txt file, save it, restart the IDE. # ESP Wemos #2 50:02:91:AA:BB:CC (just a comment line) arduinoOTA142.name=ESP-Wemos-OTA (Drop down menu text) arduinoOTA142.program.tool=arduinoOTA (Don't know, just part of the IDE code) arduinoOTA142.ip=192.168.10.142 (The static dhcp IP addr) 3. Select "Tools", scroll down to Programmers and your devices should show up there. This is used instead of the com port which you typically choose. Note: I reserve my IP's in my router's DHCP pool, ie, MAC to IP is always the same. See "OTA Upload from IDE without 'network port'" in the article at: github.com/jandrassy/ArduinoOTA
@lodesmets98156 жыл бұрын
Very useful and well explained video
@datasith6 жыл бұрын
Thanks, Lode, for the kind words. I'm glad you found it useful!
@ericBcreator4 жыл бұрын
Nice informative videos about OTA programming! I've been thinking about implementing it in some of my projects as well. Why didn't you choose to just call the OTA.handle in the main loop, say every second? Performance issues? Or would the Arduino IDE time out (does it need a continuous handle loop)?
@datasith4 жыл бұрын
Thanks! Yup, your instincts are correct. Whereas you can get it to work, if you start adding more tasks in your main loop like reading from sensors, moving motors, etc., then timing becomes an issue and OTA will suffer. With beefier processors like the ESP32 you can bypass this by using a separate core, but for the ESP8266 what I used is one of the better ways of handling OTA. HTH!
@masar-at6 жыл бұрын
this is helpfull. thank you
@datasith6 жыл бұрын
You're very welcome, John. It makes me happy you found it useful!
@neilvermeulen52835 жыл бұрын
Thank you Cisco.
@datasith5 жыл бұрын
No problem, Neil. Thank _you_ for being a viewer all this time!
@originalthehrao3 жыл бұрын
what is the point of OTA if serial monitor is not supported. is it possible to direct the serial port data to a webserver so the serial port output can be seen on the webpage.
@chandanbhatia33824 жыл бұрын
Thanks for video. I am facing one issue, Not sure if its IDE issue or something else. I tried your code from github but I am unable to find any option to see network port in Tools->Port. I can see only COM ports option. Any suggestion? I m using latest Arduino IDE 1.8.12 in widows 10. Do we have any other option to validate.
@MrDenisJoshua5 жыл бұрын
I tryed on NodeMCU and the webserver it's ok. I then choose the net port and put NodeMCU in Restarting... Then I take an error: "07:00:00 [ERROR]: No Answer" :-( Can you help me please ? Thanks a lot
@datasith5 жыл бұрын
After flashing the OTA firmware over serial, physically reset the NodeMCU before doing OTA (don't hold down the button, just press it once). After a few seconds, you should be able to upload the new firmware from the net port. Let me know if that works!
@balkrishnasoni88063 жыл бұрын
@@datasith I have same problem, I did reset ESP, but still same error - NO answer
@googleuser68752 жыл бұрын
Great!
@AdityaSingh-in9lr2 жыл бұрын
Hey, I want to use NodeMCU ESP8266 to flash code on STM32 based MCU, what are the steps should I take ?
@madhukeshnp5 жыл бұрын
Brilliant!
@datasith5 жыл бұрын
Thank you!
@atonesir4 жыл бұрын
Your videos have really helped me learn the 8266, and the OTA stuff is awesome. However, no one ever really takes it to the next step to show how to incorporate code within the OTA feature -- Even a basic water sensor sketch. So, how does one make full-featured sketches incorporate into OTA code?
@datasith4 жыл бұрын
you're right, i'll add it to the list! thanks for watching!
@lawaver4 жыл бұрын
@@datasith Hi, thanks for your excellent videos. I also need to know how and where to insert my code in your OTA code. Do you have any idea when this will be available. Kind regards....
@asishtechnovia Жыл бұрын
Is it possible to do this process if the arduino and system are not conected to the same Wi-Fi. I want to know if we can do this if both are connected via internet, at two different locations
@maxr3825 жыл бұрын
Thank you for this video. Very helpfull. I see you modified w/in loop, but can one also modify setup section?
@datasith5 жыл бұрын
Thanks! Yes you can also modify the setup section.
@ArtyMars2 жыл бұрын
Bro is Jacked :P
@vishalalex4 жыл бұрын
Thanks. I have seen some firmwares that allows ota upgrade via wifi without going through lots of code. If you are aware, pls make a video about it.
@rayleblanc72093 жыл бұрын
I have a mega 2560(ch340) pro micro running my project. Can sketches be uploaded wirelessly through an esp32 UART ports ?
@TheAlibigdeli6 жыл бұрын
very nice topic like always great, but as i saw you missed about telling linux users about "avahi" installation to be able to use mdns :) thanks again
@TheAlibigdeli6 жыл бұрын
o btw take a look at this might come handy tttapa.github.io/ESP8266/Chap01%20-%20ESP8266.html
@datasith6 жыл бұрын
Good point! My thinking is that Linux users should be able to figure it out :) Thanks for sharing the link!
@The_Unobtainium4 жыл бұрын
It's just so good. Could make a video how to optimize the OTA code to avoid that annoying 15 sek delay? Maybe we can use some script to poll esp8266 for reset and start OTA immediately?
@datasith4 жыл бұрын
Heya, funnily enough, I made one already without the annoying delay: kzbin.info/www/bejne/nXeuY3h6g9V8m68 HTH!
@PowerJiang6 жыл бұрын
Hi Cisco, ESP01 also have procedure problem in OTA. As we know, ESP01 is programmed in shorting GPIO0 to GND. Normal operation in open of GPIO0. This also a good challenge for me. Do you have good idea ?
@datasith5 жыл бұрын
What's the problem, you can load OTA software once, and then each time after you upload the code using OTA. Am I missing something? Sorry for the late reply!
@dozog5 жыл бұрын
One problem I see for larger code. You opened your IDE and made small modification to a rather bigger code than this minimalistic example. You want to upload, so you go to your browser and type the setflag thing. Now you will have 15 seconds to close your IDE, open it again, find and select the OTA port in the IDE and hit upload. As far as I understand the procedure, the IDE will at least have to start sending data to the device within 15 seconds. That's not realistic with bigger code. Or does your sketch broadcast it's OTA port even when the ota_flag is not set?
@datasith5 жыл бұрын
Old sketch waited 15 seconds. New sketch doesn't. You can configure the OTA flag with an HTTP request.
@daedalus54835 жыл бұрын
Hello Cisco, thank you very much for your work. It doesn't necessarily have something to do with the content of this video, however, I was wondering how one can regain access to error messages, especially those in ArduinoOTA.onError, without a terminal window. Thank you for your time.
@datasith5 жыл бұрын
One idea would be to log them to a file on SPIFFS, which would be accessible from a webpage (i.e., creating a route that filestreams the file). What do you think?
@Ed196013 жыл бұрын
Honestly I dont understand what you are trying to show here. I have been using OTA long time already and the OTA handle does not interfere at all and I can update over the air any time I want
@seantalbot31786 жыл бұрын
Hi Cisco, Two great videos, thank you. I am using two boards, i.e. an ESP32OLED (wifi and BT) and a Wemos D1 (wifi). The sketch compiles fine for both boards, but the wifi com port only appears for the ESP32. The OTA functionality works well on the ESP32. When I plug in the D1, and change boards on the IDE, the wifi com port disappears. Naturally I have run through the same setup steps for the D1. Any ideas? Thanks
@datasith5 жыл бұрын
That's very off, I wonder why. If the code uploads to the Wemos D1, it means that the board is okay so it's a software thing. I realize it's been 8 months so hopefully you figured it out, if not, by all means let me know (apologies for the late reply).
@vtech87166 жыл бұрын
very good
@datasith6 жыл бұрын
Thank you! I'm glad you liked it.
@alx84392 жыл бұрын
Why to spin up the whole web server to manipulate with this, instead of just keep calling OTA.handle() in the program main loop unconditionally
@harveyschneider96445 жыл бұрын
If the upload fails at 0% the firewall on your computer is blocking the ESP from downloading the file.
@datasith5 жыл бұрын
Thanks for sharing, Harvey!
@EnergeticWaves5 жыл бұрын
what is the t for in uint8_t
@datasith5 жыл бұрын
Don't mean this as disrespectful: google it.
@johnacsyen6 жыл бұрын
Can you provide the link for the CH340g driver
@datasith6 жыл бұрын
It's in the video description under "Detailed guide for getting started with the WeMos ESP8266 Development Board..."
@belenjimenezg6 жыл бұрын
Hi! I have ESP32. I'm using the library httpUpdate for OTA Updates. What is the difference between httpUpdate and ArduinoOTA? Thanks
@datasith6 жыл бұрын
Outside of a few function calls it should work just the same. Thanks for watching my videos!
@chndrakntpatil5 жыл бұрын
I am getting no answer error message. I tried every thing. No use. Have esp8266 12e. And use arduino r3 and jumper wire to flash initially. Ota doesn't work.
@datasith5 жыл бұрын
make sure your mdns is woking and you can access the board both by its IP address and local domain name
@madhukeshnp5 жыл бұрын
Can this be done out side the LAN ?
@datasith5 жыл бұрын
Yes but it requires a WAN-accessible server where you can upload the firmware file. Once uploaded then the server needs to notify the ESP8266 that a new firmware file is available. It's doable by yourself, but tricky. If you check @AndreasSpiess channel, he has a service that does this for you.
@madhukeshnp5 жыл бұрын
@@datasith thats really interesting. It would be great if you do a tutorial on it. I haven't come across any such tutorials on KZbin. I wish you you teach us how to do it. Thank you in advance.
@petebowcott83484 жыл бұрын
Thanks so much for this, it's such a great explanation as ever!! and it worked straight out of the box like a dream! I also managed to change it to work with ESPAsyncWebServer with no problems! I am also looking at your tutorial "ESP8266 Web Server Upload Files Quick To SPIFFS Flash Memory Over HTTP w/ Arduino IDE", as I will also probably want to be making changes to the pages my esp8266 is serving. I notice (in reading the code to try and understand it more, I don't like to just cut and paste ...) that the ArduinoOTA.onStart appears to be able to update the SPIFFS as an alternative to the sketch, but I have no idea where ArduinoOTA.getCommand() is set to U_FLASH and can't find anything about setting it to U_SPIFFS? Any ideas or should I just use the curl command over HTTP as explained in your video? Thanks again for all of your help, you make exploring the esp extremely clear and accessible to me!! Pete
@datasith4 жыл бұрын
hey pete, i'm glad you found it useful-and, most of all, that it worked! that is a really good question, to which i don't have a perfect answer as i haven't tried it myself. on the IDE, i suspect if you select the option "ESP8266 Sketch Data Upload" it'll send the contents of the sub-directory "data" inside your sketch folder to flash. obviously, there's an underlying tool that i had to teach myself about today (thank you!): what you'd want, outside of the IDE, is something along the lines of "python3 espota.py -i -I -p -P [-a password] -s -f " to send your data to the flash file system. here's more info about espota: github.com/esp8266/Arduino/blob/master/tools/espota.py really, really good question!
@pattheitguy4 жыл бұрын
How can 7 not like?
@gopalakrishnanr.46596 жыл бұрын
Hi Thank I tried in nodeMCU, it is working, is there any posible ways to do the OTA from other network means remotely Assumption esp connected in a Wi-Fi
@datasith5 жыл бұрын
Yes, you can setup a route to receive the firmware and make the update. It's not strictly OTA, but it's a way of updating the firmware wirelessly. HTH!
@ramakant6106 жыл бұрын
how to store data of ota programing if sensor is connected
@datasith6 жыл бұрын
You can save the data either to an SD card or SPIFFS so that it doesn't get erased when you upload a new program.
@ramakant6106 жыл бұрын
collect result like serial monitor
@datasith6 жыл бұрын
@@ramakant610 the data will be stored in a text file in the SD card or SPIFFS.
@ramakant6106 жыл бұрын
@@datasith after ota programming , i am unable to store data in putty or not see the data in serial monitor..if serial monitor open it will gives error while uploading code wirelessly
@datasith6 жыл бұрын
@@ramakant610 Serial Monitor and Putty show the data transferred over USB. For OTA programming, there's no USB connection. You can see the data if you store it in a variable (RAM), or a text file in SPIFFS or SD Card, and then serve it over HTTP as a using the server.on() and server.streamFile() functions.
@balaramaraju41356 жыл бұрын
Can i upload code to esp8266 through ota from Android??
@datasith6 жыл бұрын
In theory yes, but you'd need to find an app to do so-or write your own. I think there's a way of uploading .bin files through the webserver, and have the ESP8266 update its firmware once you do. I'll do a demo in the future if this is possible.
@balaramaraju41356 жыл бұрын
@@datasith Thank you😊
@MrDenisJoshua5 жыл бұрын
Can this code work on NodeMCU V3 also please ? thanks.
@datasith5 жыл бұрын
Yep, you just need to select the right board from the Tools menu.
@MrDenisJoshua5 жыл бұрын
@@datasith Yeah… thanks a lot :-)
@DmitriNesterov4 жыл бұрын
I know this joke! You have a wireless programmer in your power bank! 😁👍
hello Cisco, a good video but still a thumbs down. why the music? it distracts from what you tell. if I want to hear music then I will go to the right channel on youtube. continue with your good explanation videos (without The music). greeting, Jan
@datasith6 жыл бұрын
Hello Jan. As you said, there are many channels on KZbin. If my music bothers you, go to a different channel where videos have no music. Continue with your rude comments (just not on my channel). Greeting, Cisco
@jheijkamp6 жыл бұрын
hello Cisco. I am sorry. I was not mean to be rude. the music is disturbing when I want to follow what you say. maybe this is because English is not my mother tongue and if you only focus on English speaking people then that is ok. I think it's a shame that a good explanation in my eyes is negated by music that is not important for what you want to say. greeting, Jan
@tcurdt6 жыл бұрын
Restarting via unsecured HTTP endpoint - grand idea. (sarcasm)
@datasith6 жыл бұрын
Thanks for clarifying, I wouldn’t have guessed otherwise. If you’re looking at *introductory* KZbin videos for a project where anything more secure is required, you’re gonna have a bad time.