前言:
树莓派有多种联网的方式,通过有线网或者通过无线网。通过有线网连接是比较简单的,在开启dhcp的路由器下,直接插上网线就可以联网,本文介绍树莓派无线联网的方式。再没联网的情况下,如果没有屏幕等外设,通过串口连接是一种比较简单有效的方式。
扫描WIFI:
使用如下命令可以扫描附近的无线网:
sudo iwlist wlan0 scan
扫描结果如下:
wlan0 Scan completed :
Cell - Address: F0:B4::1F::F1
ESSID:"00H Studio"
Protocol:IEEE .11bgn
Mode:Master
Frequency:2.422 GHz (Channel )
Encryption key:on
Bit Rates: Mb/s
Extra:rsn_ie=30140100000fac040100000fac040100000fac020000
IE: IEEE .11i/WPA2 Version
Group Cipher : CCMP
Pairwise Ciphers () : CCMP
Authentication Suites () : PSK
Quality=/ Signal level=/
Cell - Address: ::9C::3F:7C
ESSID:"QLU-2.4G"
Protocol:IEEE .11bgn
Mode:Master
Frequency:2.412 GHz (Channel )
Encryption key:off
Bit Rates: Mb/s
Quality=/ Signal level=/
Cell - Address: D6::3F:0B::D1
ESSID:""
Protocol:IEEE .11bgn
Mode:Master
Frequency:2.422 GHz (Channel )
Encryption key:on
Bit Rates: Mb/s
Extra:rsn_ie=30140100000fac040100000fac040100000fac020c00
IE: IEEE .11i/WPA2 Version
Group Cipher : CCMP
Pairwise Ciphers () : CCMP
Authentication Suites () : PSK
IE: Unknown: DD180050F204104A00011010440001021049000600372A000120
Quality=/ Signal level=/
这里的“00H Studio”是无线网的名称。IEEE 802.11i/WPA2 Version 1是加密的方式。加密的类型是WPA2类型的。
添加有密码的WIFI网络
通过配置wpa_supplicant.conf可以设置要连接的无线网。
sudo vim /etc/wpa_supplicant/wpa_supplicant.conf
在文件末尾出添加一下代码,并替换掉ssid_name以及password即可。
network={
ssid="ssid_name"
key_mgmt=WPA-PSK
psk="password"
}
通过
ifconfig wlan0
可以查看IP地址是否分配成功
wlan0 Link encap:Ethernet HWaddr e8:4e:::f8:f5
inet addr:192.168.9.177 Bcast:192.168.9.255 Mask:255.255.255.0
inet6 addr: fdf5:a28:b70c:::52db:d822:14bd/ Scope:Global
inet6 addr: fdf5:a28:b70c::6c5/ Scope:Global
inet6 addr: fe80::ea4e:6ff:fe34:f8f5/ Scope:Link
inet6 addr: fdf5:a28:b70c::ea4e:6ff:fe34:f8f5/ Scope:Global
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (139.8 MiB) TX bytes: (2.9 GiB)
连接隐藏网络
如果要连接的是隐藏的网络,需要在配置文件中添加scan_ssid
连接。需要添加的内容如下:
network={
ssid="yourHiddenSSID"
scan_ssid=
psk="Your_wifi_password"
}
添加多个无线网络配置
network={
ssid="SchoolNetworkSSID"
psk="passwordSchool"
id_str="school"
} network={
ssid="HomeNetworkSSID"
psk="passwordHome"
id_str="home"
}
如果您有两个网络的范围,可以添加优先级选项来在它们之间进行选择。具有最高优先级的范围内的网络将是连接的网络。
network={
ssid="HomeOneSSID"
psk="passwordOne"
priority=
id_str="homeOne"
} network={
ssid="HomeTwoSSID"
psk="passwordTwo"
priority=
id_str="homeTwo"
}
添加没有密码的WIFI网络
添加没有密码的WIFI网络需要注意将key_mgmt设置为NONE
network={
ssid="ssid_name"
key_mgmt=NONE
}
IP的设置
auto wlan0
iface wlan0 inet static
address 192.168.0.1
netmask 255.255.255.0
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
错误的调试
如果出现连接不成功的情况,有很大的可能是由于配置文件配置错误的原因。
sudo wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlan0
通过wpa_supplicant的直接连接,如果配置文件出现问题,则会直接提示配置文件的错误详情。
如果出现一下结果,则一般代表配置文件没有问题
Successfully initialized wpa_supplicant
nl80211: Driver does not support authentication/association or connect commands
wlan0: Failed to initialize driver interface