六,ESP8266 TCP Client(基于Lua脚本语言)

今天不知道是不是让我姐挺失望.......很多时候都不知道自己努力的方向对不对,,以后能不能带给家人最美好的期盼......

Init.lua 没啥改变,,就改了一下加载Client.lua

 

gpio.mode(4,gpio.OUTPUT)
gpio.mode(2,gpio.OUTPUT)
gpio.write(4,1)

tmr.alarm(0, 1000, 1, function()
    gpio.write(4,1-gpio.read(4))
end)

tmr.alarm(1, 3000, 0, function()
    dofile("Client.lua")
end)

 

 

 

新建了一个Client.lua

 

wifi.setmode(wifi.STATIONAP)

cfg={}
cfg.ssid="Hellow8266"
cfg.pwd="11223344"
wifi.ap.config(cfg)

apcfg={}
apcfg.ssid="qqqqq"
apcfg.pwd="11223344"
wifi.sta.config(apcfg)
wifi.sta.autoconnect(1)

ClientConnectedFlage = 0
TcpConnect = nil
tmr.alarm(1, 1000, 1, function()

    if  ClientConnectedFlage == 0 then
        Client = net.createConnection(net.TCP, 0) 
        Client:connect(8080,"192.168.1.103")

        Client:on("receive", function(Client, data) 
            uart.write(0,data)
        end)
        
        Client:on("connection", function(sck, c) 
            ClientConnectedFlage = 1
            TcpConnect = Client
            print("Link OK")
            tmr.stop(1)

            Client:on("disconnection", function(sck, c) 
                ClientConnectedFlage = 0
                TcpConnect = nil
                tmr.start(1)
            end)
        end)

        if  ClientConnectedFlage == 0 then
            print("Link Error")
        end
    end
end)


uart.on("data",0,function(data) 
    if  TcpConnect ~= nil then
        TcpConnect:send(data)
    end
end, 0)


printip = 0
wifi.eventmon.register(wifi.eventmon.STA_DISCONNECTED, function(T)
    printip = 0
end)


wifi.eventmon.register(wifi.eventmon.STA_GOT_IP, function(T)
   if printip == 0 then
      print("+IP"..T.IP)
   end
   printip = 1
end)

 

 

 六,ESP8266 TCP Client(基于Lua脚本语言)

 

 六,ESP8266 TCP Client(基于Lua脚本语言)

六,ESP8266 TCP Client(基于Lua脚本语言)

 

 六,ESP8266 TCP Client(基于Lua脚本语言)

现在测试

 六,ESP8266 TCP Client(基于Lua脚本语言)

 

 

 现在创建服务器

六,ESP8266 TCP Client(基于Lua脚本语言)

 

 六,ESP8266 TCP Client(基于Lua脚本语言)

 

 发送数据测试

 六,ESP8266 TCP Client(基于Lua脚本语言)

现在断开连接

六,ESP8266 TCP Client(基于Lua脚本语言)

第一次没有截到网络调试助手的图,模块就连接上了,,所以又断开了一次

六,ESP8266 TCP Client(基于Lua脚本语言)

 

 六,ESP8266 TCP Client(基于Lua脚本语言)

 

 现在就用这个读取AD的电压值

六,ESP8266 TCP Client(基于Lua脚本语言)

 

 六,ESP8266 TCP Client(基于Lua脚本语言)

 

 命令和回复呢咱就这样规定

 六,ESP8266 TCP Client(基于Lua脚本语言)

 

 六,ESP8266 TCP Client(基于Lua脚本语言)

 

 现在的init.lua

 

gpio.mode(4,gpio.OUTPUT)
gpio.mode(2,gpio.OUTPUT)
gpio.write(4,1)

if  adc.force_init_mode(adc.INIT_ADC) then
    node.restart()
    return
end

tmr.alarm(0, 1000, 1, function()
    gpio.write(4,1-gpio.read(4))
end)

tmr.alarm(1, 3000, 0, function()
    dofile("Client.lua")
end)

 

 六,ESP8266 TCP Client(基于Lua脚本语言)

 

  现在的Client.lua

wifi.setmode(wifi.STATIONAP)

cfg={}
cfg.ssid="Hellow8266"
cfg.pwd="11223344"
wifi.ap.config(cfg)

apcfg={}
apcfg.ssid="qqqqq"
apcfg.pwd="11223344"
wifi.sta.config(apcfg)
wifi.sta.autoconnect(1)

ClientConnectedFlage = 0
TcpConnect = nil
tmr.alarm(1, 1000, 1, function()

    if  ClientConnectedFlage == 0 then
        Client = net.createConnection(net.TCP, 0) 
        Client:connect(8080,"192.168.1.103")

        Client:on("receive", function(Client, data) 
            uart.write(0,data)
            ReadAd(data)
        end)
        
        Client:on("connection", function(sck, c) 
            ClientConnectedFlage = 1
            TcpConnect = Client
            print("Link OK")
            tmr.stop(1)

            Client:on("disconnection", function(sck, c) 
                ClientConnectedFlage = 0
                TcpConnect = nil
                tmr.start(1)
            end)
        end)

        if  ClientConnectedFlage == 0 then
            print("Link Error")
        end
    end
end)


function ReadAd(data)
    if  data == "++MD9" then
        ad = adc.read(0)
        if  TcpConnect ~= nil then
            TcpConnect:send("++MDAD="..ad)
        end
    end
end



uart.on("data",0,function(data) 
    if  TcpConnect ~= nil then
        TcpConnect:send(data)
    end
end, 0)


printip = 0
wifi.eventmon.register(wifi.eventmon.STA_DISCONNECTED, function(T)
    printip = 0
end)


wifi.eventmon.register(wifi.eventmon.STA_GOT_IP, function(T)
   if printip == 0 then
      print("+IP"..T.IP)
   end
   printip = 1
end)

 

六,ESP8266 TCP Client(基于Lua脚本语言)

六,ESP8266 TCP Client(基于Lua脚本语言)

现在测试

 对了测试的电压是0-1V    然后分辨率是  1024

 六,ESP8266 TCP Client(基于Lua脚本语言)

 

 我现在接到3.3上

 六,ESP8266 TCP Client(基于Lua脚本语言)

 

如果数据向加CRC校验,看这篇文章的最后

 http://www.cnblogs.com/yangfengwu/p/7531730.html            

 

五,ESP8266 TCP服务器多连接

 

 TCP 就说道这里                                  

 

上一篇:Intel最新处理器路线图:10nm大延期


下一篇:【对讲机的那点事】公网对讲机关键指标之:语音质量