Доступ к корневым файлам Linux из приложения .NetCore - PullRequest
0 голосов
/ 08 ноября 2018

Я создал ядро ​​.net, которое очень хорошо работает на Raspberry Pi.

Я хочу попробовать подключить это устройство к маршрутизатору Wi-Fi или точке доступа с iPhone.

После просмотра я знаю, что вы можете создать файл conf и поместить его на SD-карту через кард-ридер.

Я хотел бы, чтобы пользователь мог вводить свои данные Wi-Fi через мой собственный интерфейс и для моей собственной программы на c # вносить изменения.

Я провел некоторое время, но не нашел примеров.

Если кто-нибудь знает ...

1 Ответ

0 голосов
/ 08 ноября 2018

Обычный подход для конфигурации на основе графического интерфейса пользователя заключается не в непосредственном редактировании файлов конфигурации системы, а в разговоре через интерфейс конфигурации, предоставленный сетевыми демонами.

С

wpa_supplicant можно разговаривать через утилиту wpa_cli. Вы используете его, порождая wpa_cli как отдельный процесс с stdio, перенаправленным в канал, в который вы отправляете команды конфигурации.

Обновление: Чтобы поговорить с wpa_cli, вы должны создать процесс с перенаправленным выводом. С Mono вы сделали бы это следующим образом

private void start_wpa_cli()
{
    ProcessStartInfo psI = new ProcessStartInfo("wpa_cli");
    psI.UseShellExecute = false;
    psI.RedirectStandardInput = true;
    psI.RedirectStandardOutput = true;

    Process p = new Process();
    p.StartInfo = psI;
    p.Start();

    StreamWriter sw = p.StandardInput;
    sw.AutoFlush = true;
    StreamReader sr = p.StandardOutput;

    ...

Затем вы можете отправлять команды wpa_cli через sw и читать результат из sr. Команды для wpa_cli вы можете найти на его странице справки.

Если используется NetworkManager, вы говорите с ним через интерфейс D-Bus. Обновление: Для доступа к D-Bus из .Net / Mono вы можете, например, использовать https://github.com/mono/dbus-sharp

...