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-Fi
WiFi.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-Agent
Serial.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 秒请求一次
}