There is a library named ArduinoOTA that is used in the updating of a ESP8266 app using a WiFi network port instead of a COM port. This very helpful article by Rui Santos explains the process for doing the OTA (Over The Air) update through the Arduino IDE. ESP8266 OTA with Arduino IDE | Random Nerd Tutorials
However, I am having trouble using this process consistently. The problem comes at the point of opening the network port, as described in STEP 3 - 1 of Rui’s article. Some of the time it works fine but 95% of the time it does not because the Network Port does not appear in the list of ports, as it should. I should explain that my only network is a Hotspot running on my Pixel phone. However, when I run an IP scanner, the port of interest shows up, so I think that we can eliminate the phone and hotspot as the culprits.
So it seems that the ArduinoOTA code is malfunctioning - maybe not refreshing the network port scan as needed. It is curious to me that the port shows up some of the time but very infrequently. I have tried opening a new instance of the IDE and that does not help. Well, the first time I tried it, it did work and I though aha - a workaround. But that was the only time that trick worked.
Anyone have some ideas?
On reflection, I would have to say that the failure to find an existing network port and display it in the Tools>Port list is a problem with the Arduino IDE and has nothing to do with ArduinoOTA. Fuzzy thinking on my part due to staying up too late I guess.
I have the same problem, I used example OTA code and the port appeared (after restart of IDE), then i uploaded an LED blinking code, code worked fine, but port never appeared again, many times restart IDE and ESP module power recycle, the network port is not coming in the list.
This is a very serious problem that makes OTA operations impossible. Is anyone working on this?
Or should we just forget about the OTA feature?
I noticed that after a firm reboot of the Win 10 Client i have, the ota ports are all displayed after Arduino IDE started. They stay until the first ota operation has taken part.
Does anyone use the OTA-Feature successfully with ESP6288 ?
I tried this feature too. I have never seen the a port like "192.168.178.82 at D1minDG" in Tools/Ports. The ESP3266 is running find with a small webinterface. The relevant Code of Example "BasicOTA" was integrated in the exising code. Python 2.7.15 fresh installed... Firewall disabled. PC and ESP restarted. .. Actually I dont understand how this would work. What is the installation of Python 2.7 for ? Can I test with other networking tools, if the Arduino/ESP6288 responds correctly / answers the communnication for OTA ?
Yes OTA-Feature used successfully here with ESP8266 (wemos d1 mini pro)
Sometimes I have to restart Arduino IDE (after changing OTA-hostname of an esp), to make it visible in Tools/Ports.
Maybe check versions of Arduino IDE and Python ?
By the way, I also use WiFiTerm combined with OTA.
An easy way to access to debug prints Over-The-Air.
The problem exist. Have same conclusion.
The WIFi port appears again after hardware RST. But this makes OTA completely useless... >:( .
Must be something wrong at Arduino IDE side. Probably regarding ports refresh.
Downgrading to IDE ver.1.8.5 resolve the problem !
To avoid other problems coming from downgrading check here:
Downgrading to old versions does nothing.
This is pure hazard.
I had this problem some months ago but now it's gone. My suggestions:
a/ Make sure you use the lastest versions of the Arduino IDE (1.8.12)
and ArduinoOTA (1.0.3).
b/ I experienced the problem to be more common when the remote devices
were far away, i.e. had a low signal level. Do a test with devices closer.
I do repeat. It is completely unreliable.
How one could force the Arduino IDE to scan WiFi for OTA ports and show them at Ports ?
I read a lot of suggestions/advices ("advices") but...gays.. may be one should check if the power is green enough ?
All that's magic not technical ?
Is anyone responsible source of infos ?
OTA is very basic functionality and it works well if...it works.
Are we at electronics or high grade structured credit enhanced leverage funds ?
The solution is to upgrade the jmdns library in the Arduino IDE lib directory to jmdns-3.5.5.jar (currently it is version 3.5.3 which was introduced in Arduino IDE 1.8.6).
A workaround is to disable all network adpters except the one on the network on which your devices are.
See also my post at https://forum.arduino.cc/index.php?topic=575560.msg4608533#msg4608533 .
I have done what you suggested.
Works like a charm.
Once more...you have done great job.
Many thanks !!!
I do recommend your solution to everyone.
Another things is permanent refresh of existing ports (both serial and network).