Оглавление:
- Шаг 1: ВЫВОД
- Шаг 2: WiFiManager
- Шаг 3: как это работает
- Шаг 4: библиотеки
- Шаг 5: Функции
- Шаг 6: Сборка
- Шаг 7: Код
- Шаг 8: настройка
- Шаг 9: цикл
- Шаг 10: обратные вызовы
Видео: ESP8266 и ESP32 с WiFiManager: 10 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Вы знакомы с 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-адрес от точки доступа}
Рекомендуемые:
Профессиональная метеостанция с использованием ESP8266 и ESP32 DIY: 9 шагов (с изображениями)
Профессиональная метеостанция с использованием ESP8266 и ESP32 DIY: LineaMeteoStazione - это законченная метеостанция, которая может быть сопряжена с профессиональными датчиками от Sensirion, а также с некоторыми компонентами прибора Дэвиса (датчик дождя, анемометр)
Беспроводная связь LoRa от 3 до 8 км с недорогим устройством E32 (sx1278 / sx1276) для Arduino, Esp8266 или Esp32: 15 шагов
Беспроводная связь LoRa от 3 до 8 км с недорогим устройством E32 (sx1278 / sx1276) для Arduino, Esp8266 или Esp32: я создаю библиотеку для управления EBYTE E32 на основе серии устройств LoRa Semtech, очень мощных, простых и дешевых устройств. Вы можете найти Версия 3 км здесь, версия 8 км здесь Они могут работать на расстоянии от 3000 до 8000 м, и у них есть много функций, а также
Учебное пособие по ESP32 Bluetooth - Как использовать встроенный Bluetooth ESP32: 5 шагов
Учебное пособие по ESP32 Bluetooth | Как использовать встроенный Bluetooth ESP32: Привет, ребята, поскольку плата ESP32 поставляется с Wi-Fi & Bluetooth оба, но для наших в основном проектов мы обычно используем только Wi-Fi, мы не используем Bluetooth. Поэтому в этой инструкции я покажу, насколько легко использовать Bluetooth ESP32 & Для ваших основных проектов
Начало работы с ESP32 CAM - Потоковое видео с использованием ESP CAM через Wi-Fi - Проект камеры безопасности ESP32: 8 шагов
Начало работы с ESP32 CAM | Потоковое видео с использованием ESP CAM через Wi-Fi | Проект камеры безопасности ESP32: сегодня мы узнаем, как использовать эту новую плату ESP32 CAM и как мы можем ее закодировать и использовать в качестве камеры безопасности и получать потоковое видео через Wi-Fi
Начало работы с ESP32 - Установка плат ESP32 в Arduino IDE - Мигающий код ESP32: 3 шага
Начало работы с ESP32 | Установка плат ESP32 в Arduino IDE | Мигающий код ESP32: в этой инструкции мы увидим, как начать работу с esp32 и как установить платы esp32 в Arduino IDE, и мы запрограммируем esp 32 для запуска мигающего кода с использованием arduino ide