树莓派连接无线网主要用到一个软件名为
wpa_supplicant - Wi-Fi Protected Access client and IEEE 802.1X suppli‐cant
可以使用man wpa_supplicant查看帮助文档以及man wpa_supplicant.conf查看其配置文件的编写帮助。首先我们需要开启树莓派的无线网卡,修改配置文件/etc/network/interfaces
sudo nano /etc/network/interfaces
末行添加
allow-hotplug wlan0
iface wlan0 inet dhcp
iface wlan0 inet static
这里使用的是dhcp模式来动态获得ip,接下来修改/etc/wpa_supplicant/wpa_supplicant.conf文件,填写wifi接入点的信息。
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
末行加入
network={
ssid="你的wifi热点名"
psk="你的wifi密码"
scan_ssid=1#如果是隐藏的无线网(隐藏ssid)则要加这个配置参数
priority=2#连接优先级,多个网络时有效
}
接下来在terminal中使用命令
pi@raspberrypi:~ $ sudo ifup wlan0
Internet Systems Consortium DHCP Client 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/wlan0/****
Sending on LPF/wlan0/****
Sending on Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 6
DHCPREQUEST of 192.168.1.14 on wlan0 to 255.255.255.255 port 67
DHCPOFFER of 192.168.1.14 from 192.168.1.1
DHCPACK of 192.168.1.14 from 192.168.1.1
Too few arguments.
Too few arguments.
bound to 192.168.1.14 -- renewal in 3060 seconds.
可以看到ip已获取成功,如果你的路由器关闭了DHCP功能那么在修改文件/etc/network/interfaces时就应该替换成如下内容
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.1.15#静态ip
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
至此连接wifi热点就已完成了。但是很多时候树莓派获得了ip后任然无法上网,接下来列举一些可能的情况:
1. 无法ping通局域网类其它主机,这种情况如果是静态ip首先要检查是否有ip地址冲突,查看网关是否设置正确。多说是静态参数配置有误
2. 无法解析域名,DNS服务不可用 nslookup www.baidu.com可以用来检测dns,如果无法解析。在局域网可通的情况下,要检查/etc/resolv.conf文件确定dns服务器是否正确,一般如果路由器有dns服务,可以使用路由器ip。 也可使用8.8.8.8(google的域名解析服务有时候会被墙)
3. No route to host或者Couldn’t connect to server 一般是路由表配置不正确,使用route命令检查路由表,添加网关route add default gw “你的网关”