shWiFiConfig - библиотека для настройки параметров WiFi-подключения для esp8266 и esp32

Библиотека предназначена для настройки параметров WiFi-соединения и поддержания связи на esp8266 и esp32. Основные возможности:

  • наличие Web-интерфейса; для доступа к интерфейсу нужно перейти по адресу http://your_ip/wifi_config ;
  • гибкая настройка параметров соединения как в режиме клиента, так и в режиме точки доступа;
  • сохранение настроек в файловой системе модуля или в EEPROM;
  • возможность шифрования паролей при сохранении;
  • возможность использования комбинированного режима - одновременная работа модуля в качестве клиента и точки доступа;
  • возможность защиты доступа к настройкам с помощью пароля администратора;
  • возможность использования светодиода для индикации режима работы модуля; по поведению светодиода можно понять текущее состояние модуля: частое моргает - ищет и подключается к сети, мигает с частотой 1 Гц - работает в режиме точки доступа, плавно разгорается и гаснет - подключен к WiFi-сети;
  • постоянное отслеживание наличия соединения, переход в режим точки доступа при нарушении связи, восстановление подключения, как только вновь появляется заданная в настройках сеть;

Ссылка на библиотеку

3 лайка

Добавил шифрование паролей при сохранении и сохранение параметров в EEPROM

2 лайка

@v258 есть один вопрос на минимальную длину ssid - бывают точки с длиной всего 5 символов, можно как-то обойти это в твоей библиотеке?

Это зашито в коде страницы. Можете открыть файл src/extras/c_page.h, найти там поиском tag.value.length>=8&&tag.value.length<=32 и заменить 8 на 5

А ведь длина 8 там не просто так появилась, вроде я этот вопрос зондировал ))

По-моему ESP-IDF накладывает такое ограничение.

Сейчас снова полез гуглить и про минимум 8 символов выдало только одну ссылку и ту браузер забраковал как вредоносную. Везде пишут, что не более 32, это учтено, а про минимум что-то я уже и засомневался ))

Да, я тоже посмотрел. Спутал с пассом:

  • SSID name: Supports Chinese characters and English letters, digits, with a maximum length of 32 bytes.
  • Wi-Fi password: 8-64 digits, case-sensitive.
1 лайк

Как пароль раньше в аське был. Вводи хоть 40 символов, но значащие (используемы) только первые 8 (вроде бы, не помню точно)… )))

  if (!ssid || *ssid == 0x00 || strlen(ssid) > 32) {
    log_e("SSID too long or missing!");
    return false;
  }

  if (passphrase && strlen(passphrase) > 64) {
    log_e("passphrase too long!");
    return false;
  }

Ну, про 64 символа для пароля вроде ограничений нигде тоже не нагуглил, видимо, здесь оно чисто для порядка

я в курсе, но у меня есть приятели которые точки назвали короткими именами

ОК, подождите с полчасика ))

Штото я не понял - почему у всех 63, а у ESP - 64.

1 лайк

Внес изменения, убрал контроль минимальной длины SSID, добавил контроль максимальной длины пароля WiFi в 64 символа. Обновите библиотеку

1 лайк

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

Не в одном файле изменения

я библиотеку перекачал, это проще)))

@v258 !
Такой вопрос, если в конфигураторе мы снимем в закладке AP+STA отметку “Включить комбинированный режим” то после подключения останется только режим STA. В этом случае режим AP стартует, если доступ клиента STA к wifi сети отсутствует?

Да, так и будет