从.NetCore应用访问Linux根文件

时间:2018-11-08 14:07:20

标签: asp.net-core-2.0 raspberry-pi3 wificonfiguration

我创建了一个.net核心应用程序,可以在Raspberry Pi上很好地运行。

我希望尝试将此设备连接到wifi路由器或iPhone的接入点。

查看后,我知道您可以创建一个conf文件,并通过读卡器将其放入SD卡。

我想做的是允许用户通过我自己的界面输入wifi详细信息,并使用我自己的c#程序进行更改。

我花了一段时间,但没有找到例子。

如果有人知道...

1 个答案:

答案 0 :(得分:1)

基于GUI的配置的通常方法不是直接编辑系统配置文件,而是通过网络守护程序提供的配置界面进行对话。

可以通过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;

    ...

然后,您可以通过sw发送wpa_cli命令,并从sr读取结果。您可以在其手册页中找到wpa_cli的命令。

如果使用NetworkManager,则可以通过其D-Bus界面与之对话。 更新:要从.Net / Mono访问D-Bus,例如,您可以使用https://github.com/mono/dbus-sharp