本帖最后由 manhuami2007 于 2023-12-15 11:27 编辑
在办公的地方,使用有线连接的方式不太方便,所以还是使用wifi比较方便。开发板上带有wifi功能,也可以很方便的启用wifi。
在没启动wifi的时候还是需要串口进行连接的。首先使用串口连接开发板进行设置,如下图所示,将micro usb线接入到左侧的接口上。然后通过串口连接开发板,开发板的波特率是115200。
文章中提到了2种方法,一个是修改systemd-networkd服务,一个是不修改systemd-networkd服务的方法。但是不推荐用第二个,第二个方法有问题,后面会说问题在哪里。
修改systemd-networkd服务,自动连接WIFI
1. 使用 ifconfig -a 命令查看网络接口,wifi对应的网络接口是wlan0,初始的时候是没有ip地址的;
2. 通过命令ifconfig wlan0 192.168.43.135 broadcast 192.168.43.255 netmask 255.255.255.0设置ip地址,然后通过命令ifconfig wlan0 up启动wlan0接口。注意这里设置的IP地址等信息不重要,当我们连到wifi之后会重新分配动态IP;
3. 可以使用iw命令扫描周围的wifi,命令是 iw dev wlan0 scan |grep SSID ,列出周围wifi的SSID;
4. 接下来是设置wifi在上电的时候自动连接。文章里说,系统有一个针对网络的服务systemd-networkd,这个服务可以通过networkctl命令去控制。
5. systemd-networkd默认使用的是以太网接口的,所以需要设置到wifi 。文章上是通过输入如下命令进行设置的:
echo "[Match]" > /lib/systemd/network/51-wireless.network
echo "Name=wlan0" >> /lib/systemd/network/51-wireless.network
echo "[Network]" >> /lib/systemd/network/51-wireless.network
echo "DHCP=ipv4" >> /lib/systemd/network/51-wireless.network
不过还有一个简单方法,当我们使用cd命令切换到 /lib/systemd/network/ 文件夹下的时候,可以看到已经提供了很多样板了,直接对样板进行改名操作就行。命令是 cp 51-wireless.network.sample 51-wireless.network
使用cat命令输出51-wireless.network.sample文件可以看到内容是一样的,而且还有一些提示信息。
6. 然后是写入要连接的wifi的SSID和密码,使用如下命令:
mkdir -p /etc/wpa_supplicant/
echo "ctrl_interface=/var/run/wpa_supplicant" > /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
echo "eapol_version=1" >> /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
echo "ap_scan=1" >> /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
echo "fast_reauth=1" >> /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
echo "" >> /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
wpa_passphrase SSID_OF_NETWORK PASSWORD_OF_NETWORK >> /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
最后一行的wpa_passphrase 后面的是wifi的SSID和密码。如果要添加多个wifi的SSID和密码,则需要多次调用 wpa_passphrase SSID_OF_NETWORK PASSWORD_OF_NETWORK >> /etc/wpa_supplicant/wpa_supplicant-wlan0.conf 这个命令。
7. 启用无线的配置,命令如下:
systemctl enable wpa_supplicant@wlan0.service
systemctl restart systemd-networkd.service
systemctl restart wpa_supplicant@wlan0.service
这样就能连接到wifi了,重启之后也能够自动连接到设置的wifi。
通过ping命令测试网络:
不修改systemd-networkd服务,手动连接wifi
注意,在文章中还提到了不去更改systemd-networkd服务,手动连接wifi的方法,但是不建议使用这种方法,我一开始就是用的这种方法,出现了各种错误,耽误了好长的时间。比如能ping通局域网里的其它设备,但是不能ping 百度,出现下图的错误,感觉是DNS的问题,然后各种尝试,还是没有解决。
在文章中,ST官方也提到了这种方法有问题,不建议使用,所以大家还是使用上面提到的那种修改systemd-networkd服务的方法吧。
总结
通过第一种方式,开发板可以连接到网络中了,这样就能安装软件了。