Arduino开发:网页控制ESP8266三色LED灯闪烁

该代码示例展示了如何使用ESP8266微控制器创建一个简单的Web服务器,通过Wi-Fi网络来控制RGBLED灯的亮灭。用户可以通过网页上的按钮控制LEDR、LEDG和LEDB的闪烁状态。程序中定义了LED的引脚,初始化Wi-Fi连接,并设置了HTTP请求处理函数来响应不同LED的控制请求。
摘要由CSDN通过智能技术生成
  1. 根据板卡原理RGB三色LED对应引脚:

int LEDR=12、int LEDG=14、int LEDB=13;

  1. 设置串口波特率为115200

Serial.begin(115200);

  1. 源代码如下所示:

#include <ESP8266WiFi.h> // 提供 Wi-Fi 功能的库

#include <ESP8266WebServer.h> // 提供网站服务器功能的库

const char ssid[] ="*************";//你的WIFI名称

const char pass[] ="************";//你的WIFI密码

int LEDR=12;

int LEDG=14;

int LEDB=13;

ESP8266WebServer server(80); // 声明网站服务器对象与端口号

void pageIndex(){

String HTML="<!DOCYPYE html><html><meta charset=\"UTF-8\"/><title>LYU-IOT控制LED</title><body>\

<h1 align=\"center\">网页控制LYU-IOT-ESP12F三色LED亮灭</h1>\

<p><form action=\"/LB\" method=\"POST\" align=\"center\"><input type=\"submit\" value=\"LEDB闪烁控制\"> </form></p>\

<p><form action=\"/LG\" method=\"POST\" align=\"center\"><input type=\"submit\" value=\"LEDG闪烁控制\"> </form></p>\

<p><form action=\"/LR\" method=\"POST\" align=\"center\"><input type=\"submit\" value=\"LEDR闪烁控制\"> </form></p>\

</body></html>";

server.send(200,"text/html",HTML);

}

void LEDBControl(){

digitalWrite(LEDB,!digitalRead(LEDB));

server.sendHeader("Location","/");

server.send(303);

Serial.println("\r\n LEDB is work\r\n");

}

void LEDGControl(){

digitalWrite(LEDG,!digitalRead(LEDG));

server.sendHeader("Location","/");

server.send(303);

Serial.println("\r\n LEDG is work\r\n");

}

void LEDRControl(){

digitalWrite(LEDR,!digitalRead(LEDR));

server.sendHeader("Location","/");

server.send(303);

Serial.println("\r\n LEDR is work\r\n");

}

void PageNULL(){

server.send(404,"text/plain","404 Not Found The Server");

}

void setup() {

pinMode(LEDG, OUTPUT);

pinMode(LEDR, OUTPUT);

pinMode(LEDB, OUTPUT);

Serial.begin(115200);

WiFi.begin(ssid, pass);

// 若要指定 IP 地址,请自行在此加入 Wi-Fi.config() 语句

while (WiFi.status() != WL_CONNECTED)

{

delay(500); // 等待 Wi-Fi 连接

Serial.print("." );

}

Serial.println("");

Serial.print("WiFi connected, IP:");

Serial.println(WiFi.localIP()); // 显示 ESP8266 设备的 IP 地址

server.begin();

server.on("/",HTTP_GET,pageIndex);

server.on("/LB",HTTP_POST,LEDBControl);

server.on("/LG",HTTP_POST,LEDGControl);

server.on("/LR",HTTP_POST,LEDRControl);

server.onNotFound(PageNULL);

Serial.println("HTTP server started.");

}

void loop() {

server.handleClient(); // 处理用户连接

}

  1. 运行结果如图所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值