通过前面的wifi,net,gpio模块的学习 现在可以在局域网内控制D4口 使 8266的蓝灯亮或灭了
8266 创建服务器,手机的TCP测试助手发送 开/关控制:
代码: 8266:
wifi.setmode(wifi.SOFTAP)
led = 4gpio.mode(led, gpio.OUTPUT)cfg={}
cfg.ssid="8266wifi"
cfg.pwd="zfw123456"wifi.ap.config(cfg)
print(wifi.ap.getip())sv = net.createServer(net.TCP,300)
sv:listen(80,function(c)
c:on("receive",function(c,msg)
if(msg=="open") then
gpio.write(led, gpio.LOW)
else
if(msg=="close") then
gpio.write(led, gpio.HIGH)
end
end
end)
c:send(" tcp connection..")
end)
手机端创建TCO client 连接 192.168.4.1 80
发送 open 灯亮, 发送 close 灯灭
文章图片
文章图片
改进 双方添加反馈 通过
gpio.read(led)
获取 led的状态从而回复client 是否成功又是一顿
if else
给你吃添加上判断 led 的状态就可以了
if(gpio.read(led)==0) then
c:send("open succeed!")
else
c:send("open failed!")
end
if(gpio.read(led)==1) then
c:send("close succeed!")
else
c:send("close failed!")
end
总代码:
wifi.setmode(wifi.SOFTAP)
led = 4gpio.mode(led, gpio.OUTPUT)cfg={}
cfg.ssid="8266wifi"
cfg.pwd="zfw123456"wifi.ap.config(cfg)
print(wifi.ap.getip())sv = net.createServer(net.TCP,300)
sv:listen(80,function(c)
c:on("receive",function(c,msg)
print("client let u "..msg.." led")
if(msg=="open") then
gpio.write(led, gpio.LOW)
if(gpio.read(led)==0) then
c:send("open succeed!")
else
c:send("open failed!")
end
else
if(msg=="close") then
gpio.write(led, gpio.HIGH)
if(gpio.read(led)==1) then
c:send("close succeed!")
else
c:send("close failed!")
end
end
end
end)
c:send(" tcp connection..")
end)
文章图片
手机:
【【IOT】nodeMCU(五-下)通过TCP通信局域网实现控制灯】
文章图片
推荐阅读
- NodeMCU(1)环境搭建与固件烧录
- NodeMCU网络UDP客户端请求,示例代码(C++开发)
- NodeMCU的smartConfig功能代码实现手机app配置模块连接网络(C++开发)
- 物联网|NodeMcu—局域网通信
- 编程语言|关于NodeMCU的内存测试
- NodeMCU--MQTT学习笔记(一)
- 硬件|从无到有玩NodeMcu(web端控制)
- 使用nodemcu玩转物联网系列(二)(nodemcu做为station模式连接无线路由器)
- ESP8266|NodeMCU介绍
- NodeMCU|NodeMCU入门,烧程序点灯。