目标是让用户选择WiFi网络。我正在运行一个带有php的网络服务器,并希望列出可用的网络。
这个想法是让用户按下网页上的扫描按钮,然后显示网络列表。然后,用户将被允许选择他们想要连接的网络。我目前正在考虑运行一个获取信息的python脚本。
然后,所选网络将保存在/etc/wpa_supplicant/wpa_supplicant.conf
中以进行连接。
答案 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的网络服务器,过程是相同的。