-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathinit.lua
More file actions
103 lines (88 loc) · 3.86 KB
/
init.lua
File metadata and controls
103 lines (88 loc) · 3.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
wifi.setmode(wifi.STATION)
wifi.sta.config("WIFI_NAME","WIFI_PASSWORD")
print(wifi.sta.getip())
D0 = 0
D1 = 1
D2 = 2
D3 = 3
D4 = 4
D5 = 5
D6 = 6
D7 = 7
D8 = 8
gpio.mode(D0, gpio.OUTPUT)
gpio.mode(D1, gpio.OUTPUT)
gpio.mode(D2, gpio.OUTPUT)
gpio.mode(D3, gpio.OUTPUT)
gpio.mode(D4, gpio.OUTPUT)
gpio.mode(D5, gpio.OUTPUT)
gpio.mode(D6, gpio.OUTPUT)
gpio.mode(D7, gpio.OUTPUT)
gpio.mode(D8, 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><b>nodeMCU<br> Web Server by aCo0o</b></h1>";
buf = buf.."<p>GPIO0 <a href=\"?pin=ON0\"><button>ON</button></a> <a href=\"?pin=OFF0\"><button>OFF</button></a></p><hr>";
buf = buf.."<p>GPIO1 <a href=\"?pin=ON1\"><button>ON</button></a> <a href=\"?pin=OFF1\"><button>OFF</button></a></p><hr>";
buf = buf.."<p>GPIO2 <a href=\"?pin=ON2\"><button>ON</button></a> <a href=\"?pin=OFF2\"><button>OFF</button></a></p><hr>";
buf = buf.."<p>GPIO3 <a href=\"?pin=ON3\"><button>ON</button></a> <a href=\"?pin=OFF3\"><button>OFF</button></a></p><hr>";
buf = buf.."<p>GPIO4 <a href=\"?pin=ON4\"><button>ON</button></a> <a href=\"?pin=OFF4\"><button>OFF</button></a></p><hr>";
buf = buf.."<p>GPIO5 <a href=\"?pin=ON5\"><button>ON</button></a> <a href=\"?pin=OFF5\"><button>OFF</button></a></p><hr>";
buf = buf.."<p>GPIO6 <a href=\"?pin=ON6\"><button>ON</button></a> <a href=\"?pin=OFF6\"><button>OFF</button></a></p><hr>";
buf = buf.."<p>GPIO7 <a href=\"?pin=ON7\"><button>ON</button></a> <a href=\"?pin=OFF7\"><button>OFF</button></a></p><hr>";
buf = buf.."<p>GPIO8 <a href=\"?pin=ON8\"><button>ON</button></a> <a href=\"?pin=OFF8\"><button>OFF</button></a></p><hr>";
local _on,_off = "",""
if(_GET.pin == "ON0")then
gpio.write(D0, gpio.HIGH);
elseif(_GET.pin == "OFF0")then
gpio.write(D0, gpio.LOW);
elseif(_GET.pin == "ON1")then
gpio.write(D1, gpio.HIGH);
elseif(_GET.pin == "OFF1")then
gpio.write(D1, gpio.LOW);
elseif(_GET.pin == "ON2")then
gpio.write(D2, gpio.HIGH);
elseif(_GET.pin == "OFF2")then
gpio.write(D2, gpio.LOW);
elseif(_GET.pin == "ON3")then
gpio.write(D3, gpio.HIGH);
elseif(_GET.pin == "OFF3")then
gpio.write(D3, gpio.LOW);
elseif(_GET.pin == "ON4")then
gpio.write(D4, gpio.HIGH);
elseif(_GET.pin == "OFF4")then
gpio.write(D4, gpio.LOW);
elseif(_GET.pin == "ON5")then
gpio.write(D5, gpio.HIGH);
elseif(_GET.pin == "OFF5")then
gpio.write(D5, gpio.LOW);
elseif(_GET.pin == "ON6")then
gpio.write(D6, gpio.HIGH);
elseif(_GET.pin == "OFF6")then
gpio.write(D6, gpio.LOW);
elseif(_GET.pin == "ON7")then
gpio.write(D7, gpio.HIGH);
elseif(_GET.pin == "OFF7")then
gpio.write(D7, gpio.LOW);
elseif(_GET.pin == "ON8")then
gpio.write(D8, gpio.HIGH);
elseif(_GET.pin == "OFF8")then
gpio.write(D8, gpio.LOW);
end
client:send(buf);
client:close();
collectgarbage();
end)
end)