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