这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 制作自己的wifi开关 ESP8266 lua开发 通过发送"open"和"

共1条 1/1 1 跳转至

制作自己的wifi开关 ESP8266 lua开发 通过发送"open"和"close"控制继电器

菜鸟
2018-11-09 16:04:49     打赏

先看下ESP8266控制继电器的原理图


0.png




先传下使用到的工具:lua开发固件.zip

其他工具请参考链接:https://pan.baidu.com/s/1V4PBsZugO70Vpb8fR-w43A 

提取码:sp97 

其中有烧写固件的软件; 空白固件; lua开发工具等


ESP8266烧写lua开发固件后只需要使用lua进行开发即可

下面是lua开发的源码; ESP8266模块内部默认的是init.lua文件 想要在添加问价文件只能在init.lua文件中通过dofile加载其他文件


在本次的wifi开关中  只是用了两个.lua 文件  一个是"init.lua"用于初始化继电器IO,加载tcpserver.lua文件   另一个就是"tcpserver.lua"文件,在该文件中实现了模块的开放热点,建立TCP服务器,监听端口  接收TCP客户端发送的数据, 解析控制继电器的指令实现控制继电器等 ;


直接贴程序:

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文件结束

1.png

2.png



手机连接模块开放的热点,打开网络调试助手

3.png



   建立TCP客户端连接服务器

4.png


APP客户端发送open开继电器


客户端发送close关闭继电器


发送其他数据是不能控制继电器的

9.png


更多资料参考:https://www.cnblogs.com/yangfengwu/category/1099910.html





关键词: esp8266      wifi      开关     TCP    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]