博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
四,ESP8266 TCP服务器(基于Lua脚本语言)
阅读量:5823 次
发布时间:2019-06-18

本文共 3167 字,大约阅读时间需要 10 分钟。

我要赶时间赶紧写完所有的内容....朋友的东西答应的还没做完呢!!!!!!!没想到又来了新的事情,,.......

配置模块作为TCP服务器然后呢咱们连接服务器发指令控制继电器吸合和断开

 

控制的指令呢咱就配置成----

这篇文章最后的指令,,毕竟最终咱们就要做成那样子.....这样的话8266就应该使用的非常顺手和轻松了

可以看一下这篇文章,,初略看一下就行,这是以前写的代码不怎么好,,,这篇文章会详细的解释的

      不过呢怕有所遗漏,就两篇文章同时参考吧

新建一个文件就叫wifi.lua

 

咱们呢就先做成一个客户端连接的,,然后连接模块的无线控制继电器,,,然后在做成多个连接的,,然后呢再设置成连接路由器,,当然或许亲们的可以远程控制哈

    只看路由器设置部分就好了,,程序这次咱用Lua开发的,,要比那好的多....

我的init.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, 1000, 0, function()    dofile("wifi.lua")end)

我的wifi.lua

 

cfg={}cfg.ssid="Hellow8266"cfg.pwd="11223344"wifi.ap.config(cfg)TCPSever=net.createServer(net.TCP,28800) TCPSever:listen(8080,function(socket)     socket:on("receive",function(socket,data)           if data == "++MD610" then             gpio.write(2,1)          end          if data == "++MD600" then             gpio.write(2,0)          end    end)     socket:on("disconnection",function(sck,c)           socket = nil    end)end)

现在可以测试一下

模块内部默认的IP是192.168.4.1

 

 

大晚上的光线有点暗...照的不是很清晰,,还是说手机不好..................

下面的解释呢就照搬以前的了

 

对了

 

点击这个按钮是不管来的,这些按钮数据哈我再后面加了CRC16校验.....以后用到CRC再说

 

现在让模块连接路由器,,,这样方便些

现在的wifi.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.connect()TCPSever=net.createServer(net.TCP,28800) TCPSever:listen(8080,function(socket)     socket:on("receive",function(socket,data)           if data == "++MD610" then             gpio.write(2,1)             socket:send("relay=1")          end          if data == "++MD600" then             gpio.write(2,0)             socket:send("relay=0")          end    end)     socket:on("disconnection",function(sck,c)           socket = nil    end)end)printip = 0wifi.eventmon.register(wifi.eventmon.STA_DISCONNECTED, function(T)    printip = 0end)wifi.eventmon.register(wifi.eventmon.STA_GOT_IP, function(T)   if printip == 0 then      print("+IP"..T.IP)   end   printip = 1end)

 

还有两个没有连接上路由器和连接上路由器的事件函数

 

 

 

现在呢我们让网络的数据发送到串口,,,,,串口的数据发送到网络

现在的wifi.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.connect()TCPSever=net.createServer(net.TCP,28800) TCPSever:listen(8080,function(socket)     socket:on("receive",function(socket,data)           uartsocket = socket          uart.write(0,data)           if data == "++MD610" then             gpio.write(2,1)             socket:send("relay=1")          end          if data == "++MD600" then             gpio.write(2,0)             socket:send("relay=0")          end    end)     socket:on("disconnection",function(sck,c)           socket = nil          uartsocket = nil    end)end)uart.on("data",0,function(data)         if uartsocket ~= nil then           uartsocket: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)   if printip == 0 then      print("+IP"..T.IP)   end   printip = 1end)

 

现在下进去测试

 

 

 

 今天就先到这里,,,太晚了...........

 

转载地址:http://ibddx.baihongyu.com/

你可能感兴趣的文章
《写给大忙人看的java se 8》笔记
查看>>
我的友情链接
查看>>
Linux学习:Linux基础命令集(1)
查看>>
倒计时:计算时间差
查看>>
Linux/windows P2V VMWare ESXi
查看>>
IEC61850时间质量TimeQuality各个比特位的含义
查看>>
Windows XP倒计时到底意味着什么?
查看>>
tomcat一步步实现反向代理、负载均衡、内存复制
查看>>
CentOS忘记root用户密码,进入单用户模式修改密码
查看>>
运维工程师在干什么学些什么?【致菜鸟】
查看>>
将私有Android工程迁移至GitHub
查看>>
Linux中iptables详解
查看>>
java中回调函数以及关于包装类的Demo
查看>>
***常用兵器之扫描篇(下)
查看>>
maven异常:missing artifact jdk.tools:jar:1.6
查看>>
终端安全求生指南(五)-——日志管理
查看>>
我的友情链接
查看>>
lduan Exchange 2013 介绍(一)
查看>>
dubbo请求过程调用分析
查看>>
Nginx 使用 openssl 的自签名证书
查看>>