Подключение ESP8266 к WiFi без жесткого кодирования учетных данных
Недавно мне удалось подключить мою плату ESP8266 к локальному WiFi, но мне пришлось жестко прописать учетные данные в коде, как в 99% руководств в Интернете. Мой код выглядит примерно так:
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266HTTPClient.h>
#define USE_SERIAL Serial
ESP8266WiFiMulti WiFiMulti;
void setup() {
USE_SERIAL.begin(115200);
WiFi.mode(WIFI_STA);
WiFiMulti.addAP("SSID", "Password");
}
void loop() {
// Еще немного кода
}
Дело в том, что я хотел бы узнать, есть ли способ параметризовать учетные данные, чтобы мне не приходилось перекомпилировать и загружать код на плату каждый раз, когда меняется пароль WiFi.
Одной из моих идей было подключить все платы к локальному маршрутизатору без фактического подключения к Интернету и сделать так, чтобы сервер в той же локальной сети управлял конфиденциальной информацией, а не платами. Это позволило бы мне правильно управлять учетными данными. Имеет ли это вообще смысл?
1 ответ
Лучший ответ:
Обычный способ сделать это — перевести ESP8266 в режим AP (точки доступа), а затем открыть веб-страницу с интерфейсом конфигурации.
Чтобы сделать это еще проще, вы можете создать портал Captive, чтобы пользователю не нужно было открывать определенный IP-адрес в своем браузере. Портал Captive приведет к загрузке страницы конфигурации независимо от того, какой адрес он откроет.
Популярная библиотека Arduino, которая делает все это очень простым — WiFiManager:
https://github.com/tzapu/WiFiManager
- ESP8266 не подключается к Wi-Fi
- Как подключить Wi-Fi Shield ESP-12E-ESP8266-UART-WIFI-Wireless-Shield к Arduino
- Можно ли отключить WiFi на ESP8266?
- Как отключить или остановить точку доступа в ESP8266?
- ESP8266 — действительно ли у него по умолчанию плохой радиус действия Wi-Fi?
- Как подключить ESP8266 с помощью адаптера ESP-01 к Arduino Uno?
- ESP8266 на Wi-Fi без пароля, возможно?
- ESP8266 Аналоговое чтение мешает Wi-Fi?