Как узнать удаленный IP на плате ESP?

Для получения удаленного IP-адреса на плате ESP вы можете воспользоваться функцией WiFi.localIP(). Эта функция возвращает текущий IP-адрес, который был назначен плате ESP в локальной сети.

Однако, если вы хотите узнать удаленный IP-адрес, то, предполагая, что вы имеете в виду удаленный IP-адрес интернет-сервера, с которым плата ESP взаимодействует, вам придется воспользоваться другими методами.

На плате ESP можно использовать библиотеку ESP8266WiFi или WiFi.h в случае плат ESP32. Эти библиотеки предоставляют вам функционал для подключения к Wi-Fi-сети и отправки HTTP-запросов.

Чтобы определить удаленный IP-адрес, вы можете использовать функцию WiFi.hostByName(). В качестве аргумента передайте ей имя домена или URL-адрес удаленного сервера, и функция вернет вам его IP-адрес.

Вот пример кода, показывающий, как использовать функцию WiFi.hostByName() для получения удаленного IP-адреса:

#include <WiFi.h>

const char* ssid = "Ваш_Имя_Сети";
const char* password = "Ваш_Пароль";

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Подключение к Wi-Fi...");
  }

  Serial.println("Подключено к Wi-Fi!");
  
  const char* remoteServer = "www.example.com";
  IPAddress remoteIP;
  if (WiFi.hostByName(remoteServer, remoteIP)) {
    Serial.print("Удаленный IP-адрес: ");
    Serial.println(remoteIP);
  }
}

В этом примере ESP подключается к Wi-Fi-сети с помощью заданного имени и пароля. Затем он пытается разрешить удаленный IP-адрес с помощью функции WiFi.hostByName(), используя имя домена www.example.com. Если разрешение успешно, то IP-адрес выводится на последовательный порт.

Учтите, что эта функция может занимать некоторое время, особенно если у вас плохое интернет-соединение или удаленный сервер не доступен. Поэтому важно иметь это в виду и предусмотреть подходящую задержку, если необходимо.