Arduino:Библиотеки/WiFi/Класс WiFi/config(): различия между версиями
Myagkij (обсуждение | вклад) |
Нет описания правки |
||
Строка 94: | Строка 94: | ||
<references /> | <references /> | ||
[[Категория:Стандартные библиотеки]] | [[Категория:Стандартные библиотеки]] |
Версия от 11:16, 8 июля 2023
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Функция 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 () {}