Hello everybody,
I try to develop a small temperature sensor that would
- wake up every minute and measure temperature
- ring a buzzer and send a mail if temperature is too high (or too low).
- send a mail every hour with all the temperature recorded in the last hour
I use Arduino IDE. Everything works fine when, for testing, I do not use the deep_sleep mode (I just put a long delay in the main loop instead of finishing with deep_sleep). The system has work more than 24hours without any problem (except power consumption of course, this could not work for a long time on batteries).
When I use the deep_sleep command, the system wakes up normally, record temperature, connect to my Wifi AP every hour, but most of the time, mail sending fails. Using wireshark on my PC, I can see that TCP packets are emitted from the esp and I see TCP packets being sent back to the esp (and even retransmitted), but the esp does not seem to receive them, or receives them but cannot handle them properly.
Has anybody experienced this problem?
Thank you in advance for your help.
Best Regards.
Network problem after deep sleep
Re: Network problem after deep sleep
Postby Roland » Sun Nov 22, 2015 11:23 pm
Hello,
Sorry for this late answer. It is difficult for me to provide captured packets because they contain an email address and the corresponding password in clear (easier for debug) and I did not find a way to erase or modify this data.
However, I have made new tests using a new "board manager library" for the esp8266 on the arduino IDE. The version I use is now 2.0.0-rc1 instead of 1.6.5-gef26c5f and I works much better. This version uses sdk 1.3 instead of sdk 1.2.
I tried with both version and with two different wifi access point ans different radio conditions
old version + wifi access from my internet box -> almost (maybe 99%) all mails fail
old version + wifi access from a small android pc + esp8266 very close (20 cm) from pc -> almost all mails are OK
old version + wifi access from a small android pc + esp8266 away from pc (in another rooom) -> a few mails fail.
new version + wifi access from my internet box -> some mails fail (about 5%)
new version + wifi access from a small android pc + esp8266 very close (20 cm) from pc -> almost all mails are OK
new version + wifi access from a small android pc + esp8266 away from pc (in another rooom) -> very few mails fail.
So I would advice people using the Arduino IDE to use the new version. Things get wrong much more seldom. However, when something gets wrong, the esp8266 still seems to be enable to recover (maybe it is enable to get retransmitted packet ???) and transmission fails.
By the way I also noticed that with the old version, the esp8266 always turn radio up even if I said not to do so in the deep sleep command. (I noticed EAP wifi packets every minute, at each wake up, whereas I asked to turn up wifi only every 10 minutes).
So things are getting better on this side. However I noticed that now system_get_rst_info() always returns 6 as a reset reason, whereas I used to return the good reason in the old version.
Best Regards.
Sorry for this late answer. It is difficult for me to provide captured packets because they contain an email address and the corresponding password in clear (easier for debug) and I did not find a way to erase or modify this data.
However, I have made new tests using a new "board manager library" for the esp8266 on the arduino IDE. The version I use is now 2.0.0-rc1 instead of 1.6.5-gef26c5f and I works much better. This version uses sdk 1.3 instead of sdk 1.2.
I tried with both version and with two different wifi access point ans different radio conditions
old version + wifi access from my internet box -> almost (maybe 99%) all mails fail
old version + wifi access from a small android pc + esp8266 very close (20 cm) from pc -> almost all mails are OK
old version + wifi access from a small android pc + esp8266 away from pc (in another rooom) -> a few mails fail.
new version + wifi access from my internet box -> some mails fail (about 5%)
new version + wifi access from a small android pc + esp8266 very close (20 cm) from pc -> almost all mails are OK
new version + wifi access from a small android pc + esp8266 away from pc (in another rooom) -> very few mails fail.
So I would advice people using the Arduino IDE to use the new version. Things get wrong much more seldom. However, when something gets wrong, the esp8266 still seems to be enable to recover (maybe it is enable to get retransmitted packet ???) and transmission fails.
By the way I also noticed that with the old version, the esp8266 always turn radio up even if I said not to do so in the deep sleep command. (I noticed EAP wifi packets every minute, at each wake up, whereas I asked to turn up wifi only every 10 minutes).
So things are getting better on this side. However I noticed that now system_get_rst_info() always returns 6 as a reset reason, whereas I used to return the good reason in the old version.
Best Regards.
Who is online
Users browsing this forum: No registered users and 1 guest
Login
Newbies Start Here
Are you new to ESP8266?
Unsure what to do?
Dunno where to start?
Start right here!
Latest SDK
Documentation
Complete listing of the official ESP8266 related documentation release by ESPRESSIF!
Must read here!
- All times are UTC+08:00
- Top
- Delete all board cookies
About Us
Espressif Systems is a fabless semiconductor company providing cutting-edge low power WiFi SoCs and wireless solutions for wireless communications and Internet of Things applications. We are the manufacturer of ESP8266EX.