Как установить статический IP-адрес ESP32

Kak Ustanovit Staticeskij Ip Adres Esp32



IP-адрес — это уникальный набор цифр, который может идентифицировать устройство в сети. Несколько устройств и компьютеров используют IP-адреса для связи друг с другом. Статический IP адрес похож на фиксированный адрес, как и почтовый адрес. Это указывает на то, что статические IP-адреса не меняются, и помогает другим устройствам проверять, где находится конкретное устройство или компьютер.

В этой статье мы установим статический IP-адрес ESP32, который смогут запомнить другие устройства.

Введение в IP-адрес ESP32

Для работы с ESP32 может потребоваться отдельный статический IP-адрес, поскольку при разработке веб-сервера для ESP32 мы обращаемся к этому веб-серверу, используя IP-адрес ESP32. Этот IP-адрес назначается сетью WiFi, к которой подключен ESP32.







Это может вызвать проблемы при работе с ESP32 в проекте, потому что каждый раз, когда ESP32 выключается или сбрасывается, ему будет назначаться новый IP-адрес сетью WiFi. В результате нам нужен новый IP-адрес для веб-сервера. Таким образом, быстрое решение этой проблемы — установка статического IP-адреса для ESP32, который остается неизменным, даже если ESP32 выключен или сброшен.



Обычно DHCP (Dynamic Host Configuration Protocol) инструмент управления сетью назначает IP-адреса всем устройствам, подключенным к сети Wi-Fi. DHCP полезен, так как позволяет сетевым администраторам не назначать вручную IP-адреса всем устройствам, подключенным к сети. В домашней сети WiFi-маршрутизатор обычно выступает в роли DHCP-сервера.



Наряду с IP-адресом DHCP также назначает некоторые другие параметры, в том числе:





  • Маска подсети: Это 32-битное число, которое маскирует IP-адреса и делит их на сетевые и хост-адреса.
  • Адрес шлюза: Это IP-адрес устройства, который связывает локальные сетевые устройства с Интернетом, обычно дома это WiFi-маршрутизатор.
  • DNS: Это IP-адрес сервера доменных имен.

Все эти параметры важны для доступа к веб-серверу ESP32. Когда мы будем использовать статический IP-адрес для ESP32, все эти параметры должны быть переданы, иначе ESP32 не сможет установить связь.

Как только ESP32 будет назначен статический IP-адрес, он не будет использовать DHCP сервер и не будет получать необходимые данные. Итак, для подключения ESP32 в сети WiFi со статическим IP-адресом мы должны знать вышеупомянутые параметры, для этого сначала мы подключим его к сети WiFi и проверим все параметры сети, включая маска подсети, адрес шлюза а также IP-адрес DNS адрес.



Зная параметры, мы можем назначить статический IP-адрес.

Поиск параметров сети по умолчанию

Как обсуждалось в предыдущем разделе, мы подключим ESP32 к сети WiFi, чтобы получить все параметры этой сети. Итак, указав сетевой SSID и пароль и используя библиотеку WiFi.h, мы можем подключить ESP32 к сети.

Код

Загрузите приведенный ниже код на плату ESP32 и не забудьте изменить SSID и пароль на свои собственные сетевые учетные данные.

#include


константа уголь * ssid знак равно 'имя вашей сети' ;
константа уголь * пароль знак равно 'Ваш сетевой пропуск' ;

пустота настраивать ( ) {
Серийный. начинать ( 115200 ) ;

Wi-Fi. начинать ( ssid , пароль ) ;

пока ( Wi-Fi. статус ( ) знак равно WL_CONNECTED ) {
задерживать ( 500 ) ;
Серийный. Распечатать ( 'Подключение... \n \n ' ) ;
}

Серийный. Распечатать ( 'Локальный IP:' ) ;
Серийный. печать ( Wi-Fi. локальный IP ( ) ) ;
Серийный. Распечатать ( 'Маска подсети: ' ) ;
Серийный. печать ( Wi-Fi. маска подсети ( ) ) ;
Серийный. Распечатать ( «IP-адрес шлюза:» ) ;
Серийный. печать ( Wi-Fi. IP шлюза ( ) ) ;
Серийный. Распечатать ( 'ДНС1:' ) ;
Серийный. печать ( Wi-Fi. DNSIP ( 0 ) ) ;
Серийный. Распечатать ( 'ДНС 2:' ) ;
Серийный. печать ( Wi-Fi. DNSIP ( 1 ) ) ;
}

пустота петля ( ) { }

Код начался с включения библиотеки WiFi.h. Далее мы определили SSID и пароль. Здесь ESP32 подключен к сети Wi-Fi, и все необходимые параметры будут установлены DHCP-сервером.

Во второй части кода мы напечатали IP-адрес, назначенный сервером DHCP, вместе с дополнительными параметрами: маской подсети, IP-адресом шлюза и IP-адресами обоих DNS-серверов.

Выход

В выводе мы видим все сетевые параметры, напечатанные на последовательном мониторе.

Теперь мы установим статический IP-адрес на ESP32. За исключением локальных IP-адресов, все остальные параметры будут использоваться в следующем разделе.

Установка статического IP-адреса для ESP32

Поскольку мы уже знаем параметры сети, к которой подключен ESP32, теперь мы будем использовать собственный IP-адрес для подключения ESP32 в той же сети, используя другие параметры без изменений, как мы получили в предыдущем выводе.

Но перед этим мы должны установить ESP32Ping.h библиотека в Arduino IDE. Используя эту библиотеку, мы можем проверить, работает наш статический IP-адрес или нет. Нажмите, чтобы скачать ESP32Ping.h библиотека.

После загрузки zip-файла перейдите по ссылке: Эскиз>Включить библиотеку>Добавить библиотеку .Zip

  Графический пользовательский интерфейс, текст, описание приложения генерируется автоматически

Код

Теперь загрузите приведенный ниже код в ESP32. Этот код установит статический IP-адрес для ESP32. Не забудьте заменить SSID и пароль для сети.

#include

#include

константа уголь * ssid знак равно 'имя вашей сети' ;
константа уголь * пароль знак равно 'Ваш сетевой пропуск' ;

IP-адрес статический IP-адрес ( 192 , 168 , 18 , 53 ) ;
Шлюз IP-адреса ( 192 , 168 , 18 , 1 ) ;
IP-адрес подсети ( 255 , 255 , 255 , 0 ) ;
IP-адрес DNS ( 101 , 50 , 101 , 50 ) ;

пустота настраивать ( ) {
Серийный. начинать ( 115200 ) ;

если ( Wi-Fi. конфигурация ( Статический IP , шлюз , подсеть , DNS , DNS ) == ЛОЖЬ ) {
Серийный. печать ( «Конфигурация не удалась». ) ;
}

Wi-Fi. начинать ( ssid , пароль ) ;

пока ( Wi-Fi. статус ( ) знак равно WL_CONNECTED ) {
задерживать ( 500 ) ;
Серийный. Распечатать ( 'Подключение... \n \n ' ) ;
}

Серийный. Распечатать ( 'Локальный IP:' ) ;
Серийный. печать ( Wi-Fi. локальный IP ( ) ) ;
Серийный. Распечатать ( 'Маска подсети: ' ) ;
Серийный. печать ( Wi-Fi. маска подсети ( ) ) ;
Серийный. Распечатать ( «IP-адрес шлюза:» ) ;
Серийный. печать ( Wi-Fi. IP шлюза ( ) ) ;
Серийный. Распечатать ( 'ДНС1:' ) ;
Серийный. печать ( Wi-Fi. DNSIP ( 0 ) ) ;
Серийный. Распечатать ( 'ДНС 2:' ) ;
Серийный. печать ( Wi-Fi. DNSIP ( 1 ) ) ;

логический успех знак равно Пинг. пинг ( 'www.google.com' , 3 ) ;

если ( ! успех ) {
Серийный. печать ( ' \n Пинг не прошел' ) ;
возвращаться ;
}

Серийный. печать ( ' \n Пинг успешен.' ) ;
}

пустота петля ( ) { }

Код начался с включения библиотеки WiFi и Ping. Далее мы определили SSID и пароль для сети WiFi.

После этого мы определили все параметры, включая статический IP-адрес вместе с DNS, IP-шлюзом и подсетью. Обратите внимание, что мы назначили IP-адрес (192, 168, 18, 53) который находится в той же подсети IP-адреса, который мы получили ранее в предыдущем коде. Убедитесь, что этот IP-адрес не используется никаким другим устройством в сети.

После подключения Wi-Fi мы распечатали все параметры сети и протестировали Ping с помощью Google. Если все параметры определены правильно Пинг успешно появится сообщение.

Выход

Теперь, когда мы снова подключили плату ESP32 к ПК после отключения, ее статический IP-адрес был снова настроен, что указывает на то, что он не изменится, даже если отключится питание.

Мы успешно предоставили ESP32 статический IP-адрес.

Вывод

При работе с ESP32 при разработке проектов необходим статический IP-адрес. Когда нескольким устройствам необходимо подключиться со статическими IP-адресами ESP32, весь процесс становится гладким. Используя параметры сети, мы можем определить любой статический IP-адрес. Здесь, в этой статье, мы рассмотрели шаги, необходимые для определения статического IP-адреса.