-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Added desription of Arduino IDE OTA process to documentation #984
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
You now have the ArduinoOTA lib that encapsulates this, no need to use the mDNS examples. |
good work, by the way!, documentation is always awesome |
@ mangelajo - this is good point to use simpler functionality encapsulated in “ArduinoOTA “ library. I am looking forward to include it in wiki and propose to do it once new json release is published with this library build in (I assume this is your plan). The other way around is to change instruction from “Installing with Boards Manager” to “Using git version”. Loading “ArduinoOTA” seems to me not enough if I use staging release and "OTALeds.ino" example. I see compiler complaining about missing "MD5Builder.h" that is part of the core on git. Seeing repetitive questions asked about OTA on esp8266.com forum I prepared this instruction having beginners in mind. My impression is that adding extra complexity to it would discourage people rather than attract. Extended number of steps == more chances to fail and even more questions. By making it simpler and referring to proven code we should reduce the same questions asked over and over. As result you will be less distracted and could do what I believe you like doing that is adding new exciting functionality to this platform 😄 What do you think? |
Guys, Looking the repo sktech, it's not there ?https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266mDNS/examples |
@hallard there were two parallel pull requests: this one and another one from @me-no-dev related to OTA improvements. DNS_SD_Arduino_OTA.ino was gone as part of the second one: |
@igrr |
@hallard what are you adding to espota.py? |
@me-no-dev |
Does this work fine when output is piped by Arduino to its console? I had issues when i used |
no, needs to print to stderr for it to show :) |
and goes miltiline :)
|
maybe add it as an option? |
Maybe just remove percentage indicator? This way we won't need to use On Wed, Nov 11, 2015 at 6:39 PM, Me No Dev [email protected] wrote:
|
that's strange it was working fine on my env some months ago, need to check this |
here is the pull with the optional progress: https://github.com/esp8266/Arduino/pull/1003/files |
@me-no-dev
But don't worry, under windows seeing network device using Arduino IDE has been a pain from beginning, You can't imagine how much time I lost trying to get this working, I tough this time with 1.6.6 and build 1.6.7 will correct, but still not. |
Are you using the latest ESP8266 core from git? The changes necessary for it all to work were merged yesterday. There is an updated BasicOTA example in the ArduinoOTA library that has all new code needed/available. |
my bad :) visible in the bonjour browser :) no clue then... |
Don't worry I'm doing on command line for months now, already had this issue with dragino and arduino yun, Of course tried with Windows Firewall disabled ;-) |
@hallard – your documentation of issue with network port is excellent. Thank you for investing your time and providing such level of details. I have exactly the same issue and was about to document it as I am preparing an update of documentation to cover new ArduinoOTA library. My testing was done on 11.11.2015 late afternoon CET and I made fresh installation of Arduino IDE 1.6.5-r5 for Windows and fresh "git clone https://github.com/esp8266/Arduino.git esp8266". I tried both “BasicOTA.ino” as well as “OTALeds.ino” provided among examples. I have exactly the same results as you had – the module successfully joins the network but the OTA network port does not show up in IDE. Could you, please, point me to your work around / what command line you are using to make the ArduinoOTA work for Windows? Krzysztof |
@krzychb By the way, I wanted to tell that OTA now rocks !!! I've been updated my device la least 100 times yesterday without any lost, even if I had browser requesting the device in the meantime (before this was causing trouble) |
now imagine my disappointment after spending so much time on OTA, that Windows refuses to see the devices... and there is nothing I can do about it |
Any chance this can be caused by Antivirus software? |
I've just got MS Windows Defender, that's all |
found fine on both 8.1 and XP that I have around. Will look for v10 download to give it a shot. |
same thing :-( :-( |
Oh... a hunch... maybe remove Bonjour? It could be clashing since they use the same port |
I've just installed it to give a try (it was not before last hour), but I have an idea, let me check something |
@me-no-dev – don’t worry – basing on responses so far I am certain that you and other guys there are a step apart from finding the reason of this issue or a workaround 😄 Looking through new ArduionOTA code it believe it is very versatile and I can’t wait trying out all the functions you have implemented. To supplement information provided I am using Windows 7. The OTA port shows up when I am using the legacy “DNS_SD_Arduino_OTA.ino” sketch. Krzysztof |
@krzychb thanks for the good words :) |
I agree the new OTA, seems a lot faster and I've not had a single fail. Good work @me-no-dev |
to be honest with you all, the change that made OTA work consistently was replacing yield() with delay(1). |
As mentioned by @EUA in #1005 this might have been related to light sleep mode (which is the default one). I had an issue with network and light sleep in one of my sketches, where I was sending telemetry from a UAV (plane) to ground station. When I disabled light sleep, the number of dropped UDP packets went down by two orders of magnitude. |
unrelated: what range have you tested on the UAV? |
That is interesting, I might have a play with that. |
based on how TCP works, one packet with data and one response with data look like this: // PC -----> DATA ----> ESP
// PC <----- ACK <----- ESP //needs yield
// PC <- RESPONSE <- ESP //needs another yield
// PC -----> ACK ----> ESP //might also need yield so having lots of data will lead to not enough empty loops/yields to be ale to transmit and receive all packets |
Basing on previous posts I did the following steps:
So I am back to step zero and keep looking for clues 😄 @me-no-dev – I wonder if you tried to load esp module from your Windows set up and if the network port was not gone at some certain point? Krzysztof |
@krzychb Yes I did. I installed python and did OTA. The device showed as soon as I opened the IDE and pulled the ports menu. |
Also tested on Windows 8.1 and Windows XP with success as well |
@krzychb i'm concerned about your step 3. I think you need to get one of the builds mentioned by @me-no-dev. Older version of OTA sample works because it also initializes a TCP server on port 8266, and IDE reachability check passes. |
@igrr – every thing is hunky-dory now! I will leave this special screen on my PC overnight it took so much sweat and tear 😄 I was indeed intrigued where you got Arduino 1.6.7 from and did not catch that you coin own by yourself. You guys are awesome 👍 Krzysztof |
i can't get the port to show up in os x either |
http://downloads.arduino.cc/javaide/pull_requests/arduino-PR-4107-BUILD-421-windows.zip |
Following http://www.esp8266.com/viewtopic.php?p=33235#p33235
Keep up development of this great platform 😄 👍