Шановні друзі! Сайт знаходиться в процесі перекладу на солов'їну мову. Все буде Україна!

Вернуться к библиотеке WiFi

 

WiFi.config()

Описание

Функция WiFi.config() позволяет задавать сетевые параметры WiFi-платы расширения: статический IP-адрес, адрес DNS, шлюз и маску подсети.

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

Например, если WiFi.config() используется перед WiFi.begin(), то при вызове функции begin() WiFi-плате будет присвоен тот сетевой адрес, который был указан в config().

WiFi.config() можно вызывать и после WiFi.begin(), однако в этом случае функция begin() по умолчанию настроит плату расширения на использование DHCP. Вызов метода 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-адресу устройства с единицами в последнем октете.

subnet: маска подсети (массив из 4 байт). Не обязательный параметр: по умолчанию равен 255.255.255.0

Возвращаемые значения

нет

Пример

В данном примере показано, как задать WiFi-плате расширения статический IP-адрес (192.168.0.177) внутри локальной сети:

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

// IP-адрес платы расширения:
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) {
    ; // ожидаем подключений к последовательному порту. Необходимо только для Arduino Leonardo
  }

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

  WiFi.config(ip);

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

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

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

void loop () {}