123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521 |
- 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.sta.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: 192.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:on("receive",function(s,c) print(c) end)
- s:listen(5683)
- su=net.createConnection(net.UDP)
- su:on("receive",function(su,c) print(c) end)
- su:connect(5683,"192.168.18.101")
- su:send("hello")
- 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
- 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.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(_G) 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", 0 ,function(input) if input=="q" 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)
- for k, v in pairs(file.list()) do print('file:'..k..' len:'..v) end
- m=mqtt.Client()
- m:connect("192.168.18.101",1883)
- m:subscribe("/topic",0,function(m) print("sub done") end)
- m:on("message",function(m,t,pl) print(t..":") if pl~=nil then print(pl) end end )
- m:publish("/topic","hello",0,0)
- uart.setup(0,9600,8,0,1,0)
- sv=net.createServer(net.TCP, 60)
- global_c = nil
- sv:listen(9999, function(c)
- if global_c~=nil then
- global_c:close()
- end
- global_c=c
- c:on("receive",function(sck,pl) uart.write(0,pl) end)
- end)
- uart.on("data",4, function(data)
- if global_c~=nil then
- global_c:send(data)
- end
- end, 0)
- file.open("hello.lua","w+")
- file.writeline([[print("hello nodemcu")]])
- file.writeline([[print(node.heap())]])
- file.close()
- node.compile("hello.lua")
- dofile("hello.lua")
- dofile("hello.lc")
- -- use copper addon for firefox
- cs=coap.Server()
- cs:listen(5683)
- myvar=1
- cs:var("myvar") -- get coap://192.168.18.103:5683/v1/v/myvar will return the value of myvar: 1
- -- function should tack one string, return one string.
- function myfun(payload)
- print("myfun called")
- respond = "hello"
- return respond
- end
- cs:func("myfun") -- post coap://192.168.18.103:5683/v1/f/myfun will call myfun
- cc = coap.Client()
- cc:get(coap.CON, "coap://192.168.18.100:5683/.well-known/core")
- cc:post(coap.NON, "coap://192.168.18.100:5683/", "Hello")
- file.open("test1.txt", "a+") for i = 1, 100*1000 do file.write("x") end file.close() print("Done.")
- for n,s in pairs(file.list()) do print(n.." size: "..s) end
- file.remove("test1.txt")
- for n,s in pairs(file.list()) do print(n.." size: "..s) end
- file.open("test2.txt", "a+") for i = 1, 1*1000 do file.write("x") end file.close() print("Done.")
- function TestDNSLeak()
- c=net.createConnection(net.TCP, 0)
- c:connect(80, "bad-name.tlddfdf")
- tmr.alarm(1, 3000, 0, function() print("hack socket close, MEM: "..node.heap()) c:close() end) -- socket timeout hack
- print("MEM: "..node.heap())
- end
- v="abc%0D%0Adef"
- print(string.gsub(v, "%%(%x%x)", function(x) return string.char(tonumber(x, 16)) end))
- function ex(x) string.find("abc%0Ddef","bc") return 's' end
- string.gsub("abc%0Ddef", "%%(%x%x)", ex)
- function ex(x) string.char(35) return 's' end
- string.gsub("abc%0Ddef", "%%(%x%x)", ex) print("hello")
- function ex(x) string.lower('Ab') return 's' end
- string.gsub("abc%0Ddef", "%%(%x%x)", ex) print("hello")
- v="abc%0D%0Adef"
- pcall(function() print(string.gsub(v, "%%(%x%x)", function(x) return string.char(tonumber(x, 16)) end)) end)
- mosca -v | bunyan
- m=mqtt.Client()
- m:connect("192.168.18.88",1883)
- topic={}
- topic["/topic1"]=0
- topic["/topic2"]=0
- m:subscribe(topic,function(m) print("sub done") end)
- m:on("message",function(m,t,pl) print(t..":") if pl~=nil then print(pl) end end )
- m:publish("/topic1","hello",0,0)
- m:publish("/topic3","hello",0,0) m:publish("/topic4","hello",0,0)
- m=mqtt.Client()
- m:connect("192.168.18.88",1883)
- m:subscribe("/topic1",0,function(m) print("sub done") end)
- m:subscribe("/topic2",0,function(m) print("sub done") end)
- m:on("message",function(m,t,pl) print(t..":") if pl~=nil then print(pl) end end )
- m:publish("/topic1","hello",0,0)
- m:publish("/topic3","hello",0,0) m:publish("/topic4","hello",0,0)
- m:publish("/topic1","hello1",0,0) m:publish("/topic2","hello2",0,0)
- m:publish("/topic1","hello",1,0)
- m:subscribe("/topic3",0,function(m) print("sub done") end)
- m:publish("/topic3","hello3",2,0)
- m=mqtt.Client()
- m:connect("192.168.18.88",1883, function(con) print("connected hello") end)
- m=mqtt.Client()
- m:on("connect",function(m) print("connection") end )
- m:connect("192.168.18.88",1883)
- m:on("offline",function(m) print("disconnection") end )
- m=mqtt.Client()
- m:on("connect",function(m) print("connection "..node.heap()) end )
- m:on("offline", function(conn)
- if conn == nil then print("conn is nil") end
- print("Reconnect to broker...")
- print(node.heap())
- conn:connect("192.168.18.88",1883,0,1)
- end)
- m:connect("192.168.18.88",1883,0,1)
- m=mqtt.Client()
- m:on("connect",function(m) print("connection "..node.heap()) end )
- m:on("offline", function(conn)
- if conn == nil then print("conn is nil") end
- print("Reconnect to broker...")
- print(node.heap())
- conn:connect("192.168.18.88",1883)
- end)
- m:connect("192.168.18.88",1883)
- m:close()
- m=mqtt.Client()
- m:connect("192.168.18.88",1883)
- m:on("message",function(m,t,pl) print(t..":") if pl~=nil then print(pl) end end )
- m:subscribe("/topic1",0,function(m) print("sub done") end)
- m:publish("/topic1","hello3",2,0) m:publish("/topic1","hello2",2,0)
- m:publish("/topic1","hello3",0,0) m:publish("/topic1","hello2",2,0)
- m:subscribe("/topic2",2,function(m) print("sub done") end)
- m:publish("/topic2","hello3",0,0) m:publish("/topic2","hello2",2,0)
- m=mqtt.Client()
- m:on("connect",function(m)
- print("connection "..node.heap())
- m:subscribe("/topic1",0,function(m) print("sub done") end)
- m:publish("/topic1","hello3",0,0) m:publish("/topic1","hello2",2,0)
- end )
- m:on("offline", function(conn)
- print("disconnect to broker...")
- print(node.heap())
- end)
- m:connect("192.168.18.88",1883,0,1)
- -- serout( pin, firstLevel, delay_table, [repeatNum] )
- gpio.mode(1,gpio.OUTPUT,gpio.PULLUP)
- gpio.serout(1,1,{30,30,60,60,30,30}) -- serial one byte, b10110010
- gpio.serout(1,1,{30,70},8) -- serial 30% pwm 10k, lasts 8 cycles
- gpio.serout(1,1,{3,7},8) -- serial 30% pwm 100k, lasts 8 cycles
- gpio.serout(1,1,{0,0},8) -- serial 50% pwm as fast as possible, lasts 8 cycles
- gpio.mode(1,gpio.OUTPUT,gpio.PULLUP)
- gpio.serout(1,0,{20,10,10,20,10,10,10,100}) -- sim uart one byte 0x5A at about 100kbps
- gpio.serout(1,1,{8,18},8) -- serial 30% pwm 38k, lasts 8 cycles
- -- Lua: mqtt.Client(clientid, keepalive, user, pass)
- -- test with cloudmqtt.com
- m_dis={}
- function dispatch(m,t,pl)
- if pl~=nil and m_dis[t] then
- m_dis[t](pl)
- end
- end
- function topic1func(pl)
- print("get1: "..pl)
- end
- function topic2func(pl)
- print("get2: "..pl)
- end
- m_dis["/topic1"]=topic1func
- m_dis["/topic2"]=topic2func
- m=mqtt.Client("nodemcu1",60,"test","test123")
- m:on("connect",function(m)
- print("connection "..node.heap())
- m:subscribe("/topic1",0,function(m) print("sub done") end)
- m:subscribe("/topic2",0,function(m) print("sub done") end)
- m:publish("/topic1","hello",0,0) m:publish("/topic2","world",0,0)
- end )
- m:on("offline", function(conn)
- print("disconnect to broker...")
- print(node.heap())
- end)
- m:on("message",dispatch )
- m:connect("m11.cloudmqtt.com",11214,0,1)
- -- Lua: mqtt:connect( host, port, secure, auto_reconnect, function(client) )
- tmr.alarm(0,10000,1,function() local pl = "time: "..tmr.time()
- m:publish("/topic1",pl,0,0)
- end)
|