[樹莓派 Raspberry Pi] 純文字介面(命令列)設定WiFi連線教學

有時候我們部屬樹莓派的時候
可能會使用純文字OS
那麼在沒有GUI的狀況下
我們要怎麼利用指令連上WiFi呢?

我們可以先查看一下網卡狀態

1
ifconfig

會列出網卡列表和他們的資訊

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
ether b8:27:eb:05:54:7f txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 640 bytes 51840 (50.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 640 bytes 51840 (50.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.137.60 netmask 255.255.255.0 broadcast 192.168.137.255
inet6 fe80::f3e8:4695:23cc:cb23 prefixlen 64 scopeid 0x20<link>
ether b8:27:eb:50:01:2a txqueuelen 1000 (Ethernet)
RX packets 328 bytes 34800 (33.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 185 bytes 34706 (33.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

因為我沒有額外安裝其他網卡
在這邊可以看到內建網卡的代號為wlan0

然後鍵入

1
sudo iwlist wlan0 scan

樹莓派會利用wlan0這張網卡去掃描附近的可用AP
並把他們的資訊列出

其中 ESSID:”XXXXXXX” 即為AP名稱

在 /etc/wpa_supplicant/wpa_supplicant.conf 這個設定檔中
加入以下這段

1
2
3
4
network={
ssid="你想連線AP的名稱"
psk="你想連線AP的密碼"
}

退出並儲存
稍等一陣子即可完成連線

若網卡沒有自動連到AP
可使用以下指令將網卡重新啟動

1
2
sudo ifdown wlan1
sudo ifup wlan1

想確認有沒有確實連到WiFi
可使用

1
ifconfig wlan0

若 inet addr 欄位有確實顯示IP
則代表成功連線