Передача параметров Wi-Fi сети на микроконтроллер ESP32 по Wi-Fi (AP)

Цена договорная
26 января 2023, 14:15 • 6 откликов • 87 просмотров
необходимо разработать прототип кода на С/С++ для ESP32, реализующий передачу параметров Wi-Fi сети на микроконтроллер ESP32 по Wi-Fi в режиме AP с десктопного/мобильного приложения для подключения к локальной WiFi сети. Примерный алгоритм:

1. Пользователь запускает десктопное/мобильное приложение. На каком языке или под какую платформу будет реализовано - не принципиально. Обсуждаемо. В идеале под Android (Kotlin).

2. Переводит ESP32 в режиме точки доступа.

3. В приложении выбирает из списка доступных Wi-Fi сетей точку доступа ESP32.

4. Затем в приложении выбирает из списка доступных Wi-Fi сетей точку доступа к которой ESP32 должен быть подключен и вводит пароль к ней. Эти параметры сохраняются в приложении для передачи на микроконтроллер ESP32.

5. Запускается связывание при котором приложение по некоторому API, реализованному на ESP32, передает ему параметры WiFi точки доступа, введенные в десктопное приложение.

6. Для передачи параметров нужно использовать максимально легкий протокол, уже поддерживаемый библиотеками ESP32. Например telnet или SSH. Добавление параметров для передачи должно быть максимально простым.

7. Нужно предусмотреть легкое шифрование при передаче. В качестве пароля для шифрования MAC + некоторый секретный salt.

8. После получения ESP32 параметров WiFi сети к которой нужно подключится, ESP32 перегружается и подключается к WiFi сети, используя переданные параметры.

9. Приложение, потеряв AP ESP32, либо иным способом определив, что ESP32 перешло в режим подключения к WiFi сети, переподключается к локальной Wi-FI сети (той-же, к которой подключали ESP32 в приложении).

10. После этого приложение сканирует локальную сеть (простой перебор по пулу IP адресов определяемому маской) и находит сетевое устойство с тем MAC адресом, который был у ESP32 (для AP и STA режимов отличаются MAC, поэтому MAC для режима STA должен быть передан при спаривании).

11. Приложение подключается к ESP32 по найденному IP адресу ESP32 и производит передачу произвольных параметров на ESP32 по тому-же протоколу, как при связывании.