This really got onto my nerves so I looked for a solution. I won't mention everything I tried but the solution that seems to work:
The wifi has different sleep modes and the default is SLEEP_MODEM. You can change the mode to SLEEP_NONE with:
Code: Select all
import esp
esp.sleep_type(esp.SLEEP_NONE)
Since I changed this more than 24 hours ago, the node with RSSI -80dB has only reconnect twice and one time was a reconnect every other device also did so doesn't really count.
So the difference is really impressive: From reconnecting every ~2 minutes it now only reconnects 1-2 times a day!
This function was of course implemented a long time ago but I couldn't find any information on the forum about it so I thought I'd share this in case someone else has trouble with his wifi reliability too. (I only found this function after searching for the reconnect error, going through the arduino implementation of sleep_type and then looking for it in micropyhton source )