ESP32-mDNS使用笔记

本文记录了ESP32使用mDNS服务,避免通过IP地址访问的步骤。涉及sdkconfig配置,设置SSID和password,安装npm v14.15.1 LTS,编译烧录,以及通过特定域名访问ESP32的网页效果,网页内容包括Home、Chart和Light三个部分,使用了md的iconfont。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ESP32-mDNS使用笔记

目的:通过域名去访问,而不通过IP地址

例程采用example\protocols\http_server\restful_server

实现步骤参考工程目录下的README.md

1、sdkconfig配置

配置ssid和password

CONFIG_EXAMPLE_WIFI_SSID="PDCN"
CONFIG_EXAMPLE_WIFI_PASSWORD="1234567890"

使能GONFIG_EXAMPLE_WEBE_DEPLOY_SF

#
# Example Configuration
#
CONFIG_EXAMPLE_MDNS_HOST_NAME="esp-home"
# CONFIG_EXAMPLE_WEB_DEPLOY_SEMIHOST is not set
# CONFIG_EXAMPLE_WEB_DEPLOY_SD is not 
### ESP32 使用 mDNS 的示例代码 为了实现 ESP32 上的 mDNS 功能,可以利用 Arduino IDE 中的 `ArduinoESP` 库来简化开发过程。下面是一个完整的示例程序,展示了如何配置并启动一个带有 mDNS 支持的简单 Web 服务器。 #### 安装依赖库 确保安装了最新的 `ESP32` 开发板支持包以及必要的库文件,可以通过 Arduino IDE 的库管理器完成此操作[^1]。 ```cpp #include <WiFi.h> #include <ESPmDNS.h> #include <WebServer.h> const char* ssid = "your_SSID"; const char* password = "your_PASSWORD"; // 创建 web server 对象,默认监听端口80 WebServer server(80); void setup() { Serial.begin(115200); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting to WiFi.."); } // 启动 MDNS 并设置主机名为 esp32webserver.local if (!MDNS.begin("esp32webserver")) { Serial.println("Error setting up MDNS responder!"); return; } Serial.println("mDNS responder started"); // 注册 HTTP URL 处理函数 server.on("/", handleRoot); // 开始处理来自客户端的请求 server.begin(); } void loop() { server.handleClient(); } void handleRoot() { String htmlPage = "<html><body>"; htmlPage += "<h1>Hello from your ESP32!</h1>"; htmlPage += "</body></html>"; server.send(200, "text/html", htmlPage); } ``` 这段代码实现了如下功能: - 连接到指定 Wi-Fi 网络。 - 初始化 mDNS 响应器并将设备注册到局域网内可解析的名字空间下(本例中为 `esp32webserver.local`)。 - 设置了一个简单的网页响应处理器,在根路径 `/` 返回一段 HTML 文档给浏览器显示。 - 当一切准备就绪之后进入无限循环等待并处理到来的新连接请求。 一旦上传该草图至 ESP32 板子上运行成功后,就可以通过任意一台同处同一网络环境下的计算机打开浏览器输入 http://esp32webserver.local 访问这个小型网站了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值