ESP32开发-作为TCP客户端发送数据到网络调试助手

​代码(作为TCP客户端)​

#include <SPI.h>
#include <EthernetENC.h>  // 使用EthernetENC库

// 网络配置
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};  // MAC地址
IPAddress ip(192, 168, 1, 100);      // ESP32的IP
IPAddress serverIP(192, 168, 1, 150); // 电脑IP(网络调试助手)
const int serverPort = 8080;         // 电脑端口

EthernetClient client;  // TCP客户端

void setup() {
  Serial.begin(115200);
  delay(1000);

  // 初始化ENC28J60
  SPI.begin(18, 19, 23, 5);  // SCK=18, MISO=19, MOSI=23, CS=5
  Ethernet.begin(mac, ip);

  Serial.println("ESP32 TCP Client Ready");
  Serial.print("Local IP: ");
  Serial.println(Ethernet.localIP());
}

void loop() {
  // 如果未连接,尝试连接服务器
  if (!client.connected()) {
    Serial.println("Connecting to server...");
    if (client.connect(serverIP, serverPort)) {
      Serial.println("Connected to server!");
      client.print("Hello from ESP32!");  // 连接后立即发送一条消息
    } else {
      Serial.println("Connection failed!");
    }
    delay(2000);  // 重试间隔
  }

  // 如果已连接,检查是否有数据可读
  if (client.available()) {
    char c = client.read();
    Serial.write(c);  // 打印接收到的数据
  }

  // 示例:每5秒发送一次数据(可选)
  static unsigned long lastSend = 0;
  if (client.connected() && millis() - lastSend >= 5000) {
    lastSend = millis();
    client.print("ESP32 heartbeat");  // 定时发送心跳数据
    Serial.println("Sent heartbeat");
  }
}

​功能说明​

  1. ​作为TCP客户端​​:

    • 自动连接电脑(192.168.1.150:8080)。
    • 连接成功后发送"Hello from ESP32!"
    • 每5秒发送一次心跳数据("ESP32 heartbeat")。
  2. ​接收数据​​:

    • 实时打印从服务器(网络调试助手)接收的数据。
  3. ​自动重连​​:

    • 如果断开连接,每2秒尝试重连一次。

​使用步骤​

  1. ​硬件接线​​:

    • 确保ENC28J60与ESP32正确连接(SCK=18, MISO=19, MOSI=23, CS=5)。
    • ENC28J60使用​​3.3V供电​​。
  2. ​电脑端准备​​:

    • 打开网络调试助手,选择​​TCP服务器模式​​,监听端口8080
    • 确保电脑IP为192.168.1.150(或修改代码中的serverIP)。
  3. ​ESP32操作​​:

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

效果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值