2015-09-24 2 views
0

Я работаю над созданием веб-страницы на ESP8266, используя библиотеку ESP8266WebServer. Проблема заключается в больших файлах html, я не могу загрузить страницы, несмотря на наличие большого количества свободного места и памяти.ESP8266 (Arduino) Использование больших файлов

Я считаю, что проблема переполнения памяти в webserver.send(200,"text/html",htmlDoc);

Есть ли способ, что я могу «сшить» веб-страницы вместе, нарушая страницу на более мелкие куски?

ответ

2

Предлагаю, что вы используете ARDUINO EDI для кодирования и используете библиотеку ESP8266WebServer.

Я сделал то же самое, и заметил, что на Arduino ЭОД 1,65, Веб-страница будет производить гораздо больше кода/RAMusage, , чем при использовании Arduino 1,68 или 1,69.

Далее, использование для статического веб-страницы-Text, функция F(), как этот

//////////////////// 
// make html footer 
//////////////////// 
void MakeHTTPFooter(void) 
{ 
G_WebSeite += F("\r\n<div style=\"font-size:x-small\">"); 
G_WebSeite += F("\r\n\t<BR>Aufrufz&auml;hler = "); 
G_WebSeite += G_ulReqcount; 
G_WebSeite += F("\r\n\t<BR>Uptimez&auml;hler = "); 
G_WebSeite += CalcUptime(Guptime); 
G_WebSeite += F("\r\n\t<BR>Verbindungsz&auml;hler = "); 
G_WebSeite += G_ulReconncount; 
G_WebSeite += F("\r\n\t<BR>WiFi-Staerke = "); 
G_WebSeite += G_WiFiSignalStrength; 
G_WebSeite += F("dbm"); 
G_WebSeite += F("\r\n\t<BR>Freies RAM = "); 
G_WebSeite += (uint32_t)system_get_free_heap_size(); 
G_WebSeite += F("\r\n</div>\r\n</body>\r\n</html>"); 
delay(1); 
} 

Для экономии памяти.

Чтобы отправить веб-страницу, я просмотрел код, на котором большая веб-страница передает короткие фрагменты клиенту.

Извините, но я не сохранил ссылку, пожалуйста, найдите здесь Интернет, для потоковой передачи больших веб-страниц.

Надеюсь, это поможет вам.

Mickbaer от Berlin Германия

Смежные вопросы