cesanta / mongoose-os

Mongoose OS - an IoT Firmware Development Framework. Supported microcontrollers: ESP32, ESP8266, CC3220, CC3200, STM32F4, STM32L4, STM32F7. Amazon AWS IoT, Microsoft Azure, Google IoT Core integrated. Code in C or JavaScript.
https://mongoose-os.com
Other
2.51k stars 433 forks source link

ESP8266: PUT/GET runs at 1kB/s via mos.exe + UART #400

Open freedaun opened 6 years ago

freedaun commented 6 years ago

I did a put of an 80k text file (to an ESP8266), and I thought mos.exe hung. Then I did a get and timed it: the transfer took more than a minute. That's just over 1kB/s, slower than dialup, should be at least 10x faster.

This was the command line:

.\mos.exe get big.txt > big.txt --port COM7

Confirmed with another 4MB NodeMCU board, flashed via the mos.exe web interface.

dimonomid commented 6 years ago

Yeah communication via serial port is slow, at least keep in mind that it goes via multiple JSON frames, so it's encoded as base64 and thus the size is bigger; also the regular random console output goes to the same UART, it also slows it down further.

But I agree there is a room for improvement. No ETA at the moment.

Transfer via other means work much faster, try mos.exe --port ws://192.168.1.201 get big.txt (of course replace the IP with the actual IP of your device)