[RaspberryPi] 設定 Wi-Fi

⚠️ 以下內容僅適用於 Raspberry Pi OS Buster (10) 版本。Bullseye (11) 沒試過,所以不確定。Bookworm (12) 確定不適用,之後會更新文章內容。

這一篇我們要來看看,如何在沒有 GUI 的情況下設定 Wi-Fi。這次我們還是會用到 raspi-config,這是一個很好用的工具,前一篇修正鍵盤字元錯誤我們已經有用過,這次我們要再次用它來設定 Wi-Fi。

pi@raspberrypi:~ $ sudo raspi-config

首先我們必須先設定無線網路國家代碼 (Wireless Country)。因為每個國家能夠使用的無線網路頻帶、頻道跟規格都不太一樣,所以設定正確的國家代碼才能確保 Wi-Fi 能夠正常運作。

5 Localisation Options -> L4 WLAN Country,然後按照我們所在的國家選取國家代碼。比如我在美國,所以我就選 US United States

選好之後我們就開始設定 Wi-Fi,回到主選單,選 1 System Options -> S1 Wireless LAN,然後先輸入 SSID,接著下一步輸入密碼。這樣我們就完成 Wi-Fi 設定了!

如果想更改 Wi-Fi 設定,可以依照上面的流程再設定一次,或者我們也可以直接編輯設定檔 wpa_supplicant.conf。我們來看看剛才的設定在檔案裡長什麼樣。

pi@raspberrypi:~ $ sudo vim /etc/wpa_supplicant/wpa_supplicant.conf

在這裡我們可以看到剛剛設定的國家代碼以及無線網路 SSID 跟密碼。直接修改這個檔案,就可以更改 Wi-Fi 設定。

country=US
network={
    ssid="testing"
    psk="testingPassword"
}

弄好 Wi-Fi 後,這裡還有個東西我想處理。因為我的 Raspberry Pi 沒有螢幕,所以之後我會透過 SSH 的方式來操作。但依照目前的網路設定,我們是無法確切知道它被分配的 IP 位置是哪一個。比如我現在用 ifconfig 看到的 IP 是 192.168.88.168,但重開機之後就不一定是這一個,有可能會被分配到另一個 IP。這對我來講是種困擾,因為我必須知道是哪個 IP 才能使用 SSH 連上它。其實這個問題也不難,我們就事先指定一個固定 IP 給它就好。關於固定 IP 的設定,被放在 /etc/dhcpcd.conf 裡面。

pi@raspberrypi:~ $ sudo vim /etc/dhcpcd.conf

在這個檔案裡面,我們可以看到一個區塊:
# Example static IP configuration:
interface wlan0
static ip_address=192.168.88.88/24
static routers=192.168.88.1
static domain_name_servers=8.8.8.8 8.8.4.4

interface 就是我們想設定固定 IP 的網路介面,我們目前使用的 Wi-Fi 介面名稱是 wlan0,也就表示我們希望這個介面擁有一個固定 IP。第二行是我們給它的固定 IP,為了方便記憶,我就給他 88.88。其他的我們就不用改了。設定好之後重開機,重新登入後我們用 ifconfig 就可以看到 Wi-Fi 的 IP 已經變成剛剛設定的固定 IP,而且不管重開機幾次都不會變。

最後一步是打開 SSH。一樣使用 raspi-config,選 3 Interface Options -> P2 SSH -> <Yes>,設定好之後重開機。然後我們回到自己的電腦上,打開 Terminal 輸入 ssh pi@192.168.88.88,然後輸入密碼,就可以看到登入成功的畫面了。之後我們就不用使用額外的鍵盤、滑鼠跟螢幕來操作 Raspberry Pi,一切都可以透過我們自己的電腦遠端操作了。

發表留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料