ESP8266零配置网络

概念: Zeroconf (Zero-configuration networking 零配置联网)

功能:

1 自动配置IP地址  (Link-local 地址),

2 自动配置并解析域名,这项技术被称为 mDNS (Multicast Domain Name Service,多点发送域名服务)

3 在网络传播和接收自己与其他设备所能提供的服务。DNS-SD(DNS-based Service Discovery  基于DNS的服务探索)

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
ESP8266WebServer server(80);
void setup() {
Serial.begin(115200);
// put your setup code here, to run once:
WiFi.begin("kangtine","87602261");

while(WiFi.status()!=WL_CONNECTED){
delay(500);
Serial.println(".");
}
Serial.print("dns 配置中");
if(WiFi.status() == WL_CONNECTED) //If WiFi connected to hot spot then start mDNS
{
if (MDNS.begin("lsq")) { //Start mDNS with name esp8266
Serial.println("MDNS started");
}
}
Serial.print("Wi-Fi connected,IP:");
Serial.println(WiFi.localIP());
server.on("/",[](){
server.send(200,"text/html","hello from <b>ESP8266</b>.");
});

server.onNotFound([](){
server.send(404,"text/plain","File Not found!");
});
server.begin();

MDNS.addService("http","tcp",80);
Serial.println("HTTP server started.");

int n = MDNS.queryService("http","tcp");
if(n>0){
for(int i=0;i<n;i++){
Serial.print(i+1);
Serial.print(MDNS.hostname(i));
Serial.print(MDNS.IP(i));
Serial.print(MDNS.port(i));
}
}else{
Serial.print("no service found");
}
}

void loop() {
// put your main code here, to run repeatedly:
MDNS.update();   一开始我没加这一句。始终无法访问。。。后来加着这一句之后才能访问。。。
server.handleClient();
}

原文地址:https://www.cnblogs.com/Lonelychampion/p/12228940.html

时间: 2024-10-12 23:22:34

ESP8266零配置网络的相关文章

iOS- 如何使用Apple的零配置网络协议Bonjour?

1.前言 这段时间为了解决公司App的网络离线需求,做了个Apple推出的零配置网络协议Bonjour的Test,主要是为了解决iOS设备的IP获取,之前是可以使用socket的广播来实现,但是使用Apple推出的Bonjor相比会更加简单和稳定.希望能对大家有点帮助,如果有什么地方有error也欢迎大家指出,互相学习. 这是之前写过的一篇关于socket的blog——socket广播 iOS- 移动端Socket UDP协议广播机制的实现 2.什么是Bonjour?能做些什么? 相信没有了解过

ESP8266开发之旅 进阶篇② 闲聊Arduino IDE For ESP8266烧录配置

1.前言 ????在学习ESP8266开发的过程中,很多初学开发者很容易出现以下几种问题: 编译代码提示缺少ESP8266WiFi库(原因之一就是选择了非ESP8266板子编译,比如Arduino UNO): ESP8266烧录失败(原因之一就是配置了错误的烧录选项,比如目标板是NodeMcu但是选择了其他板子): ESP8266烧录成功,但是显示串口乱码(原因之一也是配置了错误的烧录选项,配置错误的FlashMode): ????归根到底,就是初学者不理解各个编译选项的含义,很容易选择错误的配

VirtualBox 配置网络和Ubuntu16.04更新操作

上章讲到使用VirtualBox安装Ubuntu16.04,现在系统安装好了,我们得给他配置好网络. VirtualBox配置网络首先得确认自己物理主机的网络连接方式: 1)直接连交换机 2)通过路由器.这里包括拨号上网,连接wifi,使用校园网等. 如果是第一种情况,则使用桥接网络,第二种则使用网络地址转换(NAT). 我的是wifi连接所以用了网络地址转换(NAT) 然后可以登录系统,查看网络是否联通.可以ping www.baidu.com测试.网络调通后我们可以远程了,但是由于没有安装s

SpringMVC4零配置

这里对SpringMVC零配置做一个简单的说明 spring4中提供了大量的注解来支持零配置,简要说明如下: @Configuration : 类似于spring配置文件,负责注册bean,对应的提供了@Bean注解.需要org.springframework.web.context.support.AnnotationConfigWebApplicationContext注册到容器中. @ComponentScan : 注解类查找规则定义 <context:component-scan/>

ifcfg系列命令配置网络属性

Linux网络属性配置: 将linux接到网络中的方式: 1. 本地通信:配置IP/NATMASK 2.跨网络通信:配置路由(网关) 3.基于主机名通信:配置DNS服务器地址(域名解析),linux可以配置3个DNS指向 Linux配置网络的方式: 静态指定 动态指定 1.静态指定 指定命令 配置有关网络的配置文件 (1)指定命令,只对当前系统有效 ifcfg家族 iproute2家族 在CentOS7上新增的nm(network Manager)家族 DNS服务器的配置文件位置:/etc/re

菜鸟学Struts2——零配置(Convention )

又是周末,继续Struts2的学习,之前学习了,Struts的原理,Actions以及Results,今天对对Struts的Convention Plugin进行学习,如下图: Struts Convention支持零配置进行开发,也就是约定约定优于配置的方式. (1)环境准备 使用Convention Plugin进行开发,需要引入struts2-convention-plugin,完整的pom.xml依赖如下: 1 <dependency> 2 <groupId>org.apa

安装linux下面用来配置网络,防火墙,系统服务等设置的图形小工具Setup

Setup命令是linux下面用来配置网络,防火墙,系统服务等设置的图形小工具.使用起来非常方便简单,可是centos\redhat最小化安装之后发现setup命令工具用不了. 接下来介绍如何安装setup小工具: yum whatprovides /usr/sbin/setup 显示信息: setuptool-1.19.9-4.el6.i686 : A text mode system configuration tool 提示是在setup这个安装包下面就先安装setuptool yum -

在VMware上安装CentOS-6.5 minimal - 配置网络

CentOS的minimal版本默认不启动网络,所以安装完CentOS要自己配置网络. 老伯的VMware虚拟机网络连接方式采用NAT方式(其他方式没试过). 1 修改配置文件/etc/sysconfig/network-script/ifcfg-eth0 修改下面两项: # 是否依赖Network Manager的控制,minimal没装这玩意,所以设为no NM_CONTROLLED="no" # 开机启动,当然yes ONBOOT="yes" 2 重启服务 s

springMVC零配置吐槽

此时此刻,哥哥我不得不大大的吐槽一下.从github上down下来一个spring-mvc的chat演示样例,牛逼作者用的是注解的方式,项目全然零配置.而我眼下用的springMVC框架,还是在xml里面配置,所以,在用这个样例的时候,出现了一些小意外,比方,并不能非常好的与我如今的框架集成.天朝用springMVC框架的实在太少了,准确来说,是总结springMVC框架的大牛实在太少了.只是最后经过百般鼓捣,就在前一分钟,能用了,集成成功了.真尼玛幸福.springMVC零配置吐槽,布布扣,b