最新的Raspbian Pi 3已经有了wifi模块,直接插上就可以用了。
输入 iwconfig 显示如下:
pi@raspberrypi:~ $ iwconfig
wlan0 IEEE 802.11bgn ESSID:"ASUS"
Mode:Managed Frequency:2.412 GHz Access Point: 8C:AB:8E:FA:41:C8
Bit Rate=72.2 Mb/s Tx-Power=31 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
Link Quality=70/70 Signal level=-26 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:1 Invalid misc:0 Missed beacon:0
lo no wireless extensions.
eth0 no wireless extensions.
如果出现了wlan0,那说明网卡已经正常工作了。
如果这里的显示不正常,请安装连接wifi必要的包
sudo apt-get install wireless-tools wpasupplicant firmware-realtek
设置wifi
输入如下命令可以搜索附近所有可连接的Wifi AP:
pi@raspberrypi:~ $ iwlist wlan0 scan | grep SSID
确定树莓派可以检测到你建立的Wifi AP之后,按照如下方法配置
使用如下命令获得wifi设置 wpa_passphrase SSID名称 密码 回显如下
pi@raspberrypi:~$ wpa_passphrase SSID password
network={
ssid="SSID"
#psk="password"
psk=2f6a0beddf2f0588ee426b0c3a0e3d9a523bb07a05cb857f85d826da80fa75c4
}
复制这段回显并保存到自己的配置文件中
pi@raspberrypi:~$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
#ap_scan=1
network={
ssid="ssid"
scan_ssid=1
psk="密码"
priority=5
}
network={
ssid="ssid"
psk="密码"
priority=1
}
-
ap_scan:1是默认值,因此我注掉了
- 1:这个模式下总是先连接可见的WiFi,如果扫描完所有可见的网络之后都没有连接上,则开始连接隐藏WiFi。
- 2:会按照network定义的顺序连接WiFi网络,遇到隐藏的将立刻开始连接,因此在这个模式下连接顺序不受priority影响
- ctrl_interface:这个文件夹里面存的是一个当前使用的interface的socket文件,可以供其他程序使用读取WiFi状态信息
-
network:是一个连接一个WiFi网络的配置,可以有多个,wpa_supplicant会按照priority指定的优先级(数字越大越先连接)来连接,当然,在这个列表里面隐藏WiFi不受priority的影响,隐藏WiFi总是在可见WiFi不能连接时才开始连接。
- ssid:网络的ssid
- psk:密码
- priority:连接优先级,越大越优先
- scan_ssid:连接隐藏WiFi时需要指定该值为1
修改完成后,使用以下命令重启网络
pi@raspberrypi:~$ sudo systemctl restart networking #重启网卡
pi@raspberrypi:~$ sudo ifdown wlan0
pi@raspberrypi:~$ sudo ifup wlan0
pi@raspberrypi:~$ wpa_cli status #查看连接状态