基于 Arduino 库实现 ESP32 TCP Server 应用例程

news2025/5/16 19:02:17

实现步骤:

  • ESP32 开启 WiFi Station 模式连接路由器
  • 连上路由器后将获取到分配的 IP 地址
  • 基于分配的 IP 地址创建 TCP Server

测试代码如下:

#include <WiFi.h>
#include <WiFiClient.h>
 
const char* ssid = "cc2.4";
const char* password = "espressif";
 
WiFiServer server(1234);
 
void setup() {
  Serial.begin(115200);
  delay(1000);
  
  // 连接到WiFi网络
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
  
  // 启动TCP服务器
  server.begin();
  
  Serial.println("WiFi connected");
  Serial.println("IP address: " + WiFi.localIP().toString());
}
 
void loop() {
  // 等待客户端连接
  WiFiClient client = server.available();
  if (client) {
    Serial.println("New client connected");
    
    while (client.connected()) {
      // 检查是否有数据可供读取
      if (client.available()) {
        // 读取客户端发送的数据
        String data = client.readStringUntil('\n');
        Serial.print("Received data: ");
        Serial.println(data);
        
        // 发送响应到客户端
        String response = "Server received: " + data;
        client.println(response);
      }
    }
    
    // 断开与客户端的连接
    client.stop();
    Serial.println("Client disconnected");
  }
}

测试方式:

  • 手机与 ESP32 连接同一路由器

  • 查看 UART0 日志打印,获取 TCP Server 的 IP 地址
    在这里插入图片描述

  • 使用手机端 TCP 调试 APP 与 ESP32 创建的 TCP Server 建立连接
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/727041.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《水经注地图服务》发布的影像数据在ArcMap中调用

当有用户需要发布一个省以上的海量卫星影像数据时&#xff0c;我们就会强烈建议他使用《水经注地图服务》&#xff08;WeServer&#xff09;进行发布。 因为&#xff0c;《水经注地图服务》在经过我们工程师的不断升级优化之后&#xff0c;现在发布全球100TB级卫星影像数据所需…

【用户调研】需求挖掘

文章目录 用户需求的定义为什么要挖掘用户需求需求挖掘方法用户访谈问卷调查可用性测试运营数据分析 用户访谈介绍实地研究用户观察用户访谈焦点小组 调查问卷介绍总结 用户需求的定义 为什么要挖掘用户需求 需求挖掘方法 用户访谈 问卷调查 可用性测试 运营数据分析 用户访谈介…

妙记多 Mojidoc PC端(Mac+Windows 端)内测体验官招募!

你们呼唤了无数呼唤的妙记多 Mojidoc 客户端来了&#xff01; 优先内测上线的是 桌面端&#xff01;包含 Mac端 和 Windows 端 为了更好的用户体验&#xff0c;小 Mojidoc 在上线前邀请大家一起加入内测体验&#xff01; 为了让你更好的成为内测体验官&#xff0c;有一点心里…

使用adb工具通过wifi连接安卓设备

一、下载adb包&#xff0c;并解压。网上很多地方可以下载资源或者从我的网盘下载 链接&#xff1a;https://pan.baidu.com/s/1hLf14wCCUMs2xdU5WkLY8g 提取码&#xff1a;8cbh 二、安卓设备打开开发者选项&#xff0c;打开USB调试开关 三、确保手机和wifi在同一个wifi网路下。…

SSM学习笔记-------SpringMVC(二)

SSM学习笔记-------SpringMVC&#xff08;二&#xff09; SpringMVC_day021、SSM整合1.1 流程分析1.2 整合配置步骤1&#xff1a;创建Maven的web项目步骤2:添加依赖步骤3:创建项目包结构步骤4:创建SpringConfig配置类步骤5:创建JdbcConfig配置类步骤6:创建MybatisConfig配置类步…

QT中LIBS的配置

QT中引用外部第3方库时&#xff0c;需要配置LIBS参数。 QT选择kit时有MSVC、MinGW两种方式&#xff0c;一般MSVC的静态库文件以.lib结尾&#xff0c;MinGW以.a结尾。什么是C的静态库、动态库我这里就不介绍了&#xff0c;其实这种库在几乎所有的语言中都有&#xff1a;比如jav…

用android studio 测试发行包

在google play 发行app&#xff0c;需要用bundle&#xff0c;而不是apk。 bundle 比apk 要小很多&#xff0c;比如我的app-release.aab 29,736 KB&#xff0c; 而app-release.apk 是62,305KB。这就是少了一半多。但是apk 直接复制就可以安装&#xff0c;bundle 需要上传google…

研究讯飞星火模型的时候,使用websocket的一个总结

接受数据 <?php header("Content-Type:text/html;charsetutf-8");//确保在连接客户端时不会超时set_time_limit(0);//设置IP和端口号$address "wss://tts-api.xfyun.cn/v2/tts?authorizationYXBpX2tleT0iNDE4ZjJjOTI2NTY0YTc1ZDNjMmE5NDliMTE0MzRkZTYiLCB…

回归预测 | MATLAB实现WOA-GCNN鲸鱼算法优化分组卷积神经网络的数据多输入单输出回归预测

回归预测 | MATLAB实现WOA-GCNN鲸鱼算法优化分组卷积神经网络的数据多输入单输出回归预测 目录 回归预测 | MATLAB实现WOA-GCNN鲸鱼算法优化分组卷积神经网络的数据多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 回归预测 | MATLAB实现WOA-GCNN鲸鱼…

三足鼎立的SIEM、SOAR和XDR

如今&#xff0c;变化的安全挑战、多态的IT架构、复杂的建设需求、严苛的合规审查……&#xff0c;甲方心力交瘁&#xff0c;乙方疲于奔命。传统安全产品交付模式&#xff0c;投入大、成本高、难维护、效果差&#xff0c;完全无法应对。 网络攻击的增长导致合规要求更加严格。…

经典目标检测算法模型总结汇总

这里主要是想要记录汇总一下平时有意无意查资料、学习等了解查阅的目标检测领域中各种模型的原理、优点缺点等内容&#xff0c;主要是方便温故知新&#xff0c;也希望能帮到需要的人。 目标检测任务涌现了很多经典的模型&#xff0c;下面是一个模型的总结记录。 (1)R-CNN&…

如何一次性修改文件扩展名

现代社会中&#xff0c;我们经常需要处理大量的文件&#xff0c;有时候需要批量修改文件的扩展名。在这种情况下&#xff0c;使用文件管理工具可以帮助我们快速完成这项任务。下面&#xff0c;我将介绍如何使用“固乔文件管家”这个文件管理工具来一次性修改文件扩展名。 首先&…

红外雨量计(光学雨量传感器)在智慧灌溉中的应用

红外雨量计&#xff08;光学雨量传感器&#xff09;在智慧灌溉中的应用 红外雨量计是一种利用红外线原理测量雨水量的传感器&#xff0c;可以用于智慧灌溉中实现精准测量和控制灌溉量&#xff0c;从而提高灌溉效率和节约水资源。 红外雨量计可以通过测量雨滴数量和大小&#x…

PaddleClas:训练技巧

训练技巧 1.优化器的选择 带momentum的SGD优化器有两个劣势&#xff0c;其一是收敛速度慢&#xff0c;其二是初始学习率的设置需要依靠大量的经验&#xff0c;然而如果初始学习率设置得当并且迭代轮数充足&#xff0c;该优化器也会在众多的优化器中脱颖而出&#xff0c;使得其…

基于springboot的教学助手后端管理系统设计与实现(源码+文档+开题+数据库+任务书)

教学助手系统是高校教学、教学管理的重要应用系统。随着教研教改的深入发展&#xff0c;信息技术的运用已经成为打造高效课堂必不可少的重要手段。教学助手软件集教材资源分享、课前导学、课堂互动、在线检测、课后作业等功能为一体&#xff0c;拓展教学时空&#xff0c;增强教…

python爬虫_requests获取bilibili锻刀村系列的字幕并用分词划分可视化词云图展示

文章目录 ⭐前言⭐获取字幕步骤&#x1f496; 查找heartbeat接口&#x1f496; 字幕api接口&#x1f496; 正则提取p标签的内容 ⭐分词⭐结束 ⭐前言 大家好&#xff0c;我是yma16&#xff0c;本文分享python的requests获取哔哩哔哩锻刀村的字幕并用分词划分可视化词云图展示。…

Linux MySQL数据迁移

背景&#xff1a;MySQL安装时如果数据文件存在系统盘&#xff0c;随着业务的增长&#xff0c;必定会占用越来越多的系统盘空间直至爆满。为了给系统盘腾出空间来维持服务器的正常运转&#xff0c;需要将MySQL数据文件转移到其他磁盘。 实现步骤&#xff1a;1.在其他磁盘上创建…

Redis集群环境搭建[CentOS7]

下载 cd /usr/local/src/ wget https://mirrors.huaweicloud.com/redis/redis-7.0.11.tar.gz编译安装 tar -xzvf /usr/local/src/redis-7.0.11.tar.gz -C /usr/local/src/ cd /usr/local/src/redis-7.0.11 make PREFIX/usr/local/redis-7.0.11 install制作集群配置模板 cat …

删除排序链表中的重复元素(保留一个重复元素或不保留重复元素)

题目1&#xff1a;给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。&#xff08;重复元素不全部都删除&#xff0c;需要保留一个&#xff09; 解题思路&#xff1a; 遍历链表&#xff0c;找到重复元素…

Openlayers Draw的用法、属性、方法、事件介绍

Openlayers Draw绘制功能比较常用,如我们需要手动绘制一些点、线、面、多边形,圆等图形,Openlayers为我们提供了相关的API,主要API都在ol/interaction/Draw里面,绘制的API使用起来也比较简单,首先创建一个Draw对象,然后再使用Map的addInteraction方法添加该对象,就可以…