ESP32: Установка пользовательского имени хоста (Arduino IDE)

По умолчанию имя хоста ESP32 – espressif. В этом руководстве вы узнаете, как установить пользовательское имя хоста для вашей платы.

Чтобы установить пользовательское имя хоста для вашей платы, вызовите WiFi.setHostname(YOUR_NEW_HOSTNAME); перед WiFi.begin();

ESP32 Установка пользовательского имени хоста Arduino IDE

Установка имени хоста ESP32

Обычно имя хоста ESP32 по умолчанию – espressif или аналогичное имя.

ESP32 имя хоста по умолчанию в роутере

Библиотека WiFi.h предоставляет метод, позволяющий установить пользовательское имя хоста.

Сначала определите новое имя хоста. Например:

const char* hostname = "esp32-node-temperature";

Затем вызовите функцию WiFi.setHostname() перед вызовом WiFi.begin(). Также необходимо вызвать WiFi.config(), как показано ниже:

WiFi.config(INADDR_NONE, INADDR_NONE, INADDR_NONE, INADDR_NONE);
WiFi.setHostname(hostname.c_str()); //define hostname

Вы можете скопировать полный пример ниже (не забудьте вставить свои сетевые данные):

/*
  Rui Santos & Sara Santos - Random Nerd Tutorials
  Complete project details at https://RandomNerdTutorials.com/esp32-set-custom-hostname-arduino/
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files.
  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*/
#include <WiFi.h>

// Replace with your network credentials
const char* ssid = "REPLACE_WITH_YOUR_SSID";
const char* password = "REPLACE_WITH_YOUR_PASSWORD";
// Change the hostname
const char* hostname = "esp32-node-temperature";

void initWiFi() {
  WiFi.mode(WIFI_STA);
  WiFi.config(INADDR_NONE, INADDR_NONE, INADDR_NONE, INADDR_NONE);
  WiFi.setHostname(hostname);

  WiFi.begin(ssid, password);
  Serial.print("Connecting to WiFi...");
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print('.');
    delay(1000);
  }

  Serial.print("\nESP32 IP Address: ");
  Serial.println(WiFi.localIP());
  Serial.print("ESP32 HostName: ");
  Serial.println(WiFi.getHostname());
  Serial.print("RRSI: ");
  Serial.println(WiFi.RSSI());
}

void setup() {
  Serial.begin(115200);
  initWiFi();
}

void loop() {
  // put your main code here, to run repeatedly:
}

Посмотреть исходный код на GitHub

Вы можете использовать этот фрагмент кода в своих проектах для установки пользовательского имени хоста ESP32. В Serial Monitor вы должны увидеть новое имя хоста ESP32.

ESP32 Установка пользовательского имени хоста Arduino IDE код

Важно: вам может потребоваться перезагрузить роутер, чтобы изменения вступили в силу.

После этого, если вы зайдёте в настройки роутера, вы увидите ESP32 с пользовательским именем хоста.

ESP32 установленное пользовательское имя хоста

Примечание: некоторые роутеры не позволяют изменить имя хоста ESP32 этим методом. Если это ваш случай, вам потребуется изменить его вручную в панели администрирования роутера.

Заключение

В этом руководстве вы узнали, как установить пользовательское имя хоста для ESP32. Это может быть полезно для лёгкой идентификации устройств, подключённых к вашей сети. Например, если у вас несколько плат ESP32 подключены одновременно, будет проще идентифицировать их, если они имеют пользовательское имя хоста.

Для получения дополнительной информации о функциях Wi-Fi рекомендуем следующие руководства:

Источник: Random Nerd Tutorials – https://randomnerdtutorials.com/esp32-set-custom-hostname-arduino/