【花雕学编程】Arduino动手做(237)---ESP32 V1 Rev1 HTTP 热点
2024-10-291722
AI 快速预览详细
本教程介绍了如何使用ESP32 V1 Rev1创建HTTP热点。ESP32 V1 Rev1是一款高性能微处理器,支持802.11 b/g/n无线网络和蓝牙v4.2,配备520 KiB SRAM和多种外设接口。适合初学者快速上手,通过本教程,您可以轻松学会使用ESP32 V1 Rev1创建HTTP热点。
![]() 处理器: CPU:Xtensa 双核 32 位 LX6 微处理器,运行频率为 160 或 240 MHz,性能高达 600 DMIPS 超低功耗 (ULP) 协处理器 内存: 520 KiB SRAM 无线连接: 无线网络连接:802.11 b/g/n 蓝牙:v4.2 BR/EDR 和 BLE(与 Wi-Fi 共享无线电) 外设接口: 12 位 SAR ADC,多达 18 个通道 2 × 8 位 DAC 10 × 触摸传感器(电容式传感 GPIO) 4 × SPI 2 个 × I²S 接口 2 个 × I²C 接口 3 × UART SD/SIO/CE-ATA/MMC/EMMC 主机控制器 SDIO/SPI 从控制器 以太网MAC 接口,支持专用 DMA 和 IEEE 1588 精确时间协议 CAN 总线 2.0 红外遥控器(TX/RX,最多 8 个通道) 电机 PWM LED PWM(多达 16 个通道) 霍尔效应传感器 超低功耗模拟前置放大器 安全: 全部支持 IEEE 802.11 标准安全功能,包括 WFA、WPA/WPA2 和 WAPI 安全启动 Flash 加密 1024 位 OTP,客户最高 768 位 加密硬件加速:AES、SHA-2、RSA、椭圆曲线加密 (ECC)、随机数生成器 (RNG) 电源管理: 内部低压差稳压器 用于 RTC 的单个电源域 5μA 深度睡眠电流 从 GPIO 中断、定时器、ADC 测量、电容式触摸传感器中断中唤醒 电池管理 用于 3.7v 电池的连接器(如 18650)。 ![]() |






检查引脚配置:确保板载LED的引脚设置正确。ESP32的不同型号可能有不同的引脚配置,确保使用的是正确的引脚号(如引脚2)。
初始化设置:在setup函数中初始化LED引脚,并设置其初始状态为关闭。通过digitalWrite(ledPin, LOW)确保LED初始状态为关闭。
调试信息输出:通过Serial.println()函数在串口监视器中打印调试信息,帮助确认命令是否正确接收和执行。例如,在LED打开和关闭时打印相应的信息。
HTML响应页面:在处理函数中生成HTML响应页面,向用户提供反馈信息。通过server.send()函数发送HTML页面,确认LED状态的变化。
服务器处理请求:在loop函数中不断调用server.handleClient()函数,以处理客户端请求。确保服务器能够实时响应用户的操作。
实验串口返回情况
实验二百三十七:ESP32 V1.0.0 Rev1 wifi 蓝牙 CH340G 4MB
FLASH ESP-WROOM-32开发板
{花雕动手做}项目之四:使用 ESP32 V1 Rev1 自身的热点来创建一个
简易的 HTTP 服务器,并控制板载LED
实验开源代码
[code]/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百三十七:ESP32 V1.0.0 Rev1 wifi 蓝牙 CH340G 4MB
FLASH ESP-WROOM-32开发板
{花雕动手做}项目之四:使用 ESP32 V1 Rev1 自身的热点来创建一个
简易的 HTTP 服务器,并控制板载LED
*/
#include
#include
const char* ssid = "ESP32_Hotspot";
const char* password = "12345678";
WebServer server(80);
const int ledPin = 22; // 确认板载LED引脚是否为2
void handleRoot() {
String html = "";
html += "
ESP32 LED
";html += "
";
html += "
";
html += "";
server.send(200, "text/html", html);
}
void handleLEDOn() {
digitalWrite(ledPin, LOW); // 打开LED
server.send(200, "text/html", "
LED ON
HOME
");Serial.println("LED 已打开");
}
void handleLEDOff() {
digitalWrite(ledPin, HIGH); // 关闭LED
server.send(200, "text/html", "
LED OFF
HOME
");Serial.println("LED 已关闭");
}
void setup() {
Serial.begin(115200);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW); // 确保LED初始状态为关闭
WiFi.softAP(ssid, password);
Serial.println("访问以下地址连接到服务器:");
Serial.println(WiFi.softAPIP());
server.on("/", handleRoot);
server.on("/LED_ON", handleLEDOn);
server.on("/LED_OFF", handleLEDOff);
server.begin();
Serial.println("HTTP 服务器已启动");
}
void loop() {
server.handleClient();
}[/code]