当前位置: 首页 > article >正文

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

一、简介

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

二、代码

#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连接建立已经完成了 


http://www.kler.cn/a/540721.html

相关文章:

  • 畅游Diffusion数字人(16):由音乐驱动跳舞视频生成
  • 数据源和 sqlSessionFactory 配置
  • 在 Open WebUI+Ollama 上运行 DeepSeek-R1-70B 实现调用
  • Vue与Konva:解锁Canvas绘图的无限可能
  • 通过Demo案例的形式弄懂Java中的设计模式
  • 【华为OD机考】华为OD笔试真题解析(1)--AI处理器组合
  • javaEE-10.CSS入门
  • 【Elasticsearch】管道聚合
  • SpringBoot源码解析(十):应用上下文AnnotationConfigServletWebServerApplicationContext构造方法
  • 相对收益-固定收益组合归因-前言
  • 纯前度(vue)实现对pdf\mp4\png\jpg\jpegxls\doc\txt文件预览,无需要转化
  • Android图片加载框架Coil,Kotlin
  • 国税局发票查验中英文验证码识别,识别率99.99%
  • 十四. Redis 新功能
  • day10-字符串
  • Spring Boot 与 Kafka 实现高效消息队列通信的最佳实践
  • flutter ListView Item复用源码解析
  • 亲自测试并推荐的第三方平台使用DeepSeek 和 LM Studio 本地部署DeepSeek
  • AI刷题-子数组和的最大值问题
  • 【Java 面试 八股文】Redis篇
  • 数字电路-基础逻辑门实验
  • Day 32 卡玛笔记
  • 基于 GEE 的网格化降雨数据可视化与时间序列分析
  • DeepSeek与AI提示语设计的全面指南
  • 【信息系统项目管理师-案例真题】2018上半年案例分析答案和详解
  • DeepSeek本地部署(解决ollama无法安装问题)