使用python进行Wifi扫描和显示由php运行

时间:2017-06-28 03:48:42

标签: php python raspberry-pi2

目标是让用户选择WiFi网络。我正在运行一个带有php的网络服务器,并希望列出可用的网络。

这个想法是让用户按下网页上的扫描按钮,然后显示网络列表。然后,用户将被允许选择他们想要连接的网络。我目前正在考虑运行一个获取信息的python脚本。

然后,所选网络将保存在/etc/wpa_supplicant/wpa_supplicant.conf中以进行连接。

1 个答案:

答案 0 :(得分:0)

没有理由运行python,因为运行wpa_cli最容易获得信息。 Php使用shell_exec来运行命令,这相当于os.system,在某种程度上相当于subprocess.check_output

您必须按顺序运行两个命令。如果第一个失败,则第二个没有用,因为WiFi卡无法扫描。

wpa_cli -i wlan0 scan

这应该返回" OK" wlan0是无线接口的名称,如ifconfig所示。这通常是wlan0,并且只有当更多的WiFi卡添加到pi时才会随时间改变。

wpa_cli -i wlan0 scan_results

这将返回带有标题的几行:

bssid / frequency / signal level / flags / ssid
b2:c2:87:77:62:73       2437    -50     [WPA2-EAP-CCMP][ESS]    Ziggo
1c:3a:de:c3:f8:cf       2472    -54     [WPA2-PSK-CCMP+TKIP][WPS][ESS]  HZN246837438

您可以丢弃第一行并将其余行拆分为空格。 Php可以做到这一点,并确保你允许最多4次分裂(产生5个元素)。

我正在使用Django(python)在rpi-3上做你想要的。对于使用php的网络服务器,过程是相同的。