六,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=0TcpConnect=nil
tmr.alarm(1,1000,1, function()ifClientConnectedFlage ==0then
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=1TcpConnect=Client
print("Link OK")
tmr.stop(1)
Client:on("disconnection", function(sck, c)
ClientConnectedFlage=0TcpConnect=nil
tmr.start(1)
end)
end)ifClientConnectedFlage ==0then
print("Link Error")
end
end
end)
uart.on("data",0,function(data)ifTcpConnect ~=nil then
TcpConnect:send(data)
end
end,0)
printip=0wifi.eventmon.register(wifi.eventmon.STA_DISCONNECTED, function(T)
printip=0end)
wifi.eventmon.register(wifi.eventmon.STA_GOT_IP, function(T)ifprintip ==0then
print("+IP"..T.IP)
end
printip=1end)
现在测试
现在创建服务器
发送数据测试
现在断开连接
第一次没有截到网络调试助手的图,模块就连接上了,,所以又断开了一次
现在就用这个读取AD的电压值
命令和回复呢咱就这样规定
现在的init.lua
gpio.mode(4,gpio.OUTPUT)
gpio.mode(2,gpio.OUTPUT)
gpio.write(4,1)ifadc.force_init_mode(adc.INIT_ADC) then
node.restart()returnend
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=0TcpConnect=nil
tmr.alarm(1,1000,1, function()ifClientConnectedFlage ==0then
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=1TcpConnect=Client
print("Link OK")
tmr.stop(1)
Client:on("disconnection", function(sck, c)
ClientConnectedFlage=0TcpConnect=nil
tmr.start(1)
end)
end)ifClientConnectedFlage ==0then
print("Link Error")
end
end
end)
function ReadAd(data)ifdata =="++MD9"then
ad= adc.read(0)ifTcpConnect ~=nil then
TcpConnect:send("++MDAD="..ad)
end
end
end
uart.on("data",0,function(data)ifTcpConnect ~=nil then
TcpConnect:send(data)
end
end,0)
printip=0wifi.eventmon.register(wifi.eventmon.STA_DISCONNECTED, function(T)
printip=0end)
wifi.eventmon.register(wifi.eventmon.STA_GOT_IP, function(T)ifprintip ==0then
print("+IP"..T.IP)
end
printip=1end)
现在测试
对了测试的电压是0-1V 然后分辨率是 1024
我现在接到3.3上
如果数据向加CRC校验,看这篇文章的最后
http://www.cnblogs.com/yangfengwu/p/7531730.html
TCP 就说道这里