1. Проблема:
- Я пытаюсь подключить два IoT Arduino Nano33 через локальный WiFi, используя имя хоста.
- Я пытаюсь избавиться от необходимости устанавливать статические IP-адреса.
- При подключении с использованием IP-адресов вся программа работает идеально.
- Однако, когда я пытаюсь подключиться кВеб-сервер Arduino, используя имя хоста, клиент не может подключиться. (кроме случаев, например, при подключении к google.com)
2. Я пробовал два метода, оба не работают:
Клиентский метод 1:
char serverName[] = "ArduinoWebServer";
//char serverName[] = "google.com"; // if I use this as the serverName the client connects successfully
while (!client.connect(serverName,iPort)){
Serial.println("Server not found");
delay(5000);
}
if (client.connect(serverName,iPort)){
Serial.println("Connected to Server");
}
Клиентский метод 2:
IPAddress ipServer;
int err = WiFi.hostByName(serverName, ipServer) ;
if(err == 1){
Serial.print("Ip address: ");
Serial.println(ipServer);
} else {
Serial.print("Error code: ");
Serial.println(err);
}
while (!oClient.connect(ipServer,iPort)){
Serial.println("Server not found");
delay(5000);
}
if (oClient.connect(ipServer,iPort)){
Serial.println("Connected to Server");
}
Код сервера:
WiFi.setHostname("ArduinoWebServer");
//WiFi.config(ipServer); // when using this instead of WiFi.setHostname the code works
while (status != WL_CONNECTED){
status = WiFi.begin(cSSID, cPass);
if (status != WL_CONNECTED){
Serial.println("Network not found, waiting to reconnect");
delay(5000);
}
}
oServer.begin();
Кто-нибудь знает, как это исправить?