ESP8266 baserad web konfigurerbara wifi generell kontroll (del I) (5 / 7 steg)
Steg 5: Ett mer utarbetade LUA exempel: GPIO0 blinker med reset signal på GPIO2
Vi kommer att skriva lite kod som sätter upp GPIO0 och GPIO2, skapar en TCP-server och visar GPIO0 på och av "n" flera gånger efter värdet som skickas via TCP, efter slutförandet av sekvensen visar det GPIO2 av och på så den kan användas som en reset signal. Här går:
--Öppna filen för att skriva
File.Open("init.lua","w")
--Öppna filen för att skriva
File.WriteLine ([[Skriv ut ("GPIO0 blinker och GPIO2 reset)]])
--Öppna GPIO0 och 2 för utdata
File.WriteLine ([[gpio.mode (8, gpio. OUTPUT)]])
File.WriteLine ([[gpio.mode (9, gpio. OUTPUT)]])
--Vänta lite för att säkerställa att
File.WriteLine([[TMR.Delay(10)]])
--Cykel GPIO2 så den kan användas som reset signal
Ile.WriteLine ([[gpio.write (8, gpio. HÖG)]])
File.WriteLine([[TMR.Delay(10)]])
File.WriteLine ([[gpio.write (8, gpio. LÅG)]])
--Skapa TCP server
File.WriteLine ([[sv=net.createServer (net. TCP, 30)]])
--Lyssna på port 9999 och callback funktion "c"
File.WriteLine([[sv:listen(9999,function(c)]])
--Vänta till nyttolasten "pl" tas emot
File.WriteLine ([[c: på ("får", funktion (c, pl)]])
--Check för giltigt tal fick (bör vara mellan 1 och 16 för detta exempel)
File.WriteLine ([[om tonumber(pl) ~ = noll då]])
File.WriteLine ([[if tonumber(pl) > = 1 och tonumber(pl) < = 16 då]])
File.WriteLine([[Print(tonumber(pl))]])
File.WriteLine([[TMR.Delay(10)]])
--Skicka en annan reset händelse på GPIO2
File.WriteLine ([[gpio.write (8, gpio. HÖG)]])
File.WriteLine ([[gpio.write (8, gpio. LÅG)]])
--Loop enligt antalet mottagna
File.WriteLine ([[för count =1,tonumber(pl) do]])
File.WriteLine ([[print(count)]])
File.WriteLine([[TMR.Delay(10)]])
--Blinka GPIO0 file.writeline ([[gpio.write (9, gpio. LÅG)]])
File.WriteLine([[TMR.Delay(10)]])
File.WriteLine ([[gpio.write (9, gpio. HÖG)]])
File.WriteLine ([[c:send("Sequence finished")]])
File.WriteLine([[end]])
Ile.WriteLine([[end]])
File.WriteLine([[end]])
File.WriteLine ([[c:send("Action completed")]])
File.WriteLine([[end)]])
File.WriteLine([[end)]])
File.Close()
Kan skicka filen till modulen. Du bör se utdata visas i bilden.