单片机esp32 基础调试 联网fetch http.begin(targetUrl);
https://www.bilibili.com/video/BV1RM4y1a7J5
设置中文
工具-》端口
上传
为什么波特率是 115200?它对吗?
115200 是 ESP32 最常用的串口波特率,也是你代码中设置的:
cpp
深色版本
Serial.begin(115200);
请求我的网站也是ok的
✅ 二、如果你是想“停止 ESP32 的程序运行”
方法 1:物理断电(最直接)
- 拔掉 USB 线 → 板子断电 → 程序停止
- 重新插上 → 程序从头开始运行
方法 2:上传一个空程序(让板子“什么都不做”)
cpp
深色版本
void setup() {// 什么都不做
}void loop() {// 什么都不做delay(1000);
}
灯在gp22旁边
#include <WiFi.h>
#include <HTTPClient.h>const int LED_PIN = 22;// Wi-Fi 配置
const char* ssid = "外街路5号";
const char* password = "12345678";// 目标服务器地址
//const char* targetUrl = "http://httpbin.org/get";
const char* targetUrl ="http://ns3.llmfindworksnjsgcs.fwh.is/health";
void setup() {// 初始化串口,115200 波特率Serial.begin(115200);while (!Serial) {delay(10); // 等待串口监视器打开(某些板子需要)}Serial.println(F("【ESP32 启动中】================================="));Serial.printf("Wi-Fi 名称: %s\n", ssid);Serial.println(F("正在尝试连接 Wi-Fi..."));// 设置 LED 引脚pinMode(LED_PIN, OUTPUT);digitalWrite(LED_PIN, HIGH); // 熄灭(低电平点亮,所以 HIGH 是灭)// 开始连接 Wi-FiWiFi.begin(ssid, password);int retry = 0;while (WiFi.status() != WL_CONNECTED) {delay(250);digitalWrite(LED_PIN, !digitalRead(LED_PIN)); // 快闪表示正在连Serial.print(F(".")); // 打印点,表示还在努力retry++;if (retry % 20 == 0) {Serial.printf(F(" 已尝试 %d 秒...\n"), retry / 4);}}// 连接成功digitalWrite(LED_PIN, HIGH); // 熄灭delay(100);digitalWrite(LED_PIN, LOW); // 闪一下表示成功delay(200);digitalWrite(LED_PIN, HIGH);Serial.println(F("\n【恭喜!Wi-Fi 连接成功】========================"));Serial.printf("IP 地址: %s\n", WiFi.localIP().toString().c_str());Serial.printf("信号强度: %d dBm\n", WiFi.RSSI());Serial.printf("网关: %s\n", WiFi.gatewayIP().toString().c_str());Serial.println(F("开始 HTTP 请求测试..."));
}void loop() {// 检查 Wi-Fi 状态if (WiFi.status() != WL_CONNECTED) {Serial.println(F("❌ Wi-Fi 已断开,正在尝试重连..."));WiFi.reconnect();delay(2000);return;}Serial.println(F("\n--- 开始新的 HTTP 请求 ---"));HTTPClient http;http.begin(targetUrl);http.setUserAgent("ESP32-HTTP-Client/1.0"); // 可选:设置 User-AgentSerial.printf("📡 正在请求: %s\n", targetUrl);int httpCode = http.GET();if (httpCode > 0) {Serial.printf("✅ HTTP 请求成功!状态码: %d\n", httpCode);if (httpCode == HTTP_CODE_OK) {String payload = http.getString();Serial.println(F("📄 响应内容(前 200 字符):"));Serial.println(payload.substring(0, min(200, (int)payload.length())));}// 蓝灯短闪表示成功digitalWrite(LED_PIN, LOW);delay(150);digitalWrite(LED_PIN, HIGH);} else {Serial.printf("❌ HTTP 请求失败!错误码: %s\n", http.errorToString(httpCode).c_str());Serial.printf("⚠️ 可能原因:服务器无响应、DNS 失败、超时、Wi-Fi 不稳\n");// 蓝灯慢闪表示失败digitalWrite(LED_PIN, LOW);delay(100);digitalWrite(LED_PIN, HIGH);delay(900);}http.end(); // 释放资源Serial.println(F("--- HTTP 请求结束 ---"));delay(5000); // 每 5 秒请求一次
}