2015-09-24 94 views
0

我正在使用ESP8266WebServer庫在ESP8266上構建一個網頁。問題在於較大的html文件,儘管有足夠的程序空間和可用內存,但我無法加載頁面。ESP8266(Arduino)使用大文件

我相信這個問題是在webserver.send(200,"text/html",htmlDoc);

的內存溢出有沒有一種方法可以讓我打破了網頁成更小的碎片「十字繡」的網頁在一起嗎?

回答

2

我建議您使用ARDUINO EDI進行編碼,並使用ESP8266WebServer庫。

我已經做了同樣的事情,並注意到,在ARDUINO EDI 1.65, 該網頁將產生比使用ARDUINO 1.68或1.69更多的代碼/ RAMusage, 。

接下來,使用靜態網頁,文本,這樣

//////////////////// 
// 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); 
} 

爲了節省RAM的F()函數。

要發送網頁,我已經看到一些代碼,其中大型網頁是 短片流到客戶端。

對不起,我還沒有存儲該鏈接,請在這裏搜索互聯網, Streaming large webpages。

我希望這會幫助你。

Mickbaer 來自柏林德國