ESP8266作为客户端通过路由器连接服务器的简单实现 您所在的位置:网站首页 esp8266连接服务器指令 ESP8266作为客户端通过路由器连接服务器的简单实现

ESP8266作为客户端通过路由器连接服务器的简单实现

2023-11-04 19:59| 来源: 网络整理| 查看: 265

ESP8266这个WiFi模块即可以作为服务器,发出WiFi供其他的客户端连接;也可以作为客户端连接服务器。

接下来就简单的演示ESP8266通过路由器连接服务器的实现,连接服务器时ESP8266使用到的指令:

将8266设置为STA模式: AT+CWMODE=1设置完之后重启: AT+RST8266连接路由器发出的WiFi: AT+CWJAP=”WiFi名”,”WiFi密码”启动多连接: AT+CIPMUX=1建立server: AT+CIPSERVER=1通过协议、IP和端口连接服务器: AT+CIPSTART=0,”TCP”,”192.168.2.176”,10012发送数据的长度: AT+CIPSEND=0,8发送数据: LayneYao

在电脑中用Java写一个简单的服务器程序:

import java.io.DataInputStream; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket; /** * Created by Layne_Yao on 2018-4-23 上午9:41:59. * CSDN:http://blog.csdn.net/Jsagacity */ public class Service { public static void main(String[] args) throws Exception { // 创建服务端,指定端口为10012 ServerSocket server = new ServerSocket(10012); byte[] msg = new byte[50]; System.out.println("服务器准备就绪......."); // 接收连接该服务端的客户端对象 Socket client = server.accept(); //定义一个数据输入流,接收8266发送过来的消息 InputStream in = new DataInputStream(client.getInputStream()); //设置成死循环,可以无限接收8266发送的数据 boolean accept = true; while (accept) { //输入流读取数据 in.read(msg); System.out.println(new String(msg)); } in.close(); client.close(); server.close(); } }

服务器运行之后就进入线程阻塞,等待客户端的连接。接下来就操作8266进行连接服务器:

动态演示发送数据:

还可以无限的发送数据,不用重新连接IP和端口。这就是8266跟服务器的长连接简单实现,不过如果四分钟左右没有通信过,那么这个长连接就会断开,具体哪边断开没有进行测试过。如果要使用长连接的就要考虑如何保活了。

如果对智能家居实现还是懵懂,并且想学习的,接下来我开展一篇Chat:智能家居远程控制,实现APP与ESP8266远程通信



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有