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

ESP32开发-作为TCP服务端接收数据

 

 

​ESP32 + ENC28J60 作为TCP服务端​

(电脑通过 ​​网络调试助手​​ 连接ESP32,实现双向通信)


​完整代码​

#include <SPI.h>
#include <EthernetENC.h>  // 或 UIPEthernet.h// 网络配置
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // MAC地址
IPAddress ip(192, 168, 1, 100);      // ESP32静态IP
const int serverPort = 8080;         // 监听端口EthernetServer server(serverPort);    // TCP服务器
EthernetClient client;                // 客户端对象void setup() {Serial.begin(115200);delay(1000);// 初始化ENC28J60SPI.begin(18, 19, 23, 5);  // SCK=18, MISO=19, MOSI=23, CS=5Ethernet.begin(mac, ip);// 启动TCP服务器server.begin();Serial.println("TCP Server Started");Serial.print("ESP32 IP: ");Serial.println(Ethernet.localIP());Serial.println("Waiting for client...");
}void loop() {// 检查是否有新客户端连接client = server.available();if (client) {Serial.println("\n[Client Connected]");// 持续处理客户端数据while (client.connected()) {// 接收数据并打印到串口if (client.available()) {char c = client.read();Serial.write(c);  // 打印收到的数据}// 示例:若收到"ping",回复"pong"if (Serial.available()) {String cmd = Serial.readStringUntil('\n');client.print("ESP32 Reply: " + cmd); // 发送到客户端}}client.stop();Serial.println("[Client Disconnected]");}
}

​功能说明​

  1. ​作为TCP服务端​​:

    • 监听端口 8080,等待电脑连接。
    • 实时打印客户端(网络调试助手)发送的数据。
    • 可通过串口监视器输入内容,主动回复客户端。
  2. ​通信流程​​:

    • 电脑连接ESP32的IP 192.168.1.100:8080
    • 电脑发送任意数据 → ESP32串口显示。
    • ESP32串口输入内容 → 发送到电脑。

​使用步骤​

  1. ​硬件接线​​:

    • ENC28J60与ESP32连接:
      SCK=18, MISO=19, MOSI=23, CS=5, VCC=3.3V, GND=GND
  2. ​电脑端操作​​:

    • 打开网络调试助手,选择 ​​TCP客户端模式​​。
    • 连接ESP32的IP 192.168.1.100,端口 8080
  3. ​ESP32调试​​:

    • 上传代码后,打开串口监视器(波特率115200)。
    • 观察客户端连接状态和接收的数据。

  

 


http://www.mrgr.cn/news/100814.html

相关文章:

  • 分组密码算法ShengLooog设计原理详解
  • conda管理python环境
  • ZYNQ笔记(十四):基于 BRAM 的 PS、PL 数据交互
  • 快速搭建对象存储服务 - Minio,并解决临时地址暴露ip、短链接请求改变浏览器地址等问题
  • 希尔伯特第十问题:是一个伪命题
  • 服务容错治理框架resilience4jsentinel基础应用---微服务的限流/熔断/降级解决方案
  • C++入门小馆: 模板
  • 【数学建模国奖速成系列】优秀论文绘图复现代码(二)
  • 1295.统计位数为偶数的数字
  • 数据结构篇:线性表的另一表达—链表之单链表(下篇)
  • [CPCTF 2025] Crypto
  • Python os.path.join()路径拼接异常
  • X²+1素数问题
  • 4:机器人目标识别无序抓取程序二次开发
  • 【中间件】bthread效率为什么高?
  • HCIP-数据通信datacom认证
  • windows系统常用快捷键(CMD常用命令,DOS常用命令)
  • 公司运营-税务篇-个税申报
  • LQR 入门:以 “倒立摆” 仿真案例建模( LQR 是 MPC 的基础模块 - MPC 是 LQR 的泛化)
  • 01 mysql 安装(Windows)