欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: ESP8266 lua設置模塊開放熱點開啟TCP客戶端模式詳解 [打印本頁]

作者: 沙漠之痕    時間: 2018-11-6 14:47
標題: ESP8266 lua設置模塊開放熱點開啟TCP客戶端模式詳解
本帖最后由 沙漠之痕 于 2018-11-7 12:46 編輯

模塊連接路由器和不鏈接路由器直接開放熱點的區別在于,服務器的ip不同

1. 設置模塊工作在AP模式下開放wifi熱點
init.lua文件:
tmr.alarm(0,4000,0,function()
    dofile("tcpclient.lua")
end)
init.lua文件結束
tcpclient.lua文件:
wifi.setmode(wifi.SOFTAP)
local apcfg={
    ssid="ESP8266-open",      
    pwd="11223344"  
}
wifi.ap.config(apcfg)
tcpclient.lua文件結束

手機連接上模塊開放的熱點,但是不能上網

2.手機連接上模塊wifi熱點, 然后用手機創建服務器,與連接路由器時相比服務器的ip改變;先讓客戶端在連接上服務器后再處理斷開連接事件。
init.lua文件:
tmr.alarm(0,4000,0,function()
    dofile("tcpclient.lua")
end)
init.lua文件結束
tcpclient.lua文件:
wifi.setmode(wifi.SOFTAP)
local apcfg={
    ssid="ESP8266-open",      
    pwd="11223344"  
}
wifi.ap.config(apcfg)

tmr.alarm(1,1000,1,function()
        TCPClient = net.createConnection(net.TCP,0)  
        TCPClient:connect(8080,"192.168.4.2")   
        TCPClient:on("receive", function(sck, data)
            uart.write(0,data)
        end)
        TCPClient:on("connection", function(sck, c)
            print("Connection")   
            tmr.stop(1)
            TCPClient:on("disconnection", function(sck, c)
                print("Disconnection")
                tmr.start(1)
            end)
       end)
end)
tcpclient.lua文件結束
服務器ip時手機連接,模塊wifi所分配的,要想查看分配的ip再重新去調整模塊連接服務器時的ip, 此方法與都去連接路由器相比麻煩了些;因為事先不知道手機的ip


3. 手機連接模塊wifi熱點通過“close”關閉繼電器;“open“打開繼電器
init.lua文件:
RELAY_Pin = 1
gpio.mode(RELAY_Pin, gpio.OUTPUT)
gpio.write(RELAY_Pin,0)
tmr.alarm(0,4000,0,function()
    dofile("tcpclient.lua")
end)
init.lua文件結束
tcpclient.lua文件:
LinkStat = 0      
TCPClient = nil   
ClientReceData = ""
ClientReceCnt = 0
ClientReceDataStat = true
wifi.setmode(wifi.SOFTAP)
local apcfg={
    ssid="ESP8266-open",      
    pwd="11223344"  
}
wifi.ap.config(apcfg)
tmr.alarm(1,1000,1,function()
    if LinkStat == 0 then
        TCPClient = net.createConnection(net.TCP,0)  
        TCPClient:connect(8080,"192.168.4.2")   
        TCPClient:on("receive", function(sck, data)
            ClientReceData = ClientReceData..data
            ClientReceCnt = 0
            ClientReceDataStat = true
        end)
        TCPClient:on("connection", function(sck, c)
            LinkStat = 1
            print("Connection")
            tmr.stop(1)
            TCPClient:on("disconnection", function(sck, c)
                LinkStat = 0
                print("Disconnection")
                tmr.start(1)
            end)
       end)
    end
end)
tmr.alarm(2,10,1,function()
    if ClientReceDataStat==true then
        ClientReceCnt=ClientReceCnt+1
        if ClientReceCnt>=10 then --receive finsion
           if ClientReceData=="open" then
                gpio.write(RELAY_Pin,1)
           end
           if ClientReceData=="close" then
                gpio.write(RELAY_Pin,0)
           end
           uart.write(0,ClientReceData)
           ClientReceData = ""
           ClientReceCnt = 0
           ClientReceDataStat = false
       end
   end
end)
tcpclient.lua文件結束




發送其他指令,可以通過串口查看已經接收到,但是不能控制繼電器


ESP8266 開放熱點TCP客戶端源碼.zip (3.11 KB, 下載次數: 25)


交流QQ:1813763867
QQ群:607064330








歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1