- wifi.setmode(wifi.SOFTAP)
- cfg={}
- cfg.ssid="ESP8266";
- cfg.pwd="12345678"
- wifi.ap.config(cfg)
- print(wifi.ap.getip())
- led0 = 0
- led1 = 1
- led2 = 2
- led3 = 3
- led4 = 4
- led5 = 5
- led6 = 6
- gpio.mode(led0, gpio.OUTPUT)
- gpio.mode(led1, gpio.OUTPUT)
- gpio.mode(led2, gpio.OUTPUT)
- gpio.mode(led3, gpio.OUTPUT)
- gpio.mode(led4, gpio.OUTPUT)
- gpio.mode(led5, gpio.OUTPUT)
- gpio.mode(led6, gpio.OUTPUT)
- gpio.write(led0, gpio.LOW);
- gpio.write(led1, gpio.LOW);
- gpio.write(led2, gpio.LOW);
- gpio.write(led3, gpio.LOW);
- gpio.write(led4, gpio.LOW);
- gpio.write(led5, gpio.LOW);
- gpio.write(led6, gpio.LOW);
- 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> 遠程控制系統 </h1>";
- buf = buf.."<p>臥室 <a href=\"?pin=ON0\"><button>開</button></a> <a href=\"?pin=OFF0\"><button>關</button></a></p>";
- buf = buf.."<p>書房 <a href=\"?pin=ON1\"><button>開</button></a> <a href=\"?pin=OFF1\"><button>關</button></a></p>";
- buf = buf.."<p>廚房 <a href=\"?pin=ON2\"><button>開</button></a> <a href=\"?pin=OFF2\"><button>關</button></a></p>";
- buf = buf.."<p>廁所 <a href=\"?pin=ON3\"><button>開</button></a> <a href=\"?pin=OFF3\"><button>關</button></a></p>";
- buf = buf.."<p>客廳 <a href=\"?pin=ON4\"><button>開</button></a> <a href=\"?pin=OFF4\"><button>關</button></a></p>";
- buf = buf.."<p>草坪燈 <a href=\"?pin=ON5\"><button>開</button></a> <a href=\"?pin=OFF5\"><button>關</button></a></p>";
- buf = buf.."<p>排風扇 <a href=\"?pin=ON6\"><button>開</button></a> <a href=\"?pin=OFF6\"><button>關</button></a></p>";
- local _on,_off = "",""
- if(_GET.pin == "ON1")then
- gpio.write(led1, gpio.HIGH);
- elseif(_GET.pin == "OFF1")then
- gpio.write(led1, gpio.LOW);
- elseif(_GET.pin == "ON2")then
- gpio.write(led2, gpio.HIGH);
- elseif(_GET.pin == "OFF2")then
- gpio.write(led2, gpio.LOW);
- elseif(_GET.pin == "ON0")then
- gpio.write(led0, gpio.HIGH);
- elseif(_GET.pin == "OFF0")then
- gpio.write(led0, gpio.LOW);
- elseif(_GET.pin == "ON3")then
- gpio.write(led3, gpio.HIGH);
- elseif(_GET.pin == "OFF3")then
- gpio.write(led3, gpio.LOW);
- elseif(_GET.pin == "ON4")then
- gpio.write(led4, gpio.HIGH);
- elseif(_GET.pin == "OFF4")then
- gpio.write(led4, gpio.LOW);
- elseif(_GET.pin == "ON5")then
- gpio.write(led5, gpio.HIGH);
- elseif(_GET.pin == "OFF5")then
- gpio.write(led5, gpio.LOW);
- elseif(_GET.pin == "ON6")then
- gpio.write(led6, gpio.HIGH);
- elseif(_GET.pin == "OFF6")then
- gpio.write(led6, gpio.LOW);
- end
- client:send(buf);
- client:close();
- collectgarbage();
- end)
- end)
復制代碼
|