标题: 制作自己的wifi开关 ESP8266 lua设置模块开放热点开启TCP服务 [打印本页]

作者: 沙漠之痕    时间: 2018-11-6 14:58
标题: 制作自己的wifi开关 ESP8266 lua设置模块开放热点开启TCP服务
本帖最后由 沙漠之痕 于 2018-11-7 12:49 编辑

1. 模块开放热点,创建TCP服务器
Init.lua文件:
tmr.alarm(0,5000,0,function()
    dofile("tcpserver.lua")
end)
init.lua文件结束
Tcpserver.lua文件
wifi.setmode(wifi.STATIONAP)
local apcfg = {
    ssid="ESP8266-server",   
    pwd="11223344"   
}
wifi.ap.config(apcfg)
local ClientSocket = nil   
Server = net.createServer(net.TCP,28800)
Server:listen(8080,function(socket)
        ClientSocket=socket
        ClientSocket:on("receive",function(sck,data)
           uart.write(0,data)
        end)  
        ClientSocket:on("disconnection",function() ClientSocket=nil
            print("Disconnec")
        end)
    end
)
tcpserver.lua文件结束


2. 模块开放热点,创建服务器,客户端发送”open”打开继电器; 发送”close”关闭继电器
Init.lua文件:
RELAY_Pin = 1
gpio.mode(RELAY_Pin, gpio.OUTPUT)
gpio.write(RELAY_Pin,0)
tmr.alarm(0,5000,0,function()
    dofile("tcpserver.lua")
end)
init.lua文件结束
Tcpserver.lua文件:
ServerReceData = ""
ServerReceCnt = 0
ServerReceStat = false
wifi.setmode(wifi.STATIONAP)
local apcfg = {
    ssid="ESP-server",   
    pwd="11223344"   
}
wifi.ap.config(apcfg)
local ClientSocket = nil   
Server = net.createServer(net.TCP,28800)
Server:listen(8080,function(socket)
        ClientSocket=socket
        ClientSocket:on("receive",function(sck,data)
            ServerReceData = ServerReceData..data
            ServerReceCnt = 0
            ServerReceStat = true
        end)
        ClientSocket:on("disconnection",function() ClientSocket=nil
            print("\r\nDisconnec\r\n")
        end)
    end
)
tmr.alarm(1,10,1,function()
    if ServerReceStat==true then
        ServerReceCnt = ServerReceCnt+1
        if ServerReceCnt >= 10 then
            if ServerReceData=="open" then gpio.write(RELAY_Pin,1) end
            if ServerReceData=="close" then gpio.write(RELAY_Pin,0) end
            uart.write(0,ServerReceData)
            ServerReceData = ""
            ServerReceCnt = 0
            ServerReceStat = false
        end
    end
end)
tcpserver.lua文件结束





与连接路由器相比,个人感觉这种方法比较笨拙,要是可以连接路由器, 若可以连接路由器既可以上网也可以控制继电器, 谁会连接模块热点不能上网去控制, 这里只是简单介绍如何使用。


ESP8266 开放热点tcp服务 lua源码.zip (3.73 KB, 下载次数: 21)


交流QQ:1813763867
QQ群:607064330







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1