ESP8266 MPSM v.2 DevBoard - huvudbrytaren WIFI Web Power (6 / 7 steg)
Steg 6: Elnätet Power Switch Software
Power Switch funktion och webbserver programvara är mer eller mindre samma som i föregående artikel om strömmen CBDB WIFI växlavi kommer bara att ändra används GPIO PIN-koden för Triac opto kommandot pin från outpin = 3 till outpin = 1 att korrekt återspegla vår nya MPSM v2 styrelse konfiguration.
För programmering MPSMv2 styrelse och ladda upp drivrutinen och programvaran kommer vi fortsätta att använda LuaUploader som tidigare.
- Definiera används GPIO pin:
outpin = 1--Välj Triac kommandot PIN - GPIO5
gpio.mode (outpin, gpio. OUTPUT)
gpio.write (outpin, gpio. LÅG) - Strömbrytaren fungerar, agerar utifrån mottagna kommando:
funktion PwrSW(swstat,payload)
gpio.mode (outpin, gpio. OUTPUT)
newstat=String.sub(Payload,swstat[2]+1,#Payload)
status = newstat
om newstat == "På" sedan gpio.write (outpin, gpio. HIGH) return end
om newstat == "OFF" sedan gpio.write (outpin, gpio. LOW) return end
slutet - Skicka sidfunktion baserat på begäran:
funktion sendPage(conn)
Conn: send('HTTP/1.1 200 OK\n\n')
Conn: send('<! DOCTYPE HTML >')
Conn: send('<html>')
Conn: send('<head><meta content="text/html; charset=utf-8"><style>input{width: 100px; height: 100px;} < / stil >')
Conn: send('<title>ESP8266-Power Switch Controller</title></head>')
Conn: send('<body><h1>Power Switch Controller</h1>')
Conn: send('Status: <b>')
om (status == "På") sedan conn: send('<B><font color=red>ON</font></B>')
ElseIf (status == "OFF") sedan conn: send('<B><font color=green>OFF</font></B>')
annat
Conn:send(status)
Conn:send('%')
slutet
Conn: send('</b><br /><br />')
Conn: send('<form action="/" method="POST">')om (status == "På") sedan conn: send('<input type="submit" style="background-color:red" name="cmd1" value="OFF"/><br /><br />')
ElseIf (status == "OFF") sedan conn: send('<input style="background-color:green" type="submit" name="cmd1" value="ON"/>')
slutetConn: send('</form>')
Conn: send('</body></html>')
slutet - Web Server:
SRV=net.createServer (net. TCP)
SRV:listen(80,function(Conn)
Conn: on("receive", function(conn,payload)
--nästa rad är för felsökning utgång endast
--Print(Payload)
om (string.find (payload, "få/HTTP/1.1") ~ = noll) sedan
skriva ut ("få mottagna")
sendPage(conn)
annat
swstat={String.find(Payload,"cmd1=")}
--Om bokför värde finns, ange LED power
om swstat [2] ~ = noll då
skriva ut ("kommando fick:".. nyttolast)
PwrSW(swstat,payload)
sendPage(conn)
slutet
slutet
avsluta)
Conn: on("sent", function(conn)
Conn: close()
skriva ut ("anslutning" stängt")
avsluta)
avsluta)
Spara kod på ESP som "web_switch.lua", starta om ESP och kör:
=WiFi.sta.getip()--hitta IP-adressen där nya webbservern kommer att
dofile("web_switch.lua")--Start webbservern
Öppna din favorit webbläsare och skriv din nya Web Server IP-adress. Om alla ok, ska titta något som nedan:
Om du vill att Programvaran Web strömbrytaren ska starta automatiskt när brädan MPCMv2 startar eller startar, sedan du neet skapa och lägga till några rader i filen "init.lua":
TMR.Now()--för debug bara, kan du hoppa över det
WiFi.sta.getmac()--för debug bara, kan du hoppa över det
WiFi.sta.getip()--för debug bara, kan du hoppa över itnode.heap()
dofile("web_switch.lua")--behövs för att starta webbserver för kommandoindata
Starta om ESP spara koden på ESP som 'init.lua'. Det bör starta och starta om automatiskt programmet och initiera om webbservern: