根据板卡原理RGB三色LED对应引脚:
int LEDR=12、int LEDG=14、int LEDB=13;
设置串口波特率为115200
Serial.begin(115200);
源代码如下所示:
3.1添加头文件
#include <ESP8266WiFi.h> // 提供 Wi-Fi 功能的库
#include <ESP8266WebServer.h> // 提供网站服务器功能的库
3.2根据自己的无线路由器设置名称和密码
const char ssid[] ="********";//你的WIFI名称
const char pass[] ="********";//你的WIFI密码
3.3RGB三色灯的IO引脚配置
int LEDR=12;
int LEDG=14;
int LEDB=13;
3.4 WEB Server相关的处理代码
ESP8266WebServer server(80); // 声明网站服务器对象与端口号
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.on("/sw",[](){
String state=server.arg("LED");
if(state=="ONG")
{
digitalWrite(LEDG,HIGH);
server.send(200,"text/html","LEDG is <b> ON </b>!");
}
else if(state=="OFFG")
{
digitalWrite(LEDG,LOW);
server.send(200,"text/html","LEDG is <b>OFF</b>!");
}
else if(state=="ONR")
{
digitalWrite(LEDR,HIGH);
server.send(200,"text/html","LEDR is <b>ON</b>!");
}
else if(state=="OFFR")
{
digitalWrite(LEDR,LOW);
server.send(200,"text/html","LEDR is <b>OFF</b>!");
}
else if(state=="ONB")
{
digitalWrite(LEDB,HIGH);
server.send(200,"text/html","LEDB is <b>ON</b>!");
}
else if(state=="OFFB")
{
digitalWrite(LEDB,LOW);
server.send(200,"text/html","LEDB is <b>OFF</b>!");
}
});
server.begin();
Serial.println("HTTP server started.");
}
void loop() {
server.handleClient(); // 处理用户连接
}
操作过程如下图所示: