Hallo,
seit Tagen versuche ich meinen ESP8266 Webserver zum laufen zu bringen,
leider hänge ich an einem scheinbar bekannten Problem. Aber der
Such-O-Mat hat mich nicht weiter gebracht.
Ich verwende LUA sprich Nodemcu als Firmware.
Das Problem liegt darin das ich eine 8KB große HTML Datei habe die zum
Browser gesendet wird sobald sich jemand den Server aufruft.
Leider kommen aber nur 3021byte im Browser an.
Hier eine meiner Zahlreichen Varianten
1 | srv=net.createServer(net.TCP,10)
|
2 | srv:listen(80,function(conn)
|
3 | conn:on("receive", function(conn, payload)
|
4 |
|
5 |
|
6 | file.open("index.html","r")
|
7 | for counter=1, 211 do
|
8 | conn:send(file.readline());
|
9 |
|
10 | end)
|
11 | end
|
12 | file.close()
|
13 |
|
14 | conn:on("sent", function(conn) conn:close() end)
|
15 | end)
|
16 | end)
|
Wie man sieht verwende ich das File-System. Wie ich bisher
herausgefunden habe liegt das Problem darin das der sende buffer
irgendwann einfach voll ist und dann der ESP einfach neustartet oder
eben einfach nix mehr sendet.
Schreibe ich den Code so um dass ich die Datei per Serialmonitor also
mit print() angezeigt bekomme, schreibt er alle Daten aus der Datei!
Ich habe auch schon andere Schleifen versucht aber wie zu erwarten ohne
Erfolg.
Hat hier jemand noch eine andere Idee um dieses Problem zu umgehen.
Ich muss dazu sagen das ich LUA erst seit 1 Monat kenne und dem
entsprechend wenig Erfahrung habe.