This is to provide another convenient tool to upload ESP thanks to variety of OTA options developed by esp82666/Arduino team - thank you guys!
Why upload with cURL out of Arduion IDE may be useful? Well, there couple of reasons:
• It is about 3x quicker than serial upload
• It is far quicker and convenient than OTA with web browser
• It is fully interchangeable with web browser’s upload
• Serial Monitor is still available for debug
Here is how to do it in five steps:
1. If not done already, go through all the steps to have OTA with web browser work for you
2. Update configuration of Arduino IDE as below:
a. boards.txt
generic.menu.UploadTool.curl=cURL
generic.menu.UploadTool.curl.upload.tool=curl
b. platform.txt
tools.curl.cmd=curl
tools.curl.cmd.windows=curl.exe
tools.curl.upload.protocol=curl
tools.curl.upload.params.verbose=-v
tools.curl.upload.params.quiet=-s
tools.curl.upload.pattern= "{cmd}" {upload.verbose} -F "image=@{build.path}/{build.project_name}.bin" esp8266-webupdate.local/update
c. restart Arduino IDE
3. Install cURL:
a. Open http://curl.haxx.se/download.html
b. Scroll down, contemplate the freaking awesome number of platforms cURL is available for and say “Oh, my God” or “Holy crap” depending on if you are a woman or a man
c. Pick file for your O/S, upload and install cURL
4. Upload your ESP with sketch WebUpdater.ino covered in step 1 using serial.
5. Once module restarts and is ready for OTA upload, change “Upload Using:” to cURL and now you should be able to upload module with cURL.
Note: in case of issue with upload go to File > Preferences and for “Show verbose output during:” check out “upload”. You will be able to see details on cURL execution and upload progress.
Above configuration has been validated for:
• Arduino IDE 1.6.5
• 2.0.0-rc1 (of Nov 17, 2015) version of ESP8266 platform package
• Windows 7
• cURL for Win64 – Generic curl-7.33.0-win64-ssl-sspi.zip
Have quick and reliable uploads
Krzysztof