Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 管理Raspberry PI上的Wifi连接_C#_Mono_Wifi_Raspberry Pi_Archlinux - Fatal编程技术网

C# 管理Raspberry PI上的Wifi连接

C# 管理Raspberry PI上的Wifi连接,c#,mono,wifi,raspberry-pi,archlinux,C#,Mono,Wifi,Raspberry Pi,Archlinux,我正在一个嵌入式项目中使用Raspberry Pi,该项目将利用wifi与外部设备进行通信。设备应能够作为设备可以连接到的独立wifi热点,或者在存在现有wifi网络的情况下,设备应连接到该网络,以便用户不必为了连接到设备而放弃其互联网连接。我计划让设备在热点模式下启动,然后用户可以使用web界面输入他希望设备连接到的网络的详细信息,每当指定的参数无法建立连接时,它就会默认返回热点模式 现在我正在努力解决的技术问题是,我想在Rapsberry Pi上的Arch Linux上用Mono在C#中实现

我正在一个嵌入式项目中使用Raspberry Pi,该项目将利用wifi与外部设备进行通信。设备应能够作为设备可以连接到的独立wifi热点,或者在存在现有wifi网络的情况下,设备应连接到该网络,以便用户不必为了连接到设备而放弃其互联网连接。我计划让设备在热点模式下启动,然后用户可以使用web界面输入他希望设备连接到的网络的详细信息,每当指定的参数无法建立连接时,它就会默认返回热点模式

现在我正在努力解决的技术问题是,我想在Rapsberry Pi上的Arch Linux上用Mono在C#中实现控制软件。我正在努力寻找管理Linux wifi连接所需的API或库。在Windows上,似乎可以使用managedwifi.codeplex.com,但它似乎与Linux不兼容

我的最后手段显然是执行shell命令,然后解析它们的输出,但考虑到这将是多么粗糙和可能不可靠,这显然是我的最后手段

关于我应该做什么有什么想法吗

在使用shell脚本之前,我可以考虑的另一件事是,如果使用不同的版本,使用RasBIAS或其他的DeXo。
  • 实际上,从托管代码调用shell命令并不是一个坏主意。它们是可靠的,经过了很好的测试,并且大部分是轻量级的,有时只是内核或其他模块功能的包装器。这似乎也是Node.js模块在访问底层或与网络相关的内容时使用的相同方法。例如,请参阅以下源代码:

  • 如果您不喜欢这种方式,则始终存在“互操作”。与在Windows中使用DllImport()库的方式相同,在Linux中也可以使用DllImport()库。请看这里:


  • 我认为第二种解决方案不值得付出努力。调用shell命令非常优雅和简洁。

    我的pi作为带有hostapd的AP启动到wlan0,当AP也启动lighttpd并提供web界面时,请更改设置。web界面验证输入并将其写入sqlite3。第二个脚本是根据我的更改执行canges。(如在wpa_请求者中添加、编辑或删除WIFI,将wlan0重置为现有类似wlan的设置的一部分为dhcp,告诉wpa_请求者…)

    除了lighttpd和sqlite3之外,所有组件都已在Raspery上。您不需要任何mono或c库


    对于编写脚本,我使用python,但perl也在工作(即使是前端的php)

    好的,我将检查需要哪些脚本,我将在一天左右的时间内不接受您的答案,以防有人碰巧将我推荐到现成的库第一个链接断开,有没有shell示例或c#wrapper示例?这里有一个非常类似的wrapper:嘿,我想知道你最终使用了什么?