一個很棘手的問題
寫這篇博文是因爲我曾經碰到一個棘手的問題,我想很多使用樹莓派的人應該也碰到類似問題,問題描述如下:
我們做一個用樹莓派控制打印機的項目,我們的樹莓派需要連接我們指定的5G路由器,但是我的樹莓派裏面連過好多個wifi熱點,此時,當我們的樹莓派開機的時候,它會從第一個掃描,並且以它系統歷使記錄裏面的密碼登陸,如果登陸成功,就不會去連我們想要的wifi熱點,怎麼解決這個問題?
如何編輯wpa_supplicant.conf
其實在樹莓派中,連接wifi時通過wpa_supplicant.conf這個文件來控制的,或者應該這樣說,在linux系統中時通過wpa_supplicant.conf來控制各個wifi的ssid名稱和密碼的,所有wifi名稱和密碼時保存在這裏的,下面就是我樹莓派上的wpa_supplicant.conf文件
pi@xiajiashan:~$ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CN
network={
ssid="4GPRINTER"
psk="12345678"
key_mgmt=WPA-PSK
}
network={
ssid="CKKJ"
psk="a1234567"
key_mgmt=WPA-PSK
}
network={
ssid="xiajiashan"
psk="12345678"
key_mgmt=WPA-PSK
}
network={
ssid="CMCC-Kqzn"
psk="88888888"
key_mgmt=WPA-PSK
}
network={
ssid="4G UFI_A6D"
psk="1234567890"
key_mgmt=WPA-PSK
}
network={
ssid="zjzj"
psk="123456789"
key_mgmt=WPA-PSK
}
pi@xiajiashan:~$
爲了解決這個問題——讓樹莓派去連我指定的wifi,怎麼辦呢?
我們只需要把我們不希望樹莓派去連接的wifi熱點的密碼改一下,改動的目的就是爲了讓它連接的時候因爲密碼不對而去找另一個wifi熱點,直到找到我們指定的打印機的那個熱點4GPRINTER,有人會說,哎,你這個熱點不是第一個嗎,樹莓派應該第一個找的就是它啊,哈哈,其實樹莓派在界面上顯示的時候,那個順序不是按照我們這個文件來顯示的。
如何讓樹莓派開機自動執行wpa_supplicant.conf配置腳本
好接下來,怎麼讓它執行這個文件呢?
我們只需要在rc.local下面加一條命令就行了
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
就像這樣:
pi@xiajiashan:~$ cat /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
exit 0
pi@xiajiashan:~$
好了,本文到此結束,希望能幫到您!