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 () {}

