Общее #
Полная официальная документация: ESP8266
hostByName #
bool WiFi.hostByName(const char* hostname, IPAddress& result)
Получить IP адрес хоста по имени (через DNS). Блокирующая функция, вернёт
true при успехеprintDiag #
,
void WiFi.printDiag(Print& p)
Вывести отладочную информацию о WiFi (режим работы, параметры, настройки...). Например, в монитор порта:
WiFi.printDiag(Serial).Режимы #
Примечание: устанавливать вручную режим работы перед запуском AP или перед подключением к AP не нужно - он включится автоматически.
WiFiMode_t #
WiFiMode_t
Режим работы WiFi модуля:
WIFI_OFF- WiFi выключенWIFI_AP- режим AP (точка доступа)WIFI_STA- режим STA (подключение к AP)WIFI_AP_STA- режимы STA и AP одновременно
mode #
bool WiFi.mode(WiFiMode_t mode)
Установить режим работы WiFi
getMode #
WiFiMode_t WiFi.getMode()
Получить текущий режим работы WiFi
enableSTA #
bool WiFi.enableSTA(bool enable)
Включить режим STA
enableAP #
bool WiFi.enableAP(bool enable)
Включить режим AP
Энергосбережение #
wifi_ps_type_t #
wifi_ps_type_t
Режим энергосбережения WiFi (влияет на скорость соединения):
WIFI_PS_NONE- отключенWIFI_PS_MAX_MODEM- среднее энергосбережениеWIFI_PS_MIN_MODEM- максимальное энергосбережение
setSleep #
bool WiFi.setSleep(wifi_ps_type_t sleepType)
Выбрать режим энергосбережения
setSleep #
bool WiFi.setSleep(bool enabled)
Включить-выключить максимальное энергосбережение
getSleep #
wifi_ps_type_t WiFi.getSleep()
Получить текущий режим энергосбережения
Режим STA #
Полная официальная документация: ESP8266
Подключение #
wl_status_t #
wl_status_t
Статус подключения к AP:
WL_IDLE_STATUS- простаиваетWL_NO_SSID_AVAIL- нет настроенной AP для подключенияWL_SCAN_COMPLETED- сканирование AP завершеноWL_CONNECTED- подключен к APWL_CONNECT_FAILED- ошибка подключения к APWL_CONNECTION_LOST- потеря соединения с APWL_WRONG_PASSWORD- неверный пароль при подключении к APWL_DISCONNECTED- отключен от AP
config #
bool WiFi.config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns1 = 0, IPAddress dns2 = 0)
Настроить параметры подключения к AP вручную, без DHCP. Вызывать до вызова
WiFi.begin(). Режим WiFi должен быть AP или STA + AP перед вызовом функции:
local_ip- желаемый статический IP адресgateway- IP адрес роутера в локальной сети, по этому адресу открывается панель управления роутеромsubnet- маска подсети (можно посмотреть в роутере, обычно255.255.255.0)dns1,dns2- опционально свои адреса DNS серверов
Чтобы обратно включить DHCP (автоматически получить параметры сети) нужно вызвать WiFi.config(0, 0, 0) и после этого переподключиться к сети.
begin #
wl_status_t WiFi.begin()wl_status_t WiFi.begin(String ssid, String psk = "", int32_t channel = 0, uint8_t* bssid = nullptr, bool connect = true)
Включить режим STA и подключиться к AP. Без параметров - подключиться к настроенной ранее AP (данные хранятся во Flash памяти и не сбрасываются при перезагрузке). Параметры:
ssid- имя AP, до 32 символовpsk- пароль, от 8 до 64 символов. Пустая строка, если пароля нетchannel- канал WiFi (1.. 14), если нужен конкретный для работыbssid- MAC адрес AP в виде массива 6 байтconnect- начать подключение сейчас. Иначе - просто сохранить параметры
reconnect #
bool WiFi.reconnect()
Переподключиться к текущей AP. Вернёт
true, если процесс переподключения успешно начался. Статус подключения получается так же, как при begin()waitForConnectResult #
int8_t WiFi.waitForConnectResult(uint32_t timeout = 60000)
Ожидать подключения к AP после вызова
reconnect() или begin(), тайм-аут в миллисекундах. Вернёт -1 при тайм-ауте и wl_status_t в остальных случаяхstatus #
wl_status_t WiFi.status()
Текущий статус подключения к AP
isConnected #
bool WiFi.isConnected()
Статус подключения к AP, равносильно выражению
WiFi.status() == WL_CONNECTEDdisconnect #
bool WiFi.disconnect(bool wifioff = false, bool eraseCredentials = true)
Отключиться от текущей AP:
wifioff- выключить режим STAeraseCredentials- удалить сохранённые SSID и пароль AP
setAutoConnect #
bool WiFi.setAutoConnect(bool autoConnect)
Автоматически подключаться к последней сохранённой AP при запуске, по умолчанию
truegetAutoConnect #
bool WiFi.getAutoConnect()
Получить состояние автоподключения
setAutoReconnect #
bool WiFi.setAutoReconnect(bool autoReconnect)
Автоматически переподключаться к AP при потере связи, по умолчанию
truegetAutoReconnect #
bool WiFi.getAutoReconnect()
Получить состояние автопереподключения
Параметры сети #
hostname #
bool WiFi.hostname(const String& hostname)bool WiFi.hostname(const char* hostname)
Установить сетевое имя для ESP
hostname #
String WiFi.hostname()
Получить сетевое имя ESP (которое выдал роутер или установленное вручную)
localIP #
IPAddress WiFi.localIP()
Получить локальный IP в сети AP
macAddress #
uint8_t* WiFi.macAddress(uint8_t* mac)String WiFi.macAddress()
Получить MAC адрес контроллера. В первом случае нужно передать массив
uint8_t длиной 6 байт, функция вернёт указатель на сам массив. В втором случае MAC получится в виде читаемой строки.subnetMask #
IPAddress WiFi.subnetMask()
Получить маску подсети текущей AP
gatewayIP #
IPAddress WiFi.gatewayIP()
Получить IP адрес шлюза (роутера)
broadcastIP #
IPAddress WiFi.broadcastIP()
Получить широковещательный IP сети (считается на базе локального IP и маски)
SSID #
String WiFi.SSID()
Имя текущей AP
psk #
String WiFi.psk()
Пароль текущей AP
BSSID #
uint8_t* WiFi.BSSID()
MAC адрес AP (6 байт)
BSSIDstr #
String WiFi.BSSIDstr()
MAC адрес AP (строка)
RSSI #
int8_t WiFi.RSSI()
Уровень сигнала с AP в dBm. Перевести в проценты можно так:
constrain(2 * (WiFi.RSSI() + 100), 0, 100)Автоподключение #
beginWPSConfig (ESP8266) #
bool WiFi.beginWPSConfig()
Начать подключение по WPS (блокирующий вызов): вызвать функцию, затем нажать на роутере кнопку WPS. При успешном подключении вернёт
truebeginSmartConfig #
bool WiFi.beginSmartConfig()
Начать умное подключение по технологии SmartConfig, например при помощи приложения EspTouch (iOS, Android)
stopSmartConfig #
bool WiFi.stopSmartConfig()
Остановить умное подключение и освободить буфер
smartConfigDone #
bool WiFi.smartConfigDone()
Подключение завершено. Опрашивать в цикле, например
while (!WiFi.smartConfigDone()). Вызывать stop после подключения не обязательноСканирование AP #
Полная официальная документация: ESP8266
scanNetworks #
int8_t WiFi.scanNetworks(bool async = false, bool show_hidden = false)
Сканировать доступные AP. Параметры:
async- сканировать асинхронно. Еслиtrue, то окончание нужно опрашивать вWiFi.scanComplete(). Еслиfalse, то сканирование будет блокирующим, а функция сразу вернёт количество найденных APshow_hidden- включить в результат скрытые AP
scanComplete #
int8_t WiFi.scanComplete()
Тикер асинхронного сканирования, вернёт:
-2- сканирование не было запущено-1- сканирование ещё идёт>= 0- количество найденных AP
scanDelete #
void WiFi.scanDelete()
Очистить результаты сканирования
getNetworkInfo #
bool WiFi.getNetworkInfo(uint8_t index, String &ssid, uint8_t &encryption, int32_t &RSSI, uint8_t* &BSSID, int32_t &channel, bool &isHidden)
Получить результат сканирования по индексу, записать в переменные:
index- индекс AP (с нуля до количества найденных AP минус один)ssid- строка с именем APencryption- тип шифрования APENC_TYPE_NONE- без пароляENC_TYPE_AUTO- WPA / WPA2 / PSKENC_TYPE_WEP- WEPENC_TYPE_TKIP- WPA / PSKENC_TYPE_CCMP- WPA2 / PSK
RSSI- уровень сигнала в dBmBSSID- MAC адрес (6 байт)channel- канал WiFiisHidden- скрытая сеть
SSID #
String WiFi.SSID(uint8_t idx)
Имя AP по индексу
encryptionType #
uint8_t WiFi.encryptionType(uint8_t idx)
Шифрование AP по индексу
RSSI #
int32_t WiFi.RSSI(uint8_t idx)
Уровень сигнала AP по индексу
BSSID #
uint8_t* WiFi.BSSID(uint8_t idx)
MAC адрес AP по индексу
BSSIDstr #
String WiFi.BSSIDstr(uint8_t idx)
MAC адрес AP по индексу в читаемом виде
channel #
int32_t WiFi.channel(uint8_t idx)
Канал WiFi AP по индексу
Режим AP #
Полная официальная документация: ESP8266
softAP #
bool WiFi.softAP(const char* ssid, const char* psk = nullptr, int channel = 1, bool hidden = false, int max_connection = 4)bool WiFi.softAP(const String& ssid, const String& psk = "", int channel = 1, bool hidden = false, int max_connection = 4)
Включить режим AP и развернуть точку доступа, IP адрес по умолчанию
192.168.4.1:
ssid- имя точки (до 32 символов)psk- пароль (8.. 64 символа), по умолч. - без пароляchannel- канал WiFi (1.. 13)hidden- скрытая сетьmax_connection- максимум клиентов (ESP8266 до 8, ESP32 до 10)
softAPConfig #
bool WiFi.softAPConfig(IPAddress local_ip, IPAddress gateway, IPAddress subnet)
Настроить AP, вызывать до
WiFi.softAP():
local_ip- локальный IP адресgateway- IP шлюзаsubnet- маска подсети
softAPdisconnect #
bool WiFi.softAPdisconnect(bool wifioff = false)
Отключить точку доступа, опционально выключить режим AP
softAPIP #
IPAddress WiFi.softAPIP()
Получить IP адрес AP, по умолчанию
192.168.4.1softAPgetStationNum #
uint8_t WiFi.softAPgetStationNum()
Получить количество подключенных хостов
softAPmacAddress #
uint8_t* WiFi.softAPmacAddress(uint8_t* mac)
Записать MAC адрес AP в массив (6 байт)
softAPmacAddress #
String WiFi.softAPmacAddress()
Получить читаемый MAC адрес AP
softAPSSID #
String WiFi.softAPSSID()
Имя AP
softAPPSK (ESP8266) #
String WiFi.softAPPSK()
Пароль AP
Полезные страницы #
- Набор GyverKIT – наш большой стартовый набор Arduino, продаётся в России
- Каталог ссылок на дешёвые Ардуины, датчики, модули и прочие железки с AliExpress
- Обратная связь – сообщить об ошибке в уроке или предложить дополнение по тексту ([email protected])
- Поддержать автора за работу над уроками