Введение. Подключение к 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