https://circuits4you.com/2017/12/31/esp8266-mdns/

本教程介绍如何使用ESP8266进行多播DNS?在网络世界中,很难记住每个网站和计算机的IP地址,解决这个问题域名系统(DNS)用于制作人类可理解的名称。在ESP8266中使用ESP作为Web服务器时,很难记住ESP8266的IP地址,并且在DHCP模式下很难识别ESP的IP地址。即WiFi路由器为ESP8266分配IP地址。大多数ESP8266应用程序没有显示界面,并且不容易访问以了解其IP地址。为了克服这个问题,使用mDNS。

什么是mDNS?

有关mDNS的更多信息,请阅读RFC6762

随着联网设备变得更小,更便携和更普遍,使用配置较少的基础设施进行操作的能力变得越来越重要。特别是,在没有传统的托管DNS服务器的情况下查找DNS资源记录数据类型(包括但不限于主机名)的能力是有用的。

多播DNS(mDNS)提供在没有任何传统单播DNS服务器的情况下在本地链路上执行类似DNS的操作的能力。此外,多播DNS指定DNS名称空间的一部分可供本地使用,无需支付任何年费,也无需设置授权或以其他方式配置传统DNS服务器来回答这些名称。

多播DNS名称的主要优点是

  1. 它们几乎不需要管理或配置来设置它们,
  2. 它们在没有基础设施时工作,并且
  3. 它们在基础设施故障期间工

在ESP8266上使用本地网络中的mDNS

使用ESP8266的mDNS程序

该程序创建ESP8266 mDNS,名称为esp8266 MDNS.begin(“esp8266”)

/*
* Circuits4you.com
* mDNS example ESP8266 in Arduino IDE
* After connecting to WiFi router enter esp8266.local in web browser
*/
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h> const char* wifiName = "circuits4you.com";
const char* wifiPass = "your_password"; ESP8266WebServer server(80); //Handles http request
void handleRoot() {
digitalWrite(2, 0); //Blinks on board led on page request
server.send(200, "text/plain", "hello from esp8266!");
digitalWrite(2, 1);
} // the setup function runs once when you press reset or power the board
void setup() { Serial.begin(115200);
delay(10);
// We start by connecting to a WiFi network
Serial.println(); Serial.print("Connecting to ");
Serial.println(wifiName); WiFi.begin(wifiName, wifiPass); while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
} Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP()); //You can get IP address assigned to ESP if(WiFi.status() == WL_CONNECTED) //If WiFi connected to hot spot then start mDNS
{
if (MDNS.begin("esp8266")) { //Start mDNS with name esp8266
Serial.println("MDNS started");
}
} server.on("/", handleRoot); //Associate handler function to path server.begin(); //Start server
Serial.println("HTTP server started");
} // the loop function runs over and over again forever
void loop() {
server.handleClient();
}

  上传此程序后打开串口监视器,看看一切正常。

然后打开Web浏览器并在地址栏中输入esp8266.local。确保您打开Web浏览器的esp和笔记本电脑(不是ANDROID PHONE)使用相同的WiFi网络。

DNS系统有www.xyzabc.com这样的名字。但是当你使用mDNS时,本地DNS系统没有任何DNS服

务器。你必须在那个点(。)local之后输入域名。恩。esp8266.local

重要说明: Android操作系统不支持mDNS。您必须在手机中使用IP地址。要解决此问题,请在网页中显示IP地址。这样你就可以在笔记本电脑上获得ESP8266的ip。

 

ESP8266 mDNS的更多相关文章

  1. (四)esp8266 MDNS域名服务

    (实例一)ESP8266 TFT(ST7735)彩屏-web刷图 https://www.arduino.cn/thread-42247-1-1.html (实例二) 自己当AP时建立MDNS域名 h ...

  2. ESP8266开发之旅 网络篇⑫ 域名服务——ESP8266mDNS库

    1. 前言     前面的博文中,无论是作为client端还是server端,它们之间的通信都是通过具体的IP地址来寻址.通过IP地址来寻址,本身就是一个弊端,用户怎么会去记住这些魔法数字呢?那么有没 ...

  3. 解析-ESP01模块开发Arduino物联网wifi开关模块

    本文将解析<完美图解物联网Iot实操 ESP8266>中 第五章 P177页 动手做的代码2(使用SPIFFS文件系统的代码) 首先我们先动手使用Arduino IDE编译并且上传代码,上 ...

  4. esp8266 免费wifi强推广告神器(4) 发现当前WIFI下的用户数目,IP,MAC请求http信息 在用户请求跳转后跳转

    需求: 1 获取当前连接客户端的HTTP请求各种信息 方法 get  http 请求路径  例如  /index.html   /    /pic.jpg 请求版本   HTTP/1.0     HT ...

  5. Arduino IDE for ESP8266 教程(一) 局域网 网页查看数据 不控制

    淘宝:https://detail.tmall.com/item.htm?id=536504922008&spm=a1z09.2.0.0.5e160c66c76b3g&_u=e1qf7 ...

  6. ESP8266开发之旅 网络篇⑯ 无线更新——OTA固件更新

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... QQ技术互动交流群:ESP8266&3 ...

  7. ESP8266开发之旅 网络篇① 认识一下Arduino Core For ESP8266

        博主的 ESP8266开发之旅 专栏主要分为三个部分: 基础篇 网络篇 应用篇     从这一篇开始,博主将会带领各位读者在基础篇的基础上进入网络的世界.在此,博主认为各位读者已经具备以下前提 ...

  8. ESP8266开发之旅 网络篇⑭ web配网

    1. 前言     目前,市面上流行多种配网方式: WIFI模块的智能配网(SmartConfig以及微信AirKiss配网) SmartConfig 配网方式 请参考博主之前的博文 ESP8266开 ...

  9. ESP8266开发之旅 网络篇⑮ DNSServer——真正的域名服务

    1. 前言     Arduino for esp8266中有两个DNS服务相关的库: ESP8266mDNS库 这个库是mDNS库,使用这个库的时候ESP8266可以在AP模式或是以STA模式接入局 ...

随机推荐

  1. PHP微信H5支付

    今天项目用到了微信新出的h5支付直接去官网 https://pay.weixin.qq.com/wiki/doc/api/index.html找dome去了找了之后才发现没有一脸懵逼,一开始以为和公众 ...

  2. Android 常用数据操作封装类案例

    1.DbHelper类 继承自SQLiteOpenHelper类,实现对数据库的基本操作 package com.example.utils; import android.content.Conte ...

  3. SqL读取XML、解析XML、SqL将XML转换DataTable、SqL将XML转换表

    DECLARE @ItemMessage XML )) SET @ItemMessage=N' <ReceivablesInfos> <ReceivablesList> < ...

  4. 洛谷P3966 [TJOI2013]单词(AC自动机)

    题目描述 小张最近在忙毕设,所以一直在读论文.一篇论文是由许多单词组成但小张发现一个单词会在论文中出现很多次,他想知道每个单词分别在论文中出现了多少次. 输入输出格式 输入格式: 第一行一个整数N,表 ...

  5. 【代码笔记】Web-JavaScript-JavaScript 运算符

    一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  6. 95%的中国网站需要重写CSS

    95%的中国网站需要重写CSS 很长一段时间,我都使用12px作为网站的主要字体大小.10px太小,眼睛很容易疲劳,14px虽容易看清,却破坏页面的美感.唯独12px在审美和视力方面都恰到好处. 谁对 ...

  7. loadrunner 脚本录制-Protocol Advisor协议分析器的使用

    脚本录制-Protocol Advisor协议分析器的使用 by:授客 QQ:1033553122 1.启动Protocol Advisor File > Protocol Advisor &g ...

  8. [转] vi/vim命令模式和编辑模式各种操作

    摘要:vi 编辑器是最常用的文档创建和编辑工具,初学者应该学会简单应用vi ,学会在vi 中做简单的修改.删除.插入.搜索及替换作业:如果您是新手,不妨看看本文,或许这篇文档能让您在最短的时间内学会v ...

  9. Jetbrains Idea连接TFS时配置的坑

    #Team Explorer Everywherehttps://www.microsoft.com/en-us/search/result.aspx?q=team+explorer+everywhe ...

  10. MySQL 安装及卸载详细教程

    本文采用最新版MySQL8版本作为安装教程演示,本人亲试过程,准确无误.可供读者参考. 下载 官网下载 --> 社区免费服务版下载. 下载Windows安装程序MySQL Installer M ...