let me start with a statement:
The ESP8266 with MicroPython is a damn good device, and Paul made an admirable work to get that all running! One should never forget that! Never forget that when you're fighting with a problem, which most of the time is anyhow yours.
During my last test it puzzled me, that the ESP's sometimes flagged an TIMEOUT error out of the full run, meaning, that the k-bytes count display did not stop beforehand. To sort out the Internet, I prepared a local server, which, when called, simply spits out a 25MBytes stream of data in 1 k chunks. I ran that server both on my local PC and an otherwise idling Cubietruck/debian board, which I use as NAS. Matching that, I simplified the download client a little bit. For testing, I used a WEMOS D1, Huzzah feather and for comparison a WiPy 1 and LoPy. The python scripts and a summary table are attached. Finding:
- For ESP8266 devices, running as access point (AP_IF mode) is completely unreliable
- ESP8266 devices running in Station mode still fail, sometimes into a crash, but most of the time into TIMEOUT. Since the server is local, that should not happen.
- The timeout/crash behaviour can be influenced by the speed at which the server supplies that data. I added delays between each 1k chunk
- Both WiPy and LoPy ran like a clockwork. No Timeout, no crash. WiPy 1 was the fastest bird on the road.
Code: Select all
ets Jan 8 2013,rst cause:4, boot mode:(3,6) wdt reset load 0x40100000, len 32020, room 16 tail 4 chksum 0xf6 load 0x3ffe8000, len 1096, room 4 tail 4 chksum 0xb8 load 0x3ffe8450, len 3000, room 4 tail 4 chksum 0xfd csum 0xfd