Ich bin ziemlich neu in Lua. Ich habe versucht, das folgende Problem alleine zu lösen, aber ich konnte es nicht herausfinden. Hier ist mein Problem:Ich kann nicht auf meinem NodeMCU devkit Webserver über mein iPhone zugreifen
Ich betreibe einen Webserver auf meinem NodeMCU devkit v0.9. Ich kann problemlos auf meinem eigenen Computer auf den Webserver zugreifen, aber wenn ich versuche, über das iPhone oder das Modul requests
in Python auf den Server zuzugreifen, erhalte ich immer die Nachricht The network connection was lost.
Ich verwende die folgende Firmware: nodemcu_float_0.9.6-dev_20150704 .
print(wifi.sta.getip())
led1 = 3
led2 = 4
gpio.mode(led1, gpio.OUTPUT)
gpio.mode(led2, gpio.OUTPUT)
srv=net.createServer(net.TCP,30)
srv:listen(80,function(conn)
conn:on("receive", function(client,request)
local buf = "";
local _, _, method, path, vars = string.find(request, "([A-Z]+) (.+)?(.+) HTTP");
if(method == nil)then
_, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP");
end
local _GET = {}
if (vars ~= nil)then
for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do
_GET[k] = v
end
end
buf = buf.."<h1> ESP8266 Web Server</h1>";
buf = buf.."<p>GPIO0 <a href=\"?pin=led1\"><button>SWITCH LIGHTS</button></a></p>";
buf = buf.."<p>"..gpio.read(led1).."</p>";
local _on,_off = "",""
if(_GET.pin == "led1")then
if(gpio.read(led1) == 1) then
gpio.write(led1, gpio.LOW);
else
gpio.write(led1, gpio.HIGH);
end
else end
client:send(buf);
client:close();
end)
end)
Die Versionen 0.9.x sind hoffnungslos veraltet und werden nicht mehr unterstützt. Erstellen Sie Ihre eigene Firmware gemäß http://nodemcu.readthedocs.org/en/dev/en/build/ und versuchen Sie es erneut. Es gibt ein Beispiel für einen Webserver unter https://git.io/vVy4G, das jedoch früher oder später entfernt werden kann https://git.io/vVy4C. –
Hey okay, ich habe es gelöst. Deine Lösung hat für mich nicht geklappt. Aber danke, dass du dir die Zeit genommen hast, mir zu helfen! – Viktor
Also, was war das Problem? Bitte schreibe eine Antwort auf deine eigene Frage, damit andere daraus lernen können. –