零知WIFI教程-LLMNR服务示例

LLMNR(本地链路组播名称解析)在网络出现故障的情况下提供名称解析服务,同时也应用于建立临时对等网络方面。与之类似的协议为mDNS,已经在前面介绍和演示对应示例;在这里演示零知开源平台上面使用示例。

一、软件和硬件

硬件我们本次使用零知-ESP8266;

软件使用零知开发工具,自带示例:

二、方法步骤

(1)先在零知开发工具中打开LLMNR_Web_Server示例,或者复制下面的代码到零知开发工具中:


							
	#include <ESP8266WiFi.h>
	#include <ESP8266LLMNR.h>
	#include <ESP8266WebServer.h>
	#include <WiFiClient.h>
	  
	#ifndef STASSID
	#define STASSID "ssid"
	#define STAPSK  "passwd"
	#endif
	  
	const char* ssid = STASSID;
	const char* password = STAPSK;
	  
	ESP8266WebServer web_server(80);
	  
	void handle_http_not_found() {
	  web_server.send(404, "text/plain", "Not Found");
	}
	  
	void handle_http_root() {
	  web_server.send(200, "text/plain", "It works!");
	}
	  
	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());
	  
	  // Start LLMNR responder
	  LLMNR.begin("esp8266");
	  Serial.println("LLMNR responder started");
	  // Start HTTP server
	  web_server.onNotFound(handle_http_not_found);
	  web_server.on("/", handle_http_root);
	  web_server.begin();
	  Serial.println("HTTP server started");
	}
	  
	void loop(void) {
	  web_server.handleClient();
	}
							
						

(2)验证上传代码到零知-esp8266开发板;

(3)打开串口调试窗口,可以看到如下信息:

同时使用ping工具可以访问到 esp8266,说明工作正常;

(4)在浏览器里面打开网址:http://esp8266/

这个使用ip直接访问值一致的: