В настоящее время я работаю с портативным устройством под управлением Ubuntu 15.10. Идея состоит в том, что у этого устройства не будет экрана (дополнительное устройство будет подключено к нему дополнительно, но оно будет автономным, оно предназначено для записи данных в поле) и прочитайте из списка SSID и Wifi-Passwords, чтобы подключиться к ним, когда доступный.Получить список точек доступа и подключиться с помощью Linux Mono/C#
В настоящее время мы используем Mono C# на устройстве, но попадаем в ловушку, когда дело доходит до Wi-Fi.
Мой вопрос заключается в следующем: существует ли класс или DLL для реализации внутри среды C# для получения точек доступа, а также для подключения с использованием пароля или, альтернативно, к терминальному инструменту, который будет A) возвращать список Доступные точки доступа и B) могут принимать SSID и пароль и пытаться подключиться?
Благодарим за помощь.
Текущее решение: Я запускаю процесс nmcli, пытаясь разобрать входящий поток (пока не очень хорошо на Linux), чтобы получить список SSID.
После некоторого сравнения я запустил другой процесс, назвав «nmcli dev wifi connect password» на основе текстового файла.
Это в настоящее время работает, но мне интересно, есть ли лучшие решения.
Редакция 2: Основная проблема с вышеизложенным заключается в том, что при наличии неверного пароля он запускает окно «Требуется пароль» и блокирует систему.
Редактирование 3: После того, как ворвался с помощью nm-апплета, убив его, чтобы остановить всплывающее окно, появилась серия ошибок 802.1X, хотя и не каждый раз. Если я попытаюсь подключиться достаточно времени, он в конечном итоге удастся.
Редактировать 4: Повторная установка сетевого менеджера, похоже, исправила несколько проблем, но все еще глючит.
Редактирование 5: Что касается iwConfig, я пробовал это, но обнаружил, что когда использовал iwlist wlan0 scan | grep ESSID, он возвращает только текущую подключенную сеть 9/10 раз.
@RQDQ thats в основном вопрос о том, как подключиться к Wi-Fi в Ubuntu через командную строку, а не? Существует не так много причин использовать pinvoke или что-то в этом роде, просто вызовите инструменты командной строки. – Evk
@Evk - нет, вопрос конкретно в том, чтобы делать это из C#/mono. OP поделился тем, что использует командную строку, но не работает. – RQDQ
Я понимаю, но это скорее всего означает, что он использует неправильные инструменты (или неправильно). Спросить, потому что пытаться понять, действительно ли вам нужны решения pinvoke или инструменты командной строки, по-прежнему будут. – Evk