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

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);// 初始化ENC28J60SPI.begin(18, 19, 23, 5);  // SCK=18, MISO=19, MOSI=23, CS=5Ethernet.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)。
    • 观察连接状态和接收到的数据。

效果:

相关文章:

  • Stack--Queue 栈和队列
  • 抢先体验 | Qwen3 模型发布:基于 ZStack AIOS 平台极速体验
  • AI数字人:人类身份与意识的终极思考(10/10)
  • HTML from表单中只有一个input时,按回车键后表单自动提交(form表单的一个小坑)
  • SpringBoot集成Druid启动报错testWhileIdle is true, validationQuery not set
  • 如何用fiddler进行弱网测试(工作常用篇)
  • Qt官方案例知识点总结(拖放操作——Drag And Drop Robot )
  • 【Linux 网络】网络工具ifconfig和iproute/iproute2工具详解
  • java网络原理5
  • Linux 基础IO(上)--文件与文件描述符fd
  • python将字符串转成二进制数组
  • JVM快速入门
  • scGPT方法解读
  • (即插即用模块-特征处理部分) 四十五、(2024 TGRS) SFF 浅层特征融合模块
  • WebRtc09:网络基础P2P/STUN/TURN/ICE
  • [实战] Petalinux驱动开发以及代码框架解读
  • IBM WebSphere Application Server 7.0/8.5.5证书过期问题处理
  • firecrawl的docker安装和api调用
  • 【python】-基础语法3
  • flutter开发音乐APP(简单的音乐播放demo)
  • 当农民跨进流动的世界|劳动者的书信①
  • 国家能源局通报上月投诉情况:赤峰有群众反映电费异常增高,已退费
  • 外媒称菲方允许菲官员窜台,国台办:应停止在台湾问题上玩火
  • 史学巨擘的思想地图与学术路径——王汎森解析梁启超、陈寅恪、傅斯年
  • 习近平访问金砖国家新开发银行
  • 金融街:去年净亏损约110亿元,今年努力实现经营稳健和财务安全