Введение. Подключение к WiFi
Плата Wemos Mini (esp8266)
ESP8266 — мощный китайский микроконтроллер с WiFi на борту. Это позволяет делать на его основе проекты с доступом в Интернет!
- Если вы уже работали с Arduino и первый раз держите в руках плату на базе esp8266 (в наборе GyverKIT это плата Wemos Mini) — обязательно изучите урок по особенностям данного микроконтроллера и отличиям от обычных плат Arduino.
- Для работы с Wemos нужно установить поддержку данных плат в Arduino IDE: на сайте набора в блоке Начало работы есть отдельная инструкция по настройке.
Работать с платой через WiFi есть два способа:
- Подключить плату к домашнему WiFi роутеру (режим STA) — для работы в локальной сети или через Интернет
- Настроить плату как точку доступа (режим AP) и подключиться к ней со смартфона
Подключение к роутеру
- Подключаем в скетч встроенную библиотеку
ESP8266WiFi.h - Переводим режим работы в STA через
WiFi.mode(WIFI_STA)— необязательно, если до этого режим работы не изменялся - Инициируем подключение к WiFi роутеру:
- Вызываем
WiFi.begin(WIFI_SSID)— с указанием названия незащищённой сети (без пароля) - Вызываем
WiFi.begin(WIFI_SSID, WIFI_PASS)— с указанием названия сети и пароля - Для удобства настройки можно вынести логин и пароль в начало программы через
#define
- Вызываем
- Ожидаем подключения: результат функции
WiFi.status()должен статьWL_CONNECTED
После успешного подключения можно вывести IP адрес платы в локальной сети роутера при помощи WiFi.localIP().
Полный код примера:
#include <ESP8266WiFi.h>
#define WIFI_SSID "Alex"
#define WIFI_PASS "pass"
void setup() {
Serial.begin(115200);
WiFi.begin(WIFI_SSID, WIFI_PASS);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("Connected");
Serial.println(WiFi.localIP());
}
void loop() {
}
Вывод монитор порта:
.....Connected 192.168.1.214
Скриншот со страницы конфигурации роутера. Плата есть в списке подключенных устройств:
Создание точки доступа
- Подключаем в скетч встроенную библиотеку
ESP8266WiFi.h - Переводим режим работы в AP через
WiFi.mode(WIFI_AP) - Создаём точку доступа:
WiFi.softAP(AP_SSID)— сеть без пароля. Указываем только имяWiFi.softAP(AP_SSID, AP_PASS)— сеть с паролем
Полный код примера:
#include <ESP8266WiFi.h>
#define AP_SSID "ESP"
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_AP);
WiFi.softAP(AP_SSID);
}
void loop() {
}
Теперь можно подключиться к плате со смартфона как к точке доступа WiFi. Примечание: по умолчанию в своей сети плата имеет IP адрес 192.168.4.1
