Соединение Wi-Fi с корпоративной WLAN

У меня есть ESP32, и я хочу подключить его к WLAN в своем офисе. Основываясь на моих текущих знаниях об Arduino, мы используем WiFiClass для подключения к WLAN, а затем используем WiFiClient для использования Wi-Fi для передачи данных.

Для подключения к WLAN в моем офисе необходим сертификат. Я попросил сетевых специалистов выдать сертификат x.509 и планирую использовать класс WiFiSecureClient.

Проблема в том, что мой метод WiFi.begin(ssid) никогда не выходит из следующего цикла while:

Wifi.begin(ssid); // моему офису в первую очередь нужен сертификат для подключения к Wi-Fi
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}

Обратите внимание: для подключения к офисной сети пароль не требуется. Сертификата x.509 достаточно для установления соединения.

Только после установки Wi-Fi-соединения я могу установить параметры WiFiSecureClient центра сертификации. Но для подключения к Wi-Fi мне нужен сертификат.

Это очень сбивает с толку. Может ли кто-нибудь объяснить мне, как мы можем справиться с этой ситуацией.

, 👍1

Обсуждение

Вы путаете доступ к Wi-Fi и безопасное соединение с удаленным сервером. WiFiClientSecure предназначен для последнего (например, https://), а не для первого. Вам нужно использовать WiFiClientSecure только в том случае, если удаленный сервер, к которому вы подключаетесь, использует SSL или TLS. Вы еще не зашли так далеко, поэтому полностью выбросьте из головы WiFiClientSecure., @Majenko

@Маженко, спасибо за совет. Моя цель — подключиться, чтобы получить доступ к Wi-Fi. Но для доступа к Wi-Fi нужен сертификат. Нет ни имени пользователя, ни пароля. Я знаю только SSID беспроводной локальной сети и имею сертификат x.509., @Robotics nerd

@Roboticsnerd, вы могли бы опубликовать здесь в качестве ответа решение, основанное на ответе Маженко, если оно сработает?, @Juraj

@Юрай, я работаю над этим. Опубликую, если мне подойдет., @Robotics nerd


1 ответ


Лучший ответ:

2

API Arduino для ESP32 не поддерживает желаемую конфигурацию.

ESP32 поддерживает эту функцию, но для его настройки не существует простого интерфейса «Arduino».

Вместо этого вам придется напрямую взаимодействовать с ESP32 SDK и настраивать все вручную. Это будет непросто.

Этот пример кода показывает, как это можно сделать, однако код не предназначен для работы в среде Arduino, поэтому сначала вам нужно будет точно понять, что он делает, а затем адаптировать его под нужды.

,