我创建了一个.net核心应用程序,可以在Raspberry Pi上很好地运行。
我希望尝试将此设备连接到wifi路由器或iPhone的接入点。
查看后,我知道您可以创建一个conf文件,并通过读卡器将其放入SD卡。
我想做的是允许用户通过我自己的界面输入wifi详细信息,并使用我自己的c#程序进行更改。
我花了一段时间,但没有找到例子。
如果有人知道...
答案 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