Для получения удаленного 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-адрес выводится на последовательный порт.
Учтите, что эта функция может занимать некоторое время, особенно если у вас плохое интернет-соединение или удаленный сервер не доступен. Поэтому важно иметь это в виду и предусмотреть подходящую задержку, если необходимо.