Друзья, подскажите, куда смотреть и что копать.
Есть погодный клиент на Wemos D1, который каждый час запрашивает погоду на api.openweathermap.org и затем отображает на OLED-дисплей.
Однако работает нестабильно. Периодически парсер JSON выдает ошибку IncompleteInput, т.е. ответ от сервера получает не полностью.
А там между прочим почти 15кб JSON.
Когда начал разбираться, оказалось, что ответ от сервера приходит пакетами по 520-540 байт, причем интервал между пакетами может составлять до пары минут! При этом, ответ на браузер ПК приходит мгновенно, и там пакеты полной длины, 1460 байт, и никаких минутных интервалов между ними.
Сначала подумал ESP8266HTTPClient глючит, попробовал напрямую с WiFiClient читать - тоже самое.
Причем в WiFiClient.h даже такой параметр есть: #define TCP_MSS 1460 // lwip1.4. Не помогает...
Попробовал библиотеку ESPAsyncTCP - тот же результат.
буду благодарен за идеи и наводки.
Есть погодный клиент на Wemos D1, который каждый час запрашивает погоду на api.openweathermap.org и затем отображает на OLED-дисплей.
Однако работает нестабильно. Периодически парсер JSON выдает ошибку IncompleteInput, т.е. ответ от сервера получает не полностью.
А там между прочим почти 15кб JSON.
Когда начал разбираться, оказалось, что ответ от сервера приходит пакетами по 520-540 байт, причем интервал между пакетами может составлять до пары минут! При этом, ответ на браузер ПК приходит мгновенно, и там пакеты полной длины, 1460 байт, и никаких минутных интервалов между ними.
Сначала подумал ESP8266HTTPClient глючит, попробовал напрямую с WiFiClient читать - тоже самое.
Причем в WiFiClient.h даже такой параметр есть: #define TCP_MSS 1460 // lwip1.4. Не помогает...
Попробовал библиотеку ESPAsyncTCP - тот же результат.
буду благодарен за идеи и наводки.