2017-10-11 145 views
0

我面临一个问题,因为为我的ESP8266设置主机名不起作用。即使当我尝试通过默认主机名“ESP_xxxx”进行连接时,它也不起作用。无法为ESP8266设置主机名

其实当我上传我的代码与我的移动热点SSID和密码,然后它工作正常,但只要我给我的路由器的SSID和密码,那么它不工作。

这里是我的代码(安装部分):

#include <ESP8266WiFi.h> 

const char* ssid = "xxxxxx"; 
const char* password = "xxxxxx"; 

int ledPin = 13; // GPIO13 
WiFiServer server(80); 

void setup() { 
    Serial.begin(115200); 
    delay(10); 

    pinMode(ledPin, OUTPUT); 
    digitalWrite(ledPin, LOW); 

    // Connect to WiFi network 
    Serial.println(); 
    Serial.println(); 
    Serial.print("Connecting to "); 
    Serial.println(ssid); 
    WiFi.hostname("xyz"); 
    WiFi.begin(ssid, password); 

    while (WiFi.status() != WL_CONNECTED) { 
    delay(500); 
    Serial.print("."); 
    } 
    Serial.println(""); 
    Serial.println("WiFi connected"); 

    // Start the server 
    server.begin(); 
    Serial.println("Server started"); 

    // Print the IP address 
    Serial.print("Use this URL to connect: "); 
    Serial.print("http://"); 
    Serial.print(WiFi.localIP()); 
    Serial.println("/"); 
    Serial.println(WiFi.hostname()); 

} 

回答

0

尝试使用的mDNS来代替。 包含的mDNS库

#include <ESP8266mDNS.h> 

然后在您连接到无线网络后安装,启动这样的mDNS。

if (!MDNS.begin("your-desired-hostname")) { 
    Serial.println("Error setting up MDNS responder!"); 
}