ESP8266 的几个代码 加深对LUA的理解

--some functions
dofile("functions.lua")
lighton1=0
lighton2=0
lighton3=0
lighton4=0

pin1 = 0
pin2 = 1
pin3 = 4
pin4 = 5
gpio.mode(pin1,gpio.OUTPUT)
gpio.mode(pin2,gpio.OUTPUT)
gpio.mode(pin3,gpio.OUTPUT)
gpio.mode(pin4,gpio.OUTPUT)

--pin1
tmr.alarm(0,1000,1,function()
if lighton1==0 then 
    lighton1=1 
    gpio.write(pin1,gpio.LOW)
    -- 512/1024, 50% duty cycle
else 
    lighton1=0 
    gpio.write(pin1,gpio.HIGH)
end 
end)
--pin2
tmr.alarm(1,1000,1,function()
if lighton2==0 then 
    lighton2=1 
    gpio.write(pin2,gpio.LOW)
    -- 512/1024, 50% duty cycle
else 
    lighton2=0 
    gpio.write(pin2,gpio.HIGH)
end 
end)
--pin3
tmr.alarm(2,1000,1,function()
if lighton3==0 then 
    lighton3=1 
    gpio.write(pin3,gpio.LOW)
    -- 512/1024, 50% duty cycle
else 
    lighton3=0 
    gpio.write(pin3,gpio.HIGH)
end 
end)
--pin4
tmr.alarm(3,1000,1,function()
if lighton4==0 then 
    lighton4=1 
    gpio.write(pin4,gpio.LOW)
    -- 512/1024, 50% duty cycle
else 
    lighton4=0 
    gpio.write(pin4,gpio.HIGH)
end 
end)
dofile("sjson.lua")
--inti.lua
--sjson.lua
name = "lxx" print("Hello world!") print(name .. ",nihao!")
--functions.lua
function
startup() if file.open("init.lua") == nil then print("init.lua deleted or renamed") else print("Running") file.close("init.lua") -- the actual application is stored in 'application.lua' -- dofile("application.lua") end end -- Define WiFi station event callbacks wifi_connect_event = function(T) print("Connection to AP("..T.SSID..") established!") print("Waiting for IP address...") if disconnect_ct ~= nil then disconnect_ct = nil end end wifi_got_ip_event = function(T) -- Note: Having an IP address does not mean there is internet access! -- Internet connectivity can be determined with net.dns.resolve(). print("Wifi connection is ready! IP address is: "..T.IP) print("Startup will resume momentarily, you have 3 seconds to abort.") print("Waiting...") tmr.create():alarm(3000, tmr.ALARM_SINGLE, startup) end wifi_disconnect_event = function(T) if T.reason == wifi.eventmon.reason.ASSOC_LEAVE then --the station has disassociated from a previously connected AP return end -- total_tries: how many times the station will attempt to connect to the AP. Should consider AP reboot duration. local total_tries = 75 print("\nWiFi connection to AP("..T.SSID..") has failed!") --There are many possible disconnect reasons, the following iterates through --the list and returns the string corresponding to the disconnect reason. for key,val in pairs(wifi.eventmon.reason) do if val == T.reason then print("Disconnect reason: "..val.."("..key..")") break end end if disconnect_ct == nil then disconnect_ct = 1 else disconnect_ct = disconnect_ct + 1 end if disconnect_ct < total_tries then print("Retrying connection...(attempt "..(disconnect_ct+1).." of "..total_tries..")") else wifi.sta.disconnect() print("Aborting connection to AP!") disconnect_ct = nil end end

 

posted @ 2018-03-28 15:51  避暑山庄  阅读(659)  评论(0编辑  收藏  举报