【问题标题】:Access Linux Root Files from .NetCore app从 .NetCore 应用程序访问 Linux 根文件
【发布时间】:2018-11-09 01:05:29
【问题描述】:

我创建了一个在 Raspberry Pi 上运行良好的 .net 核心应用程序。

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

看了之后我知道你可以创建一个conf文件并通过读卡器把它放到sd卡上。

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

我花了一些时间,但没有找到示例。

如果有人知道...

【问题讨论】:

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


    【解决方案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

    【讨论】:

    • 谢谢 你有例子吗?显然,我在输入时正在谷歌搜索......谢谢
    • 感谢您的扩充。我知道如何进行管道重定向 - 非常感谢 :) 我更关心分步说明。另外,感谢您的链接。在过去的 30 分钟里,我一直在看那个。一直在尝试转换为 .Net Core DLL,但并非全部支持这些库。我的搜索继续/..
    • 我还在看这个。我认为这对我来说是正确/最佳的方法。我稍后会更新我的结果
    • 非常感谢 - 我花了一段时间才找到东西,但我想还是到了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-07
    • 1970-01-01
    • 2020-06-28
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    • 2015-07-17
    相关资源
    最近更新 更多