Arduino:Библиотеки/WiFi/Класс WiFi/config()

Материал из Онлайн справочника
Перейти к навигации Перейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Функция 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-сети:

 1 #include <SPI.h>
 2 #include <WiFi.h>
 3 
 4 // IP-адрес WiFi-модуля:
 5 IPAddress ip(192, 168, 0, 177);    
 6 
 7 char ssid[] = "yourNetwork";    // SSID вашей сети (ее название) 
 8 char pass[] = "secretPassword"; // пароль к вашей сети (пароль для WPA или ключ для WEP)
 9 
10 int status = WL_IDLE_STATUS;
11 
12 void setup()
13 {  
14   // инициализируем последовательную коммуникацию и ждем открытия порта:
15   Serial.begin(9600); 
16   while (!Serial) {
17     ; // ждем подключения последовательного порта (нужно только для Leonardo)
18   }
19 
20   // проверяем наличие WiFi-модуля:
21   if (WiFi.status() == WL_NO_SHIELD) {
22     Serial.println("WiFi shield not present");   // "WiFi-модуль не подключен"
23     while(true);  // дальше не продолжаем
24   } 
25 
26   WiFi.config(ip);
27 
28   // пытаемся подключиться к WiFi-сети:
29   while ( status != WL_CONNECTED) { 
30     Serial.print("Attempting to connect to SSID: ");  // "Пытаемся подключиться к SSID: "
31     Serial.println(ssid);
32     // подключаемся к сети с шифрованием WPA/WPA2. Если используете открытую сеть или WEP, поменяйте эту строчку:
33     status = WiFi.begin(ssid, pass);
34 
35     // 10 секунд ждем подключения:
36     delay(10000);
37   }
38 
39   // показываем IP-адрес WiFi-модуля:
40   Serial.print("IP Address: ");  // "IP-адрес: "
41   Serial.println(WiFi.localIP()); 
42 }
43 
44 void loop () {}

См.также

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