312 lines
13 KiB
Lua
312 lines
13 KiB
Lua
pwm.setup(0,500,50) pwm.setup(1,500,50) pwm.setup(2,500,50)
|
|
pwm.start(0) pwm.start(1) pwm.start(2)
|
|
function led(r,g,b) pwm.setduty(0,g) pwm.setduty(1,b) pwm.setduty(2,r) end
|
|
wifi.station.autoconnect(1)
|
|
a=0
|
|
tmr.alarm( 1000,1,function() if a==0 then a=1 led(50,50,50) else a=0 led(0,0,0) end end)
|
|
|
|
sv:on("receive", function(s,c) s:send("<h1> Hello, world.</h1>") print(c) end )
|
|
|
|
|
|
sk=net.createConnection(net.TCP, 0)
|
|
sk:on("receive", function(sck, c) print(c) end )
|
|
sk:connect(80,"115.239.210.27")
|
|
sk:send("GET / HTTP/1.1\r\nHost: 115.239.210.27\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n")
|
|
|
|
sk:connect(80,"192.168.0.66")
|
|
sk:send("GET / HTTP/1.1\r\nHost: 1192.168.0.66\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n")
|
|
|
|
i2c.setup(0,1,0,i2c.SLOW)
|
|
function read_bmp(addr) i2c.start(0) i2c.address(0,119,i2c.RECEIVER) c=i2c.read(0,1) i2c.stop(0) print(string.byte(c)) end
|
|
function read_bmp(addr) i2c.start(0) i2c.address(0,119,i2c.TRANSMITTER) i2c.write(0,addr) i2c.stop(0) i2c.start(0) i2c.address(0,119,i2c.RECEIVER) c=i2c.read(0,2) i2c.stop(0) return c end
|
|
|
|
s=net.createServer(net.TCP) s:listen(80,function(c) end)
|
|
ss=net.createServer(net.TCP) ss:listen(80,function(c) end)
|
|
|
|
s=net.createServer(net.TCP) s:listen(80,function(c) c:on("receive",function(s,c) print(c) end) end)
|
|
|
|
s=net.createServer(net.UDP) s:listen(5683,function(c) c:on("receive",function(s,c) print(c) end) end)
|
|
|
|
mm=node.list()
|
|
for k, v in pairs(mm) do print('file:'..k..' len:'..v) end
|
|
for k,v in pairs(d) do print("n:"..k..", s:"..v) end
|
|
su=net.createConnection(net.UDP)
|
|
su:on("receive",function(su,c) print(c) end)
|
|
su:connect(5683,"192.168.0.66")
|
|
su:send("/v1/id")
|
|
|
|
gpio.mode(0,gpio.INT) gpio.trig(0,"down",function(l) print("level="..l) end)
|
|
|
|
t0 = 0;
|
|
function tr0(l) print(tmr.now() - t0) t0 = tmr.now()
|
|
if l==1 then gpio.trig(0,"down") else gpio.trig(0,"up") end end
|
|
gpio.mode(0,gpio.INT)
|
|
gpio.trig(0,"down",tr0)
|
|
|
|
|
|
su=net.createConnection(net.UDP)
|
|
su:on("receive",function(su,c) print(c) end)
|
|
su:connect(5001,"114.215.154.114")
|
|
su:send([[{"type":"signin","name":"nodemcu","password":"123456"}]])
|
|
|
|
su:send([[{"type":"signout","name":"nodemcu","password":"123456"}]])
|
|
|
|
su:send([[{"type":"connect","from":"nodemcu","to":"JYP","password":"123456"}]])
|
|
|
|
su:send("hello world")
|
|
|
|
s=net.createServer(net.TCP) s:listen(8008,function(c) c:on("receive",function(s,c) print(c) pcall(loadstring(c)) end) end)
|
|
|
|
s=net.createServer(net.UDP) s:listen(8888,function(c) c:on("receive",function(s,c) print(c) pcall(loadstring(c)) end) end)
|
|
|
|
s=net.createServer(net.TCP) s:listen(8008,function(c) con_std = c function s_output(str) if(con_std~=nil) then con_std:send(str) end end
|
|
node.output(s_output, 0) c:on("receive",function(c,l) node.input(l) end) c:on("disconnection",function(c) con_std = nil node.output(nil) end) end)
|
|
|
|
s=net.createServer(net.TCP)
|
|
s:listen(23,function(c)
|
|
con_std = c
|
|
function s_output(str)
|
|
if(con_std~=nil)
|
|
then con_std:send(str)
|
|
end
|
|
end
|
|
node.output(s_output, 0)
|
|
c:on("receive",function(c,l) node.input(l) end)
|
|
c:on("disconnection",function(c)
|
|
con_std = nil
|
|
node.output(nil)
|
|
end)
|
|
end)
|
|
|
|
srv=net.createServer(net.TCP) srv:listen(80,function(conn) conn:on("receive",function(conn,payload)
|
|
print(node.heap()) door="open" if gpio.read(8)==1 then door="open" else door="closed" end
|
|
conn:send("<h1> Door Sensor. The door is " .. door ..".</h1>") conn:close() end) end)
|
|
|
|
srv=net.createServer(net.TCP) srv:listen(80,function(conn) conn:on("receive",function(conn,payload)
|
|
print(node.heap()) print(adc.read(0)) door="open" if gpio.read(0)==1 then door="open" else door="closed" end
|
|
conn:send("<h1> Door Sensor. The door is " .. door ..".</h1>") end) conn:on("sent",function(conn) conn:close() end) end)
|
|
|
|
srv=net.createServer(net.TCP) srv:listen(80,function(conn)
|
|
conn:on("receive",function(conn,payload)
|
|
print(node.heap())
|
|
door="open"
|
|
if gpio.read(0)==1 then door="open" else door="closed" end
|
|
conn:send("<h1> Door Sensor. The door is " .. door ..".</h1>")
|
|
end)
|
|
conn:on("sent",function(conn) conn:close() end)
|
|
end)
|
|
|
|
port = 9999
|
|
hostip = "192.168.1.99"
|
|
sk=net.createConnection(net.TCP, false)
|
|
sk:on("receive", function(conn, pl) print(pl) end )
|
|
sk:connect(port, hostip)
|
|
|
|
|
|
file.remove("init.lua")
|
|
file.open("init.lua","w")
|
|
file.writeline([[print("Petes Tester 4")]])
|
|
file.writeline([[tmr.alarm(5000, 0, function() dofile("thelot.lua") end )]])
|
|
file.close()
|
|
|
|
file.remove("thelot.lua")
|
|
file.open("thelot.lua","w")
|
|
file.writeline([[tmr.stop()]])
|
|
file.writeline([[connecttoap = function (ssid,pw)]])
|
|
file.writeline([[print(wifi.sta.getip())]])
|
|
file.writeline([[wifi.setmode(wifi.STATION)]])
|
|
file.writeline([[tmr.delay(1000000)]])
|
|
file.writeline([[wifi.sta.config(ssid,pw)]])
|
|
file.writeline([[tmr.delay(5000000)]])
|
|
file.writeline([[print("Connected to ",ssid," as ",wifi.sta.getip())]])
|
|
file.writeline([[end]])
|
|
file.writeline([[connecttoap("MyHub","0011223344")]])
|
|
file.close()
|
|
|
|
|
|
s=net.createServer(net.UDP) s:listen(5683) s:on("receive",function(s,c) print(c) s:send("echo:"..c) end)
|
|
s:on("sent",function(s) print("echo donn") end)
|
|
|
|
sk=net.createConnection(net.UDP, 0) sk:on("receive", function(sck, c) print(c) end ) sk:connect(8080,"192.168.0.88")
|
|
sk:send("GET / HTTP/1.1\r\nHost: 192.168.0.88\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n")
|
|
|
|
srv=net.createServer(net.TCP, 5) srv:listen(80,function(conn) conn:on("receive",function(conn,payload)
|
|
print(node.heap()) print(adc.read(0)) door="open" if gpio.read(0)==1 then door="open" else door="closed" end
|
|
conn:send("<h1> Door Sensor. The door is " .. door ..".</h1>") end) end)
|
|
|
|
srv=net.createServer(net.TCP)
|
|
srv:listen(80,function(conn)
|
|
conn:on("receive",function(conn,payload)
|
|
print(payload) print(node.heap())
|
|
conn:send("<h1> Hello, NodeMcu.</h1>")
|
|
end)
|
|
conn:on("sent",function(conn) conn:close() end)
|
|
end)
|
|
|
|
|
|
function startServer()
|
|
print("WIFI AP connected. Wicon IP:")
|
|
print(wifi.sta.getip())
|
|
sv=net.createServer(net.TCP,180)
|
|
sv:listen(8080,function(conn)
|
|
print("Wifi console connected.")
|
|
|
|
function s_output(str)
|
|
if(conn~=nil) then
|
|
conn:send(str)
|
|
end
|
|
end
|
|
node.output(s_output,0)
|
|
|
|
conn:on("receive",function(conn,pl)
|
|
node.input(pl)
|
|
if (conn==nil) then
|
|
print("conn is nil")
|
|
end
|
|
|
|
print("hello")
|
|
|
|
mycounter=0 srv=net.createServer(net.TCP) srv:listen(80,function(conn) conn:on("receive",function(conn,payload)
|
|
if string.find(payload,"?myarg=") then mycounter=mycounter+1
|
|
m="<br/>Value= " .. string.sub(payload,string.find(payload,"?myarg=")+7,string.find(payload,"HTTP")-2) else m="" end
|
|
conn:send("<h1> Hello, this is Pete's web page.</h1>How are you today.<br/> Count=" .. mycounter .. m .. "Heap=".. node.heap())
|
|
end) conn:on("sent",function(conn) conn:close() conn = nil end) end)
|
|
|
|
srv=net.createServer(net.TCP) srv:listen(80,function(conn) conn:on("receive",function(conn,payload)
|
|
conn:send("HTTP/1.1 200 OK\r\n") conn:send("Connection: close\r\n\r\n") conn:send("<h1> Hello, NodeMcu.</h1>")
|
|
print(node.heap()) conn:close() end) end)
|
|
|
|
|
|
conn=net.createConnection(net.TCP)
|
|
conn:dns("www.nodemcu.com",function(conn,ip) print(ip) print("hell") end)
|
|
|
|
function connected(conn) conn:on("receive",function(conn,payload)
|
|
conn:send("HTTP/1.1 200 OK\r\n") conn:send("Connection: close\r\n\r\n") conn:send("<h1> Hello, NodeMcu.</h1>")
|
|
print(node.heap()) conn:close() end) end
|
|
srv=net.createServer(net.TCP)
|
|
srv:on("connection",function(conn) conn:on("receive",function(conn,payload)
|
|
conn:send("HTTP/1.1 200 OK\r\n") conn:send("Connection: close\r\n\r\n") conn:send("<h1> Hello, NodeMcu.</h1>")
|
|
print(node.heap()) conn:close() end) end)
|
|
srv:listen(80)
|
|
|
|
|
|
-- sieve.lua
|
|
-- the sieve of Eratosthenes programmed with coroutines
|
|
-- typical usage: lua -e N=500 sieve.lua | column
|
|
|
|
-- generate all the numbers from 2 to n
|
|
function gen (n) return coroutine.wrap(function () for i=2,n do coroutine.yield(i) end end) end
|
|
|
|
-- filter the numbers generated by `g', removing multiples of `p'
|
|
function filter (p, g) return coroutine.wrap(function () for n in g do if n%p ~= 0 then coroutine.yield(n) end end end) end
|
|
|
|
N=N or 500 -- from command line
|
|
x = gen(N) -- generate primes up to N
|
|
while 1 do
|
|
local n = x() -- pick a number until done
|
|
if n == nil then break end
|
|
print(n) -- must be a prime number
|
|
x = filter(n, x) -- now remove its multiples
|
|
end
|
|
|
|
file.remove("mylistener.lua")
|
|
file.open("mylistener.lua","w")
|
|
file.writeline([[gpio2 = 9]])
|
|
file.writeline([[gpio0 = 8]])
|
|
file.writeline([[gpio.mode(gpio2,gpio.OUTPUT)]])
|
|
file.writeline([[gpio.write(gpio2,gpio.LOW)]])
|
|
file.writeline([[gpio.mode(gpio0,gpio.OUTPUT)]])
|
|
file.writeline([[gpio.write(gpio0,gpio.LOW)]])
|
|
file.writeline([[l1="0\n"]])
|
|
file.writeline([[l2="0\n"]])
|
|
file.writeline([[l3="0\n"]])
|
|
file.writeline([[l4="0\n"]])
|
|
file.writeline([[sv=net.createServer(net.TCP, 5) ]])
|
|
file.writeline([[sv:listen(4000,function(c)]])
|
|
file.writeline([[c:on("disconnection", function(c) print("Bye") end )]])
|
|
file.writeline([[c:on("receive", function(sck, pl) ]])
|
|
-- file.writeline([[print(pl) ]])
|
|
file.writeline([[if (pl=="GO1\n") then c:send(l1) ]])
|
|
file.writeline([[elseif pl=="GO2\n" then c:send(l2) ]])
|
|
file.writeline([[elseif pl=="GO3\n" then c:send(l3) ]])
|
|
file.writeline([[elseif pl=="GO4\n" then c:send(l4) ]])
|
|
file.writeline([[elseif pl=="YES1\n" then l1="1\n" c:send("OK\n") gpio.write(gpio2,gpio.HIGH) ]])
|
|
file.writeline([[elseif pl=="NO1\n" then l1="0\n" c:send("OK\n") gpio.write(gpio2,gpio.LOW) ]])
|
|
file.writeline([[elseif pl=="YES2\n" then l2="1\n" c:send("OK\n") gpio.write(gpio0,gpio.HIGH) ]])
|
|
file.writeline([[elseif pl=="NO2\n" then l2="0\n" c:send("OK\n") gpio.write(gpio0,gpio.LOW) ]])
|
|
file.writeline([[elseif pl=="YES3\n" then l3="1\n" c:send("OK\n") print(node.heap()) ]])
|
|
file.writeline([[elseif pl=="NO3\n" then l3="0\n" c:send("OK\n") print(node.heap()) ]])
|
|
file.writeline([[elseif pl=="YES4\n" then l4="1\n" c:send("OK\n") print(node.heap()) ]])
|
|
file.writeline([[elseif pl=="NO4\n" then l4="0\n" c:send("OK\n") print(node.heap()) ]])
|
|
file.writeline([[else c:send("0\n") print(node.heap()) ]])
|
|
file.writeline([[end]])
|
|
file.writeline([[end)]])
|
|
file.writeline([[end)]])
|
|
file.close()
|
|
|
|
file.remove("myli.lua") file.open("myli.lua","w")
|
|
file.writeline([[sv=net.createServer(net.TCP, 5) ]])
|
|
file.writeline([[sv:listen(4000,function(c)]])
|
|
file.writeline([[c:on("disconnection", function(c) print("Bye") end )]])
|
|
--file.writeline([[c:on("sent", function(c) c:close() end )]])
|
|
file.writeline([[c:on("receive", function(sck, pl) ]])
|
|
file.writeline([[sck:send("0\n") print(node.heap()) ]])
|
|
file.writeline([[end)]]) file.writeline([[end)]]) file.close()
|
|
|
|
sv=net.createServer(net.TCP, 50) sv:listen(4000,function(c) c:on("disconnection",function(c) print("Bye") end)
|
|
c:on("receive", function(sck, pl) sck:send("0\n") print(node.heap()) end) end)
|
|
|
|
sv=net.createServer(net.TCP, 5) sv:listen(4000,function(c) c:on("disconnection",function(c) print("Bye") end)
|
|
c:on("receive", function(sck, pl) sck:send("0\n") print(node.heap()) end) c:on("sent", function(sck) sck:close() end) end)
|
|
|
|
s=net.createServer(net.UDP)
|
|
s:on("receive",function(s,c) print(c) end)
|
|
s:listen(8888)
|
|
|
|
print("This is a long long long line to test the memory limit of nodemcu firmware\n")
|
|
collectgarbage("setmemlimit",8)
|
|
print(collectgarbage("getmemlimit"))
|
|
|
|
tmr.alarm(1,5000,1,function() print("alarm 1") end)
|
|
tmr.stop(1)
|
|
|
|
tmr.alarm(0,1000,1,function() print("alarm 0") end)
|
|
tmr.stop(0)
|
|
|
|
tmr.alarm(2,2000,1,function() print("alarm 2") end)
|
|
tmr.stop(2)
|
|
|
|
tmr.alarm(6,2000,1,function() print("alarm 6") end)
|
|
tmr.stop(6)
|
|
|
|
for k,v in pairs(_G.package.loaded) do print(k) end
|
|
for k,v in pairs(d) do print("n:"..k..", s:"..v) end
|
|
|
|
a="pin=9"
|
|
t={}
|
|
for k, v in string.gmatch(a, "(%w+)=(%w+)") do t[k]=v end
|
|
print(t["pin"])
|
|
|
|
function switch() gpio.mode(4,gpio.OUTPUT) gpio.mode(5,gpio.OUTPUT) tmr.delay(1000000) print("hello world") end
|
|
tmr.alarm(0,10000,0,function () uart.setup(0,9600,8,0,1) end) switch()
|
|
|
|
sk=net.createConnection(net.TCP, 0) sk:on("receive", function(sck, c) print(c) end ) sk:connect(80,"www.nodemcu.com") sk:send("GET / HTTP/1.1\r\nHost: www.nodemcu.com\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n")
|
|
|
|
sk=net.createConnection(net.TCP, 0) sk:on("receive", function(sck, c) print(c) end )
|
|
sk:on("connection", function(sck) sck:send("GET / HTTP/1.1\r\nHost: www.nodemcu.com\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n") end ) sk:connect(80,"www.nodemcu.com")
|
|
|
|
|
|
sk=net.createConnection(net.TCP, 0) sk:on("receive", function(sck, c) print(c) end ) sk:connect(80,"115.239.210.27")
|
|
sk:send("GET / HTTP/1.1\r\nHost: 115.239.210.27\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n")
|
|
|
|
sk=net.createConnection(net.TCP, 1) sk:on("receive", function(sck, c) print(c) end )
|
|
sk:on("connection", function(sck) sck:send("GET / HTTPS/1.1\r\nHost: www.google.com.hk\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n") end ) sk:connect(443,"173.194.72.199")
|
|
|
|
wifi.sta.setip({ip="192.168.18.119",netmask="255.255.255.0",gateway="192.168.18.1"})
|
|
|
|
uart.on("data","\r",function(input) if input=="quit\r" then uart.on("data") else print(input) end end, 0)
|
|
uart.on("data","\n",function(input) if input=="quit\n" then uart.on("data") else print(input) end end, 0)
|
|
uart.on("data", 5 ,function(input) if input=="quit\r" then uart.on("data") else print(input) end end, 0)
|
|
|
|
uart.on("data","\r",function(input) if input=="quit" then uart.on("data") else print(input) end end, 1)
|