ESP8266+网页控制板载LED

目录

一、准备工作

二、代码部分

三、程序烧录

四、效果演示


一、准备工作

        硬件清单:esp8266开发板、数据线、电脑

        arduino ide软件下载及esp8266环境搭建:

        教程可参考文章:Arduino IDE搭建ESP32或ESP8266开发环境(附离线安装包)


二、代码部分

        完整代码

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

// 定义LED引脚
const int ledPin = 2;  // 板载LED为GPIO2,也就是D4引脚

// 创建Web服务器对象,监听80端口
ESP8266WebServer server(80);

// Wi-Fi凭证
const char* ssid = "wodewifi";      // 替换为你的Wi-Fi名称
const char* password = "nidemima";  // 替换为你的Wi-Fi密码

// 处理根路径请求
void handleRoot() {
  String html = "<!DOCTYPE html><html><head><title>ESP8266 LED Control</title>";
  html += "<style>";
  html += "body { font-family: Arial, sans-serif; text-align: center; margin-top: 50px; }";
  html += "h1 { font-size: 3em; }";  // 放大标题
  html += "p { font-size: 2em; }";   // 放大段落文字
  html += "button { font-size: 1.5em; padding: 10px 20px; margin: 10px; }";  // 放大按钮
  html += "</style>";
  html += "</head><body>";
  html += "<h1>ESP8266 LED Control</h1>";
  html += "<p>LED State: <a href=\"/ledon\"><button>ON</button></a> <a href=\"/ledoff\"><button>OFF</button></a></p>";
  html += "</body></html>";
  server.send(200, "text/html", html);
}

// 处理LED打开请求
void handleLedOn() {
  digitalWrite(ledPin, LOW);  // LED低电平点亮
  server.sendHeader("Location", "/");  // 重定向回根路径
  server.send(303);  // 303 See Other
}

// 处理LED关闭请求
void handleLedOff() {
  digitalWrite(ledPin, HIGH);  // LED高电平熄灭
  server.sendHeader("Location", "/");  // 重定向回根路径
  server.send(303);  // 303 See Other
}

void setup() {
  // 初始化串口
  Serial.begin(115200);

  // 设置LED引脚为输出模式
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, HIGH);  // 初始状态关闭LED

  // 连接Wi-Fi
  WiFi.begin(ssid, password);
  Serial.print("Connecting to Wi-Fi");
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.print(".");
  }
  Serial.println();
  Serial.println("Connected to Wi-Fi");
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP());

  // 设置服务器路由
  server.on("/", handleRoot);       // 根路径
  server.on("/ledon", handleLedOn); // 打开LED
  server.on("/ledoff", handleLedOff); // 关闭LED

  // 启动服务器
  server.begin();
  Serial.println("HTTP server started");
}

void loop() {
  // 处理客户端请求
  server.handleClient();
}

        代码修改:程序中的wifi名称与密码需要修改成自己实际使用的,不要出现中文,可以是路由器网络,也可以是手机热点,只支持2.4G频段网络,可以使用4G,但不支持5G。

        另外,程序中控制的是板载LED,GPIO2引脚,如果想要控制其他引脚,也可以自行修改。


三、程序烧录

        将开发板连接到电脑端口,选择【Generic ESP8266 Module】开发板,COM口选择自己实际接的,不确定的可以打开电脑设备管理器→端口列表,拔插8266,观察哪个com口会刷新,一般就是那个。

        修改好程序之后,点击【上传】按钮,等待上传完成即可。

        然后点开右上角的【串口监视器】,波特率设置为115200。

        按一下开发板的【RST】按键,等待板子连接上wifi,串口就会输出一个IP地址。


四、效果演示

        使用手机或电脑浏览器打开这个IP地址,即可控制板载LED亮灭。【注意】要确保esp8266和客户端设备(打开IP地址的设备)要连接到同一个wifi网络,否则无法打开。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值