ESP8266配置为TCP客户端,连接电脑和手机(使用Arduino配置)

一、简介

基于 ESP8266 的 Arduino 代码,其主要功能是将 ESP8266 连接到指定的 Wi-Fi 网络,并与指定 IP 地址和端口号的服务器建立 TCP 连接。在连接成功后,实现了串口和网络数据的双向传输,也就是将从串口接收到的数据通过 Wi-Fi 发送给服务器,同时将从服务器接收到的数据通过串口输出。

二、代码

cpp 复制代码
#include <ESP8266WiFi.h>

const char* ssid = "WIFI名字";
const char* password = "WIFI密码";
const char* serverIP = "IP地址";
const int serverPort = 端口号自己设置即可  例如:8080;

WiFiClient client;
void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  Serial.print("Connecting to ");
  Serial.println(ssid);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.print("Connecting to server at ");
  Serial.print(serverIP);
  Serial.print(":");
  Serial.println(serverPort);
  while (!client.connect(serverIP, serverPort)) {
    delay(100);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("Connected to server");
}
void loop() {
  // 检查连接状态,如果断开则尝试重新连接
  if (!client.connected()) {
    Serial.println("Connection lost, trying to reconnect...");
    while (!client.connect(serverIP, serverPort)) {
      delay(100);
      Serial.print(".");
    }
    Serial.println("");
    Serial.println("Reconnected to server");
  }
  // 串口数据→Wi-Fi
  if (Serial.available()) {
    client.write(Serial.read());
  }
  // Wi-Fi数据→串口
  if (client.available()) {
    Serial.write(client.read());
  }
}

三、手机连接

1.手机连接wifi

手机连上和8266相同的wifi即可

2.wifi地址查询

打开手机wifi查询IP地址我的IP如下图

3.修改代码

修改serverIP为你查询到的IP,serverPort自己起一个就行我用的是8080,然后编译上传即可。

上传完成如图所示

4.手机端配置

手机端APP,调试时我用的网络调试精灵

点击右下角+号进行配置,主机就是刚才查询的IP地址,端口就是你自己设置的serverPort,点击保存然后打开。

因为我的8266已经上电所以我刚打开就显示已经连接上了,然后我们使用串口助手发送1,2,3,5可以看到我们的手机已经接收到了

然后我们的手机发送helo,可以看到串口助手也成功接收到了,至此TCP通信建立完成。

四、电脑连接

1.电脑连接wifi

有网卡的连接wif没有的用宽带即可

2.电脑IP地址查询

按下win+R输入cmd进入命令行

输入ipconfig

按下回车,查找自己的IP地址

3.修改代码

将代码中的serverIP改为自己查到的IP然后,其他需要修改的按自己的情况修改即可,然后编译下载,重新上电后完成实验。

4.电脑端配置

电脑的服务端我用的是NetAssist.exe,配置如下:

5.数据传输

出现online是此时表明已经监听到客户端了

服务端发送Welcome to NetAssist可以看到客户端这边的XCOM就已经接收到了,如下图

当客户端发送1,2,3,5时服务端也可以接收到如下图

至此电脑端TCP连接建立已经完成了

相关推荐
白帽黑客沐瑶19 小时前
【网络安全就业】信息安全专业的就业前景(非常详细)零基础入门到精通,收藏这篇就够了
网络·安全·web安全·计算机·程序员·编程·网络安全就业
christine-rr19 小时前
linux常用命令(4)——压缩命令
linux·服务器·redis
東雪蓮☆19 小时前
深入理解 LVS-DR 模式与 Keepalived 高可用集群
linux·运维·服务器·lvs
树码小子19 小时前
Java网络编程:(socket API编程:TCP协议的 socket API -- 回显程序的服务器端程序的编写)
java·网络·tcp/ip
乌萨奇也要立志学C++19 小时前
【Linux】进程概念(二):进程查看与 fork 初探
linux·运维·服务器
绿箭柠檬茶21 小时前
Ubuntu 服务器配置转发网络访问
服务器·网络·ubuntu
real 121 小时前
传输层协议UDP
网络·网络协议·udp
獭.獭.21 小时前
Linux -- 信号【上】
linux·运维·服务器
路由侠内网穿透1 天前
本地部署 GPS 跟踪系统 Traccar 并实现外部访问
运维·服务器·网络·windows·tcp/ip
ZERO_pan1 天前
服务器装机遇到的问题
运维·服务器