nodeMCU Lua ESP8266第三课 内网控制LED

这篇教程详细介绍了如何使用nodeMCU和ESP8266通过Lua实现内网控制LED。内容包括设置WiFi连接、创建服务器监听80端口、解析接收数据,并提供了代码示例。通过远程控制,用户可以利用同一路由器的设备通过输入ESP的IP地址来开关LED灯。

写在前面的话:个人学习笔记,抛砖引玉,希望有兴趣的人加入QQ群415469069一起讨论,欢迎有共同爱好的人。 

本教程以ESP-12N,CP2102开发板为例进行讲解。

  • 代码。

--wifi_light.lua

wifi.setmode(wifi.STATION)  

wifi.sta.config("YOUR_NETWORK_NAME","YOUR_NETWORK_PASSWORD")  

print(wifi.sta.getip())  

led1 = 0   

gpio.mode(led1, gpio.OUTPUT)  

srv=net.createServer(net.TCP)  

srv:listen(80,function(conn)  

    conn:on("receive", function(client,request)  

        local buf = "";  

        local _, _, method, path, vars = string.find(request, "([A-Z]+) (.+)?(.+) HTTP");  

        if(method == nil)then  

            _, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP");  

        end  

        local _GET = {}  

        if (vars ~= nil)then  

            for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do  

                _GET[k] = v  

            end  

        end  

        buf = buf.."<h1> ESP8266 Web Server</h1>";  

        buf = buf.."<p>GPIO16 <a href=\"?pin=ON1\"><button>ON</button></a> <a href=\"?pin=OFF1\"><button>OFF</button></a></p>";  

        if(_GET.pin == "ON1")then  

              gpio.write(led1, gpio.LOW);  

        elseif(_GET.pin == "OFF1")then  

              gpio.write(led1, gpio.HIGH);  

        end  

        client:send(buf);  

        client:close();  

        collectgarbage();  

    end)  

end)  

 

二、说明:

  1. ,wifi模式为station,输入wifi名和密码进行配置。

句法:wifi.setmode(mode[, save])

作用:配置WiFi模式使用

参数:

mode 价值应该是其中之一

wifi.STATION:当设备连接到WiFi路由器时。这通

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值