树莓派镜像安装后,发现无法连接wifi网络,显示“no wirless interfaces found”。树莓派换了环境后如何实现使用脚本自动进行wifi连接。针对这个两个问题解决方法如下,不谢:
(1)解决“no wirless interfaces found”
需要检查设置/etc/network/interfaces文件,
执行shell命令:sudo vi /etc/network/interfaces 修改为如下配置:
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet manual
auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
(2)python 自动WiFi上网脚本
# -*- coding: utf-8 -*-
"""
Created on Sun Aug 1 08:21:26 2021
wifi上网设置
@author: JAMES费
"""
import os
wifi名字='CMCC-****'
wifi密码='******'
def set_wifi_ssid_psk(ssid,psk):
os.system('sudo chmod 666 /etc/wpa_supplicant/wpa_supplicant.conf')
if ssid not in os.popen('ifconfig | grep ssid').read():
os.system('sudo wpa_passphrase '+'\"'+ssid+'\" '+'\"'+psk+'\" '+'>> /etc/wpa_supplicant/wpa_supplicant.conf')
elif psk not in os.popen('ifconfig | grep psk').read():
os.system('sudo sed -i \'/network/d\' /etc/wpa_supplicant/wpa_supplicant.conf')
os.system('sudo sed -i \'/ssid/d\' /etc/wpa_supplicant/wpa_supplicant.conf')
os.system('sudo sed -i \'/psk/d\' /etc/wpa_supplicant/wpa_supplicant.conf')
os.system('sudo sed -i \'/}/d\' /etc/wpa_supplicant/wpa_supplicant.conf')
os.system('sudo wpa_passphrase '+'\"'+ssid+'\" '+'\"'+psk+'\" '+'>> /etc/wpa_supplicant/wpa_supplicant.conf')
else:
print('%s 用户名已经在配置文件中了' % ssid)
if iswifi():
os.system('sudo killall wpa_supplicant')
os.system('sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf')
else:
print("已经连上网络了!")
def iswifi():
if '192' not in os.popen('ifconfig | grep 192.').read():
return False
else:
return True #未连上局域网
set_wifi_ssid_psk(wifi名字, wifi密码) #设置用户名,密码
print('wifi 设置完毕---!')