NodeMCU v2 Lua WiFi 開發板 | 拾書所

NodeMCU v2 Lua WiFi 開發板

$ 300 元 原價 300

開源韌體下載位址

 

此為適合插入麵包板使用、採用 ESP-12E 4MB Flash 模組之最新改良版,使用時請搭配使用 1.0 版本以上之開發工具

示例

 

拿到開發板了?我們開始吧

連接到路由器

 

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
-->

Brand Slider