【问题标题】:How to let a raspberry pi 3b connect to wifi with wps from within a c program如何让树莓派 3b 在 c 程序中使用 wps 连接到 wifi
【发布时间】:2020-02-09 19:36:23
【问题描述】:

我有一台由树莓派控制的机器。为了维修,我想连接本地 wifi 网络。该机器没有可以输入 ssid 和密码的控件。必须通过按钮组合来连接到 wifi。

在我的程序中,我有以下代码:

    void start_Wps(void) {
      if (!fork()) 
        execl("wpa_cli","-i","wlan0","wps_pbc", NULL); 
    }

如果我从 ssh 终端启动我的程序,它大部分时间都可以工作。但是,当我让我的代码从 rc.local 开始时,rpi 永远不会连接到我的 wifi 网络。

【问题讨论】:

  • 机器运行的环境会一直一样吗?如果是这样,您是否有机会在使用机器之前提供 Wi-Fi 凭据? WPS只需要交换凭证,所以如果只是触发连接,你可以找到更简单的方法......
  • 根据我的经验,我的客户经常购买新路由器或更改 ssid 和密码。

标签: c linux raspberry-pi wifi


【解决方案1】:

如果您的项目需要在企业环境中运行,您能否确定客户的接入点支持 WPS?

另一件需要考虑的事情:WPS 正在下降。它不受支持,例如在 Android 9 之后的 Android 中,WPS 将不再支持 WPA3 安全性,其继任者已由 Wi-Fi 联盟提出。

它被称为“Wi-Fi Easy Connect”,它基本上是一种设备配置协议,也允许连接“无头”设备,即无需显示或输入。您可以在客户的前提下将您的手机连接到 Wi-Fi 网络,读取您之前放在机器上的二维码,然后手机负责将机器连接到网络。

更多详细信息请参见 Wi-Fi Alliance 网站:https://www.wi-fi.org/discover-wi-fi/wi-fi-easy-connect

如果您想确保您的项目是面向未来的并且可以在未来几年内维护,您可能需要对此进行研究。

【讨论】:

    猜你喜欢
    • 2016-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多