问题描述:
树莓派要更换网络环境,也就是换个WIFI,记录一下这个过程。
步骤:
一、添加网络
假设我们现在要从当前的WIFI切换到手机热点的WIFI,有两种方法,第一种,取出树莓派内存卡,用读卡器读到电脑上,在目录中新建文件:wpa_supplicant.conf:
第二种,在树莓派的命令行中输入:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
无论哪一种,在文件中,填写以下内容:
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="wifi1"
psk="password1"
priority=10
}
network={
ssid="wifi2"
psk="password2"
priority=9
}
其中的名词解释:
ssid:WIFI的名称
psk:WIFI的密码
priority:连接优先级,必须是正数,数字越大优先级越高
因此,我们可以知道这段代码的意思是,正常情况下连接wifi1(注意,这里要改成你的wifi的名称),使用wifi1的psk作为密码(注意,这里要改成你的wifi密码),如检测不到wifi1,那么尝试连接比wifi1优先级低的wifi2网络,以此类推。
但是,由于之前给树莓派设置过了静态IP,而不同的WIFI的IP地址和默认网关都不同,因此只改变上面的文件实际上是不能对已经设置过了静态IP的树莓派进行wifi切换。所以,我们还需对不同网络进行静态IP设置。
二、根据不同WIFI的SSID自动更换固定IP地址
参考文章:Linux技巧系列——(树莓派网络配置)为不同的wifi设置静态IP_树莓派wifi设置静态ip_Dr_Zobot的博客-CSDN博客
sudo nano /etc/dhcpcd.conf
这一段是我们之前设置的静态ip,包括默认网关。
查找默认网关的方法:
1.电脑连接热点(wifi)
2.cmd中输入ipconfig
3.找到“无线局域网适配器 WLAN:”,下面的“默认网关:”就是该网络的默认网关
为了使用不同的静态默认网关,我们需要先把这个配置文件进行复制:
mkdir dhcpcd
sudo cp /etc/dhcpcd.conf /home/pi/dhcpcd/dhcpcd.conf.default
sudo cp /etc/dhcpcd.conf /home/pi/dhcpcd/dhcpcd.conf.192_168_x_x
sudo cp /etc/dhcpcd.conf /home/pi/dhcpcd/dhcpcd.conf.192_168_y_y
这里的名称不是固定的,只是一个助记的符号,我这里使用的是网络的默认网关。
我这里定义的是:.default代表不使用静态ip,其他的代表对应默认网关的静态ip,要相应修改里面的内容,跟设置单独静态ip的方法一样,主要是修改ip地址和两个默认网关。
三、基于python根据不同WIFI的SSID自动更换固定IP地址和设置开机自启
这一部分完全可以参考这篇文章3.2及之后的部分,这里就不再赘述了:Linux技巧系列——(树莓派网络配置)为不同的wifi设置静态IP_树莓派wifi设置静态ip_Dr_Zobot的博客-CSDN博客
注意改一下代码里的文件名称。
结果
全部修改完成之后,我们通过VNC进行连接,输入修改后的静态ip地址,输入用户名和密码,顺利连接!