Ich mache diesen Code, um LEDs über das Internet zu steuern, aber ich möchte auch einen Schalter hinzufügen, um es an- und auszuschalten, falls ich keinen Internetzugang habe. Mein Problem ist, dass es normal funktioniert, wenn ich den Code hochlade, aber wenn der ESP8266 neu gestartet wird, funktioniert der Code nicht mehr. Jeder Teil des Codes arbeitet unabhängig in Ordnung, aber wenn ich sie zusammen doesnot es ArbeitEsp8266 unendlich zurücksetzen
wifi.setmode(wifi.STATION)
wifi.sta.config("BELL", "BLACKST")
print(wifi.sta.getip())
led1 = 3
led2 = 4
gpio.mode(led2, gpio.OUTPUT)
srv=net.createServer(net.TCP)
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> LIGHTS CONTROL </h1>";
buf = buf.."<p>Aldo's Room <a href=\"?pin=ON1\"><button>ON</button> </a> <a href=\"?pin=OFF1\"><button>OFF</button></a></p>";
local _on,_off = "",""
if(_GET.pin == "ON1")then
gpio.write(led2, gpio.HIGH) ;
elseif(_GET.pin == "OFF1")then
gpio.write(led2, gpio.LOW) ;
end
client:send(buf);
client:close();
collectgarbage();
end)
end)
gpio.mode(led1, gpio.INT)
gpio.trig(led1, "both", function(level)
gpio.write(led2, level)
end)
Hoffentlich eine dumme Frage, aber hast du das in init.lua? – cranphin
Außerdem empfehle ich eine aktuelle NodeMCU Firmware, nicht 0.9.6. Und Sie könnten versuchen, auf die Verbindung des WIFI zu warten, etwa so: http://stackoverflow.com/questions/33288026/the-wifi-sta-module-connects-if-a-loop-is-running/33309872# 33309872 – cranphin
ja ich tat es, ich vermute, dass es einen Fehler in meinem init.lua gibt, aber ich kann es nicht finden –