Arduino:Библиотеки/WiFi/Класс WiFi/config(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
 
Нет описания правки
Строка 94: Строка 94:
<references />
<references />


{{Навигационная таблица/Arduino библиотеки}}
 


[[Категория:Стандартные библиотеки]]
[[Категория:Стандартные библиотеки]]

Версия от 11:16, 8 июля 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Функция config()[1]

Задает статический IP-адрес, а также меняет на WiFi-модуле DNS, сетевой шлюз и маску подсети.

В отличие от WiFi.begin(), которая автоматически настраивает WiFi-модуль на использование DHCP, WiFi.config() позволяет вручную настраивать адрес WiFi-модуля.

Если вызвать WiFi.config() перед WiFi.begin(), это заставит WiFi.begin() настроить WiFi-модуль при помощи сетевых адресов, указанных в WiFi.config().

Функцию WiFi.config() можно вызвать и после WiFi.begin(), однако в таком случае WiFi-модуль будет инициализирован в дефолтном DHCP-режиме. Впрочем, вы всегда можете задать свои настройки – для этого нужно лишь снова вызвать WiFi.config().

Синтаксис

WiFi.config(ip)
WiFi.config(ip, dns)
WiFi.config(ip, dns, gateway)
WiFi.config(ip, dns, gateway, subnet)

Параметры

ip  IP-адрес устройства (массив из 4 байтов)
dns  адрес DNS-сервера
gateway  IP-адрес сетевого шлюза (массив из 4 байтов). Опционально: по умолчанию то же самое, что и IP-адрес, но с последним октетом, выставленным на «0»
subnet  маска подсети (массив из 4 байтов). Опционально: по умолчанию выставлена на «255.255.255.0»

Что возвращает

Ничего.

Пример

Этот пример показывает, как настроить статический IP-адрес («192.168.0.177») для WiFi-модуля, подключенного к LAN-сети:

#include <SPI.h>
#include <WiFi.h>

// IP-адрес WiFi-модуля:
IPAddress ip(192, 168, 0, 177);    

char ssid[] = "yourNetwork";    // SSID вашей сети (ее название) 
char pass[] = "secretPassword"; // пароль к вашей сети (пароль для WPA или ключ для WEP)

int status = WL_IDLE_STATUS;

void setup()
{  
  // инициализируем последовательную коммуникацию и ждем открытия порта:
  Serial.begin(9600); 
  while (!Serial) {
    ; // ждем подключения последовательного порта (нужно только для Leonardo)
  }

  // проверяем наличие WiFi-модуля:
  if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield not present");   // "WiFi-модуль не подключен"
    while(true);  // дальше не продолжаем
  } 

  WiFi.config(ip);

  // пытаемся подключиться к WiFi-сети:
  while ( status != WL_CONNECTED) { 
    Serial.print("Attempting to connect to SSID: ");  // "Пытаемся подключиться к SSID: "
    Serial.println(ssid);
    // подключаемся к сети с шифрованием WPA/WPA2. Если используете открытую сеть или WEP, поменяйте эту строчку:
    status = WiFi.begin(ssid, pass);

    // 10 секунд ждем подключения:
    delay(10000);
  }

  // показываем IP-адрес WiFi-модуля:
  Serial.print("IP Address: ");  // "IP-адрес: "
  Serial.println(WiFi.localIP()); 
}

void loop () {}

См.также

Внешние ссылки