開源韌體下載位址
此為適合插入麵包板使用、採用 ESP-12E 4MB Flash 模組之最新改良版,使用時請搭配使用 1.0 版本以上之開發工具
- 韌體本身請至 https://github.com/nodemcu/nodemcu-devkit-v1.0 下載。
- 燒錄韌體請至 https://github.com/nodemcu/nodemcu-flasher 下載。
示例
拿到開發板了?我們開始吧
連接到路由器
print(wifi.sta.getip())
--nil
wifi.setmode(wifi.STATION)
wifi.sta.config("SSID","password")
print(wifi.sta.getip())
--192.168.18.110
像Arduino一樣操作IO
pin = 1
gpio.mode(pin,gpio.OUTPUT)
gpio.write(pin,gpio.HIGH)
gpio.mode(pin,gpio.INPUT)
print(gpio.read(pin))
簡單的HTTP客戶端
-- A simple http client
conn=net.createConnection(net.TCP, false)
conn:on("receive", function(conn, pl) print(pl) end)
conn:connect(80,"121.41.33.127")
conn:send("GET / HTTP/1.1
Host: www.nodemcu.com
"
.."Connection: keep-alive
Accept: */*
")
更簡單的HTTP服務器
-- a simple http server
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
conn:on("receive",function(conn,payload)
print(payload)
conn:send("<h1> Hello, NodeMCU.</h1>")
end)
end)
PWM操作
function led(r,g,b)
pwm.setduty(1,r)
pwm.setduty(2,g)
pwm.setduty(3,b)
end
pwm.setup(1,500,512)
pwm.setup(2,500,512)
pwm.setup(3,500,512)
pwm.start(1)
pwm.start(2)
pwm.start(3)
led(512,0,0) -- red
led(0,0,512) -- blue
閃爍LED
lighton=0
tmr.alarm(0,1000,1,function()
if lighton==0 then
lighton=1
led(512,512,512)
-- 512/1024, 50% duty cycle
else
lighton=0
led(0,0,0)
end
end)
啟動文件
--init.lua will be excuted
file.open("init.lua","w")
file.writeline([[print("Hello World!")]])
file.close()
node.restart() -- this will restart the module.
用定時器來循環執行
tmr.alarm(1,5000,1,function() print("alarm 1") end)
tmr.alarm(0,1000,1,function() print("alarm 0") end)
tmr.alarm(2,2000,1,function() print("alarm 2") end)
-- after sometime
tmr.stop(0)
純 Lua 寫的 telnet 服務器
-- a simple telnet server
s=net.createServer(net.TCP,180)
s:listen(2323,function(c)
function s_output(str)
if(c~=nil)
then c:send(str)
end
end
node.output(s_output, 0)
-- re-direct output to function s_ouput.
c:on("receive",function(c,l)
node.input(l)
--like pcall(loadstring(l)), support multiple separate lines
end)
c:on("disconnection",function(c)
node.output(nil)
--unregist redirect output function, output goes to serial
end)
print("Welcome to NodeMCU world.")
end)
與傳感器接口
-- read temperature with DS18B20
t=require("ds18b20")
t.setup(9)
addrs=t.addrs()
-- Total DS18B20 numbers, assume it is 2
print(table.getn(addrs))
-- The first DS18B20
print(t.read(addrs[1],t.C))
print(t.read(addrs[1],t.F))
print(t.read(addrs[1],t.K))
-- The second DS18B20
print(t.read(addrs[2],t.C))
print(t.read(addrs[2],t.F))
print(t.read(addrs[2],t.K))
-- Just read
print(t.read())
-- Just read as centigrade
print(t.read(nil,t.C))
-- Don't forget to release it after use
t = nil
ds18b20 = nil
package.loaded["ds18b20"]=nil
原廠網址:http://www.nodemcu.com/index_cn.html
NodeMCU超簡單的物聯網開發平台
一款開源快速硬件原型平台,包括固件和開發板,用幾行簡單的Lua腳本就能開發物聯網應用
特點
開源,交互式,可編程,低成本,簡單,智能,WI-FI硬件
像Arduino一樣操作硬件IO
提供硬件的高級接口,可以將應用開發者從繁複的硬件配置、寄存器操作中解放出來。用交互式Lua腳本,像arduino一樣編寫硬件代碼!
Reference demo_5
In stock 297 Items
Data sheet
- Compositions
- Viscose
- Styles
- Casual
- Properties
- Maxi Dress