网站首页 > 技术教程 正文
Web服务器是一种可以通过网络提供网页或其他数据的程序,它可以让用户通过浏览器或其他客户端访问ESP32上的资源。
要在ESP32上搭建一个Web服务器,使用Arduino IDE和ESP32开发板支持包,以及WebServer库。WebServer库是一个基于HTTP协议的轻量级Web服务器库,使用它可以轻松地创建和注册不同的URI处理函数,以及发送和接收HTTP请求和响应。
以下是一个简单的Web服务器的代码示例,它可以实现以下功能:
- 连接到指定的WiFi网络,并打印出ESP32的IP地址。
- 创建一个WebServer对象,并监听80端口。
- 注册一个根目录(“/”)的URI处理函数,当用户访问该URI时,返回一个包含"Hello World!"的网页。
- 注册一个"/hello"目录的URI处理函数,当用户访问该URI时,返回一个包含"Hello from ESP32!"的网页。
- 注册一个未找到(404)的URI处理函数,当用户访问不存在的URI时,返回一个包含"Page Not Found!"的网页。
- 开始运行Web服务器,并等待用户的请求。
#include <WiFi.h>
#include <WebServer.h>
// WiFi网络名称和密码
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";
// 创建一个WebServer对象
WebServer server(80);
// 根目录("/")的URI处理函数
void handleRoot() {
// 发送HTTP响应头,指定内容类型为text/html
server.sendHeader("Content-Type", "text/html");
// 发送HTTP响应内容,包含一个简单的HTML网页
server.send(200, "text/html", "<h1>Hello World!</h1>");
}
// "/hello"目录的URI处理函数
void handleHello() {
// 发送HTTP响应头,指定内容类型为text/html
server.sendHeader("Content-Type", "text/html");
// 发送HTTP响应内容,包含一个简单的HTML网页
server.send(200, "text/html", "<h1>Hello from ESP32!</h1>");
}
// 未找到(404)的URI处理函数
void handleNotFound() {
// 发送HTTP响应头,指定内容类型为text/plain
server.sendHeader("Content-Type", "text/plain");
// 发送HTTP响应内容,包含一个简单的文本信息
server.send(404, "text/plain", "Page Not Found!");
}
void setup() {
// 初始化串口通信,并设置波特率为115200
Serial.begin(115200);
// 连接到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("/hello", handleHello); // "/hello"目录
server.onNotFound(handleNotFound); // 其他不存在的目录
// 开始运行Web服务器
server.begin();
}
void loop() {
// 处理用户的请求
server.handleClient();
}
猜你喜欢
- 2024-10-12 一文看懂WebRTC建连过程 webrtc createoffer
- 2024-10-12 「Web前端干货知识」如何建站? web前端构建工具
- 2024-10-12 真香!自带 HTTPS 的开源 Web 服务器,附快速上手教程
- 2024-10-12 我创建了第一个Web3网页,很简单你也可以
- 2024-10-12 WebRTC 云服务器搭建 AppRTC 环境
- 2024-10-12 蓝易云 - Nodejs快速搭建简单的HTTP服务器详细教程。
- 2024-10-12 TrueNAS-搭建简单的家用、企业共享盘—文件服务器教程
- 2024-10-12 利用Docker 或者NAS给浏览器制作一个完美导航页-Heimdall(汉化)
- 2024-10-12 Linux系统搭建web服务器,cms建站系统安装详细教程
- 2024-10-12 如何搭建WebRTC信令服务器 webrtc lib
你 发表评论:
欢迎- 最近发表
-
- 函数公式的7大潜规则,这次给你讲透了
- 数据逆向查找不止有vlookup,你该知道的三种逆向查询操作
- Vlookup函数怎么一次查找能返回多个结果?
- vlookup函数的嵌套你用过吗?一次可以引用3个表格的数据
- Vlookup函数的新用法,查询合并单元格,很多Excel高手都不知道
- 分明有数据,公式也没错,为什么vlookup还是会返回错误值
- 条件判断还在用if函数就out了,vlookup函数模糊查询一键完成
- EXCEL函数 VLOOKUP函数 HLOOKUP函数
- excel中vlookup函数的用法(excel中vlookup函数公式)
- 自动获取vlookup函数的第三参数,再也不用一列一列的数了
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)