四,ESP8266 TCP服务器(基于Lua脚本语言)

简介: 我要赶时间赶紧写完所有的内容....朋友的东西答应的还没做完呢!!!!!!!没想到又来了新的事情,,.......配置模块作为TCP服务器然后呢咱们连接服务器发指令控制继电器吸合和断开 控制的指令呢咱就配置成----http://www.

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

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

 

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

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

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

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

http://www.cnblogs.com/yangfengwu/p/6407727.html#3771010      不过呢怕有所遗漏,就两篇文章同时参考吧

新建一个文件就叫wifi.lua

 

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

android客服端+eps8266+单片机+路由器之远程控制系统    只看路由器设置部分就好了,,程序这次咱用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 = 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)

 

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

 

 

 

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

现在的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 = 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)

 

现在下进去测试

 

 

 

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

 

目录
相关文章
|
2月前
|
网络协议 安全 测试技术
手撕测试tcp服务器效率工具——以epoll和io_uring对比为例
手撕测试tcp服务器效率工具——以epoll和io_uring对比为例
40 2
|
2月前
|
网络协议 Java API
【JavaEE初阶】 TCP服务器与客户端的搭建
【JavaEE初阶】 TCP服务器与客户端的搭建
|
2月前
|
数据采集 网络协议 搜索推荐
网络编程【TCP单向通信、TCP双向通信、一对多应用、一对多聊天服务器】(二)-全面详解(学习总结---从入门到深化)
网络编程【TCP单向通信、TCP双向通信、一对多应用、一对多聊天服务器】(二)-全面详解(学习总结---从入门到深化)
50 0
|
3月前
|
网络协议 安全 Linux
腾讯三面:一台服务器,最大支持的TCP连接数是多少?
一个 TCP 对象占用的大小,等于它所包含的一些数据结构占用大小的总和,也是就把上面这些数据结构的大小累加起来,就是一个 TCP 连接占用的大小了。实际过程中的 TCP 连接,肯定不是静止状态的,还会进行发送数据和接收数据了,那么这些过程还是会额外消耗更多的内存资源的,8 GB 物理内存的服务器实际并发很难达到百万级别。
53 2
|
3月前
|
网络协议 安全 Go
TCP基础详解:Telnet回音服务器搭建
TCP基础详解:Telnet回音服务器搭建
30 0
|
3月前
|
网络协议 Linux
【Linux C TCP服务器端-epoll案例】
本文主要介绍了linux下Select的TCP通信流程,实现了客户端和服务器的通信,主要实现了消息的回发,即服务器将消息原封不动的回发给客户端。
24 0
|
3月前
|
网络协议 Linux
【Linux C TCP服务器端-poll案例】
本文主要介绍了linux下Select的TCP通信流程,实现了客户端和服务器的通信,主要实现了消息的回发,即服务器将消息原封不动的回发给客户端。
24 0
|
22天前
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
|
25天前
|
存储 弹性计算 数据可视化
要将ECS中的文件直接传输到阿里云网盘与相册(
【2月更文挑战第31天】要将ECS中的文件直接传输到阿里云网盘与相册(
411 4
|
27天前
|
SQL 弹性计算 安全
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
当我们通过阿里云的活动购买完云服务器之后,并不是立马就能使用了,还需要我们设置云服务器密码,配置安全组等基本操作之后才能使用,有的用户还需要购买并挂载数据盘到云服务器上,很多新手用户由于是初次使用阿里云服务器,因此并不知道这些设置的操作流程,下面给大家介绍下这些设置的具体操作流程。
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程