Оглавление:

ESP8266 и ESP32 с WiFiManager: 10 шагов
ESP8266 и ESP32 с WiFiManager: 10 шагов

Видео: ESP8266 и ESP32 с WiFiManager: 10 шагов

Видео: ESP8266 и ESP32 с WiFiManager: 10 шагов
Видео: ESP8266/ESP32: Обзор, начало работы 2024, Ноябрь
Anonim
Image
Image
РАСПИСАНИЕ
РАСПИСАНИЕ

Вы знакомы с WiFiManager? Это библиотека, которая служит диспетчером беспроводного подключения, и с ее помощью у нас есть более простой способ настроить как точку доступа, так и станцию. Я получил несколько предложений обсудить эту тему; Итак, сегодня я познакомлю вас с этой библиотекой и ее функциями. Я также продемонстрирую его использование с ESP32 и ESP8266.

Шаг 1: ВЫВОД

РАСПИСАНИЕ
РАСПИСАНИЕ

Здесь я показываю PINOUT двух устройств, которые мы будем использовать:

  • NodeMCU ESP-12E
  • Узел MCU ESP-WROOM-32

Шаг 2: WiFiManager

WiFiManager на самом деле представляет собой не что иное, как библиотеку, написанную поверх WiFi.h для удобного управления беспроводными соединениями. Помните, что с его помощью у нас есть больше возможностей для настройки как точки доступа, так и станции. Для режима станции мы настраиваем через портал в браузере.

Некоторые особенности:

• Это зависит от автоматического подключения

• Инициализация портала неавтоматической конфигурации

• Работает выборочно в двойном режиме

Шаг 3: как это работает

Как это работает
Как это работает
Как это работает
Как это работает

ESP инициирует портал конфигурации WiFi при подключении и сохранит данные конфигурации в энергонезависимой памяти. Впоследствии портал конфигурации запустится снова, только если будет нажата кнопка в модуле ESP.

Здесь вы можете проверить процесс настройки и выполнить следующие шаги:

1. Используя любое устройство с поддержкой Wi-Fi и браузер, подключитесь к вновь созданной точке доступа и введите адрес 192.168.4.1.

2. На экране у вас будет два варианта подключения к существующей сети:

• Настроить Wi-Fi

• Настроить WiFi (без сканирования)

3. Выберите одну из сетей и введите пароль (при необходимости). Затем сохраните и дождитесь перезапуска ESP.

4. В конце загрузки ESP пытается подключиться к сохраненной сети. Если вы не можете этого сделать, вы активируете точку доступа.

Шаг 4: библиотеки

Библиотеки
Библиотеки

Добавьте библиотеку «WifiManager-ESP32».

Перейдите на https://github.com/zhouhan0126/WIFIMANAGER-ESP32 и загрузите библиотеку.

Разархивируйте файл и вставьте его в папку с библиотеками Arduino IDE.

C: / Программные файлы (x86) / Arduino / библиотеки

Добавьте библиотеку "DNSServer-ESP32".

Перейдите по ссылке https://github.com/zhouhan0126/DNSServer---esp32 и загрузите библиотеку.

Разархивируйте файл и вставьте его в папку с библиотеками Arduino IDE.

C: / Программные файлы (x86) / Arduino / библиотеки

Добавьте библиотеку "WebServer-ESP32".

Перейдите по ссылке https://github.com/zhouhan0126/WebServer-esp32 и загрузите библиотеку.

Разархивируйте файл и вставьте его в папку с библиотеками Arduino IDE.

C: / Программные файлы (x86) / Arduino / библиотеки

Примечание:

В библиотеке WiFiManager-ESP32 уже есть настройки, которые работают с ESP8266, поэтому мы будем использовать только их, а не две библиотеки WiFiManager (по одной для каждого типа чипа).

Как мы увидим позже, ESP8266WiFi и ESP8266WebServer - это библиотеки, которые нам не нужно загружать, потому что они уже доступны, когда мы устанавливаем ESP8266 в Arduino IDE.

Шаг 5: Функции

Функции
Функции
Функции
Функции
Функции
Функции

Вот некоторые функции, которые предлагает нам WiFiManager.

1. autoConnect

Функция autoConnect отвечает за создание точки доступа. Мы можем использовать это тремя способами.

• autoConnect («имя сети», «пароль»); - создает сеть с определенным именем и паролем.

• autoConnect («сетевое имя»); - создает открытую сеть с заданным именем.

• autoConnect (); - создает открытую сеть с автоматически именованным именем «ESP» + chipID.

2. startConfigPortal

Функция startConfigPortal отвечает за создание точки доступа без попытки подключения к ранее сохраненной сети.

• startConfigPortal («сетевое имя», «пароль»); - создает сеть с определенным именем и паролем.

• startConfigPortal (); - создает открытую сеть с автоматически именованным именем «ESP» + chipID.

3. getConfigPortalSSID

Возвращает SSID портала (точки доступа)

4. getSSID

Это возвращает SSID сети, к которой он подключен.

5. getPassword

Это возвращает пароль сети, к которой он подключен.

6. setDebugOutput

Функция setDebugOutput отвечает за печать отладочных сообщений на последовательном мониторе. Эти сообщения уже определены в библиотеке. По мере прохождения функций данные будут распечатаны.

По умолчанию для этой функции установлено значение ИСТИНА. Если вы хотите отключить сообщения, просто установите для функции значение FALSE.

7. setMinimumSignalQuality

Функция setMinimumSignalQuality отвечает за фильтрацию сетей на основе качества сигнала. По умолчанию WiFiManager не отображает сети входа ниже 8%.

8. setRemoveDuplicateAPs

Функция setRemoveDuplicateAPs отвечает за удаление сетевых дубликатов.

По умолчанию установлено значение ИСТИНА.

9. setAPStaticIPConfig

Функция setAPStaticIPConfig отвечает за установку параметров статического адреса в режиме точки доступа.

(IP, ШЛЮЗ, ПОДСЕТЬ)

10. setSTAStaticIPConfig

Функция setSTAStaticIPConfig отвечает за установку настроек статического адреса в режиме станции.

(IP, ШЛЮЗ, ПОДСЕТЬ)

Вы должны добавить команду перед autoConnect !!!

11. setAPCallback

Функция setAPCallback отвечает за информирование вас о том, что режим AP запущен.

Параметр - это функция, которую необходимо создать, чтобы указать ее как обратный вызов;

12. setSaveConfigCallback

Функция setSaveConfigCallback отвечает за информирование вас о том, что новая конфигурация была сохранена и соединение было успешно завершено.

Параметр - это функция, которую нужно создать, и указывает ее как allback.

Вы должны добавить команду перед autoConnect !!!

Шаг 6: Сборка

сборка
сборка

Пример

В нашем примере мы создадим точку доступа с ESP (код будет обслуживать как ESP8266, так и ESP32). После создания точки доступа мы получим доступ к порталу через IP 192.168.4.1 (который используется по умолчанию для доступа к нему). Итак, давайте возьмем доступные сети, выберем одну и сохраним. Оттуда ESP перезапустится и попытается подключиться к нему, а затем он будет работать как станция, а не как точка доступа.

После входа в режим станции вы можете вернуть ESP в режим точки доступа только с помощью кнопки.

Шаг 7: Код

Библиотеки

Сначала давайте определим библиотеки, которые мы будем использовать.

Обратите внимание, что у нас есть команды #if defined, #else и #endif. Они условно включают необходимые библиотеки, относящиеся к микросхеме. Эта часть чрезвычайно важна для запуска одного и того же кода как на ESP8266, так и на ESP32.

#if defined (ESP8266)

#include // ESP8266 Core WiFi Library #else #include // ESP32 Core WiFi Library #endif

#if defined (ESP8266)

#include // Локальный веб-сервер, используемый для обслуживания портала конфигурации

#еще

#include // Локальный DNS-сервер, используемый для перенаправления всех запросов на портал конфигурации (https://github.com/zhouhan0126/DNSServer---esp32)

#endif

#include // Локальный веб-сервер, используемый для обслуживания портала конфигурации (https://github.com/zhouhan0126/DNSServer---esp32) #include // Magic Configuration Magic (https://github.com/zhouhan0126/DNSServer-- -esp32) >> https://github.com/zhouhan0126/DNSServer---esp32 (ОРИГИНАЛ)

Шаг 8: настройка

При настройке мы настраиваем наш WiFiManager самым простым способом. Давайте просто определим обратные вызовы и создадим сеть.

const int PIN_AP = 2;

void setup () {Serial.begin (9600); pinMode (PIN_AP, ВХОД); // объявить объект wifiManager WiFiManager wifiManager;

// использовать команду, как конфигурацию são apagadas da memória // caso tiver salvo alguma rede para conectar automaticamente, ela é apagada. // wifiManager.resetSettings (); // обратный вызов для входа в режим конфигурации AP wifiManager.setAPCallback (configModeCallback); // обратный вызов для того, чтобы быть в состоянии повторного использования, или после этого, после того, как он прошел через режим работы wifiManager.setSaveConfigCallback (saveConfigCallback); // cria uma rede de nome ESP_AP com senha 12345678 wifiManager.autoConnect ("ESP_AP", "12345678"); }

Шаг 9: цикл

В цикле мы прочитаем вывод кнопки, чтобы увидеть, была ли она нажата, а затем вызовем метод для повторного включения режима AP.

void loop () {

WiFiManager wifiManager; // можно использовать для сжатия if (digitalRead (PIN_AP) == HIGH) {Serial.println ("resetar"); // невозможно закрыть портал if (! wifiManager.startConfigPortal ("ESP_AP", "12345678")) {Serial.println ("Falha ao conectar"); задержка (2000); ESP.restart (); задержка (1000); } Serial.println («Conectou ESP_AP !!!»); }

Когда вы нажмете кнопку, ESP выйдет из режима станции и откроет вашу точку доступа и портал.

Помните, что мы не используем команду resetSettings (). Настройки все еще сохраняются для следующей загрузки ESP.

Шаг 10: обратные вызовы

Функции обратного вызова, которые связаны с событиями, служат для того, чтобы у вас был точный момент операции, в нашем случае переход в режим AP и режим станции. Затем мы можем реализовать некоторую желаемую процедуру, такую как, например, получение SSID из подключенной сети.

// обратный вызов для индикации ESP без modo AP

void configModeCallback (WiFiManager * myWiFiManager) {// Serial.println («Введен в режим конфигурации»); Serial.println ("Entrou no modo de configuração"); Serial.println (WiFi.softAPIP ()); // очистить IP-адрес AP Serial.println (myWiFiManager-> getConfigPortalSSID ()); // запретить SSID критически da rede

}

// обратный вызов que indica que salvamos uma nova rede para se conectar (modo estação)

void saveConfigCallback () {// Serial.println ("Следует сохранить конфигурацию"); Serial.println («Конфигурация спасения»); Serial.println (WiFi.softAPIP ()); // очистить IP-адрес от точки доступа}

Рекомендуемые: