无法为ESP8266设置主机名

时间:2017-10-11 09:14:33

标签: dns arduino esp8266 arduino-esp8266 mdns

我遇到了一个问题,因为设置ESP8266的主机名无效。即使我尝试通过默认主机名" ESP_xxxx"连接时,它也无法正常工作。

实际上,当我使用我的移动热点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());

}

3 个答案:

答案 0 :(得分:1)

偶然发现了这个问题,下面是对我有用的代码。

WiFi.disconnect(true);
WiFi.begin(ssid, password);
WiFi.setHostname(device);`

也遇到了下面的代码,用这一行模块没有收到任何 IP。因此删除了它。

WiFi.config(INADDR_NONE, INADDR_NONE, INADDR_NONE);

在 Arduino 1.8.15 和 esp8266 开发板 3.0.1 版上运行

答案 1 :(得分:0)

尝试使用mDNS。 包括mDNS库

#include <ESP8266mDNS.h>

然后在连接到WiFi后的设置中,像这样启动mDNS。

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

答案 2 :(得分:0)

尝试一下:

If Range("A1").End(xlDown).Value <> Range("B1").End(xlDown).Value & Range("C1").End(xlDown).Value Then
MsgBox "Error, wrong number of sent goods"
End If

End Sub