(实例一)ESP8266 TFT(ST7735)彩屏-web刷图

https://www.arduino.cn/thread-42247-1-1.html

(实例二) 自己当AP时建立MDNS域名

https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266mDNS/examples/mDNS_Web_Server/mDNS_Web_Server.ino

/*
ESP8266 mDNS responder sample
This is an example of an HTTP server that is accessible
via http://esp8266.local URL thanks to mDNS responder.
Instructions:
- Update WiFi SSID and password as necessary.
- Flash the sketch to the ESP8266 board
- Install host software:
- For Linux, install Avahi (http://avahi.org/).
- For Windows, install Bonjour (http://www.apple.com/support/bonjour/).
- For Mac OSX and iOS support is built in through Bonjour already.
- Point your browser to http://esp8266.local, you should see a response.
*/ #include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiClient.h> #ifndef STASSID
#define STASSID "your-ssid"
#define STAPSK "your-password"
#endif const char* ssid = STASSID;
const char* password = STAPSK; // TCP server at port 80 will respond to HTTP requests
WiFiServer server(80); void setup(void) {
Serial.begin(115200); // Connect to WiFi network
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.println(""); // Wait for connection
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()); // Set up mDNS responder:
// - first argument is the domain name, in this example
// the fully-qualified domain name is "esp8266.local"
// - second argument is the IP address to advertise
// we send our IP address on the WiFi network
if (!MDNS.begin("esp8266")) {
Serial.println("Error setting up MDNS responder!");
while (1) {
delay(1000);
}
}
Serial.println("mDNS responder started"); // Start TCP (HTTP) server
server.begin();
Serial.println("TCP server started"); // Add service to MDNS-SD
MDNS.addService("http", "tcp", 80);
} void loop(void) { MDNS.update(); // Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}
Serial.println("");
Serial.println("New client"); // Wait for data from client to become available
while (client.connected() && !client.available()) {
delay(1);
} // Read the first line of HTTP request
String req = client.readStringUntil('\r'); // First line of HTTP request looks like "GET /path HTTP/1.1"
// Retrieve the "/path" part by finding the spaces
int addr_start = req.indexOf(' ');
int addr_end = req.indexOf(' ', addr_start + 1);
if (addr_start == -1 || addr_end == -1) {
Serial.print("Invalid request: ");
Serial.println(req);
return;
}
req = req.substring(addr_start + 1, addr_end);
Serial.print("Request: ");
Serial.println(req);
client.flush(); String s;
if (req == "/") {
IPAddress ip = WiFi.localIP();
String ipStr = String(ip[0]) + '.' + String(ip[1]) + '.' + String(ip[2]) + '.' + String(ip[3]);
s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>Hello from ESP8266 at ";
s += ipStr;
s += "</html>\r\n\r\n";
Serial.println("Sending 200");
} else {
s = "HTTP/1.1 404 Not Found\r\n\r\n";
Serial.println("Sending 404");
}
client.print(s); Serial.println("Done with client");
}

  (实例三) 自己STA连WIFI

在代码中,我们将包含一个额外的库

# include <ESP8266mDNS.h>

在该  库中,我们现在可以访问一个 名为 MDNS 响应器的类,  我们将使用它来声明一个对象。

MDNSResponder mdns;

 使用此 对象,我们可以使用  begin方法创建我们将使用的  Web地址,并将其命名为“esp-01”。此方法需要的第二个参数是我们可以使用Wi-Fi对象的本地IP方法使用的Esp8266的IP地址。

 

mdns.begin(“esp-01”,Wifi.localIP());

  

添加一个条件语句,当它  评估为true时,它会向用户打印一条  消息,说  “M DNS 响应者已启动!”。
 
最后,  使用MDNS  内置对象调用Add service 方法 
 
MDNS.addService( “HTTP”, “TCP”, “80”);

  这需要三个参数。牛逼HESE参数描述的类型  ,我们要在广播服务  网络。在这种情况下,我们将在80上使用HTTP over TCP。

 
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h> ESP8266WebServer server; char* ssid = "YOUR_SSID";
char* password = "YOUR_PASSWORD"; MDNSResponder mdns; void setup()
{
WiFi.begin(ssid,password);
Serial.begin(115200);
while(WiFi.status()!=WL_CONNECTED)
{
Serial.print(".");
delay(500);
}
Serial.println("");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP()); if (mdns.begin("esp8266-01", WiFi.localIP()))
Serial.println("MDNS responder started"); server.on("/",[](){server.send(200,"text/plain","Hello World!");});
server.begin(); MDNS.addService("http", "tcp", 80);} void loop()
{
server.handleClient();
}

  

(四)esp8266 MDNS域名服务的更多相关文章

  1. ESP8266 mDNS

    https://circuits4you.com/2017/12/31/esp8266-mdns/ 本教程介绍如何使用ESP8266进行多播DNS?在网络世界中,很难记住每个网站和计算机的IP地址,解 ...

  2. 四,ESP8266 TCP服务器

    我要赶时间赶紧写完所有的内容....朋友的东西答应的还没做完呢!!!!!!!没想到又来了新的事情,,....... 配置模块作为TCP服务器然后呢咱们连接服务器发指令控制继电器吸合和断开 控制的指令呢 ...

  3. 四,ESP8266 TCP服务器(基于Lua脚本语言)

    我要赶时间赶紧写完所有的内容....朋友的东西答应的还没做完呢!!!!!!!没想到又来了新的事情,,....... 配置模块作为TCP服务器然后呢咱们连接服务器发指令控制LED亮灭 控制的指令呢咱就配 ...

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

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

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

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

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

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

  7. 关于STM32F103+ESP8266+阿里云过程之修改SDK支持UART和SmartConfig(四)

    设备上报状态到阿里云成功之后,还要接受来至云端下发的命令,如APP.在ESP8266接受到数据之后可将数据先进行解析,再通过自定义协议与STM32进行串口通讯,也可以将接收到的数据中的信息直接传输到U ...

  8. 小白自制Linux开发板 四. 通过SPI使用ESP8266做无线网卡

    本文章基于 WhyCan Forum(哇酷开发者社区) https://whycan.com/t_4149.htmlhttps://whycan.com/t_5870.html整理而成. 为了尊重原作 ...

  9. Dapr + .NET Core实战(十四)虚拟机集群部署 mDNS + Consul

    前面我们说了在单机模式下和K8S集群下的Dapr实战,这次我们来看看如何在不使用K8S的情况下,在一个传统的虚拟机集群里来部署Dapr. 1.环境准备 我们准备两台centos7虚拟机 Dapr1:1 ...

随机推荐

  1. 网络编程第六讲Select模型

    网络模型第六讲Select模型 一丶Select模型是什么 以前我们讲过一个迭代模型.就是只服务一个客户端连接.但是实际网络编程中.复杂的很多. 比如一个 C/S架构程序 (客户端/服务端) 客户端很 ...

  2. ES6躬行记(18)——迭代器

    ES6将迭代器和生成器内置到语言中,不仅简化了数据处理和集合操作,还弥补了for.while等普通循环的不足,例如难以遍历无穷集合或自定义的树结构等. 迭代器(Iterator)是一种用于迭代的对象, ...

  3. 痞子衡嵌入式:飞思卡尔i.MX RT系列MCU启动那些事(13)- 从Serial(1-bit SPI) EEPROM/NOR恢复启动

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的Serial EEPROM/NOR恢复启动. 在前几篇里痞子衡介绍的Boot Device都属于主动启 ...

  4. JaveWeb学习之Servlet(二):ServletConfig和ServletContext

    原文同步发表至个人博客[夜月归途] 原文链接:http://www.guitu18.com/se/java/2018-07-26/20.html 作者:夜月归途 出处:http://www.guitu ...

  5. Java开发笔记(一)第一个Java程序

    安装完Java的开发环境Eclipse之后,正是初学者大展身手的时候了,接下来不妨跟着笔者一步一步来,看看第一个Java程序是怎么跑起来的.一开始双击桌面上的Eclipse图标,稍等片刻便弹出Ecli ...

  6. 环境搭建 - Maven(Windows)

    Maven环境搭建 本文以windows7下搭建Maven-3.5.0为示例 下载Maven压缩包 网址:Maven 非C盘根目录下新建文件夹:Maven D:\Maven 在Maven目录下新建文件 ...

  7. 如何清理Docker占用的磁盘空间?

    摘要:用了 Docker,好处挺多的,但是有一个不大不小的问题,它会一不小心占用太多磁盘,这就意味着我们必须及时清理. 作为一个有信仰的技术公司,我们Fundebug的后台采用了酷炫的全 Docker ...

  8. ps快捷键(有道云笔记翻出来以前的存货)

    打开       ctrl+o 关闭       ctrl+w 全选       ctrl+a 新建画布      ctrl+n 取消选区      ctrl+d 标尺       ctrl+r 虚线 ...

  9. 如何解决angular不自动生成spec.ts文件

    "schematics":{   "@schematics/angular:component": {        "styleext": ...

  10. 【代码笔记】Web-CSS-CSS Text(文本)

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