### 使用的库
- **WiFi.h**:用于ESP32的WiFi连接管理,允许设备连接到WiFi网络。
- **WebServer.h**:提供HTTP服务器功能,允许ESP32设备作为Web服务器运行,处理HTTP请求。
这些库是ESP32 Arduino IDE的一部分,专为ESP32和ESP8266开发板设计。
硬件清单:
ESP32、LED发光二极管、1KΩ电阻、面包板、杜邦线若干。
硬件连接:
D12-1KΩ-LED阳极、GND-LED阴极。
下面是代码部分:
//在手机的浏览器输入“http://[获取到的IP]/LED_ON”开灯,输入“http://[IP]/LED_OFF”关灯。
#include <WiFi.h>
#include <WebServer.h>
const char* ssid = " "; // 替换为你的WiFi网络SSID
const char* password = " "; // 替换为你的WiFi密码
// 创建一个WiFi服务器,监听80端口
WebServer server(80);
int ledPin = 12; // LED连接的GPIO引脚
void handleLEDOn() {
digitalWrite(ledPin, HIGH);
server.send(200, "text/plain", "LED is ON");
}
void handleLEDOff() {
digitalWrite(ledPin, LOW);
server.send(200, "text/plain", "LED is OFF");
}
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(115200); // 初始化串口通信,设置波特率为115200 。
//在串口监视器中也要把波特率设置为115200。
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
server.on("/LED_ON", HTTP_GET, handleLEDOn);
server.on("/LED_OFF", HTTP_GET, handleLEDOff);
server.begin();
}
void loop() {
server.handleClient();
}