前言:
现时我们对“led服务器使用教程”大概比较关怀,同学们都需要分析一些“led服务器使用教程”的相关资讯。那么小编也在网摘上网罗了一些对于“led服务器使用教程””的相关内容,希望姐妹们能喜欢,同学们快快来学习一下吧!用户通过浏览器和ESP32控制LED的开关的方法
要实现这个功能,您需要以下几个步骤:
安装Arduino IDE和ESP32开发板支持包,以及WebServer库。WebServer库是一个基于HTTP协议的轻量级Web服务器库,它可以让您轻松地创建和注册不同的URI处理函数,以及发送和接收HTTP请求和响应。编写Arduino程序,设置ESP32的WiFi连接,创建WebServer对象,并注册不同的URI处理函数。其中,根目录(“/”)的URI处理函数返回一个包含两个按钮的网页,分别用于控制LED的开关。另外,“/LED=ON"和”/LED=OFF"的URI处理函数分别用于打开和关闭LED,并返回相应的状态信息。上传程序到ESP32,并在串口监视器中查看分配给ESP32的IP地址。在浏览器中输入ESP32的IP地址或自定义域名,访问根目录(“/”),查看包含两个按钮的网页。点击按钮,可以通过"/LED=ON"和"/LED=OFF"的URI来控制LED的开关,并查看相应的状态信息。
以下是一个简单的程序代码示例,它可以实现上述功能:
#include <WiFi.h>#include <WebServer.h>// WiFi网络名称和密码const char* ssid = "YOUR_SSID";const char* password = "YOUR_PASSWORD";// 创建一个WebServer对象WebServer server(80);// 定义一个LED引脚#define LED 26// 根目录("/")的URI处理函数void handleRoot() { // 发送HTTP响应头,指定内容类型为text/html server.sendHeader("Content-Type", "text/html"); // 发送HTTP响应内容,包含一个包含两个按钮的HTML网页 server.send(200, "text/html", "<h1>Control LED from Web</h1><p><a href=\"/LED=ON\"><button>ON</button></a> <a href=\"/LED=OFF\"><button>OFF</button></a></p>");}// "/LED=ON"目录的URI处理函数void handleLedOn() { // 打开LED digitalWrite(LED, HIGH); // 发送HTTP响应头,指定内容类型为text/html server.sendHeader("Content-Type", "text/html"); // 发送HTTP响应内容,包含一个显示LED状态为ON的HTML网页,并提供返回按钮 server.send(200, "text/html", "<h1>LED is ON</h1><p><a href=\"/\">Return</a></p>");}// "/LED=OFF"目录的URI处理函数void handleLedOff() { // 关闭LED digitalWrite(LED, LOW); // 发送HTTP响应头,指定内容类型为text/html server.sendHeader("Content-Type", "text/html"); // 发送HTTP响应内容,包含一个显示LED状态为OFF的HTML网页,并提供返回按钮 server.send(200, "text/html", "<h1>LED is OFF</h1><p><a href=\"/\">Return</a></p>");}void setup() { // 初始化串口通信,并设置波特率为115200 Serial.begin(115200); // 设置LED引脚为输出模式,并默认关闭 pinMode(LED, OUTPUT); digitalWrite(LED, LOW); // 连接到WiFi网络,并打印出ESP32的IP地址 WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.print("Connected to "); Serial.println(ssid); Serial.print("IP address: "); Serial.println(WiFi.localIP()); // 注册不同的URI处理函数 server.on("/", handleRoot); // 根目录("/") server.on("/LED=ON", handleLedOn); // "/LED=ON"目录 server.on("/LED=OFF", handleLedOff); // "/LED=OFF"目录 // 开始运行Web服务器 server.begin();}void loop() { // 处理用户的请求 server.handleClient();}
标签: #led服务器使用教程