通过前面的wifi,net,gpio模块的学习
现在可以在局域网内控制D4口 使 8266的蓝灯亮或灭了 8266 创建服务器,手机的TCP测试助手发送 开/关控制:
代码:
8266:
wifi.setmode(wifi.SOFTAP)
led = 4
gpio.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 = 4
gpio.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)
手机: