摘要: 推荐树莓派上使用8188CUS芯片的无线网卡,如EDUP8188。这里介绍通过interfaces和wpa_supplicant配置WiFi的方法,以及设置静态IP地址,将树莓派变为一个低功耗的无线服务器的方法。
要想让树莓派方便操作,肯定需要配置无线网卡,这样可以大大增强树莓派的移动性和便利性,其实配置无线网卡基本就是和普通linux平台下配置无线网卡一样,几种方法大同小异,具体如下:
在树莓派上建议使用RTL8188CUS芯片的USB无线网卡(不需额外安装驱动),使用下面的指令查看是否成功安装:
lsusb
#如果无效,查看驱动是否加载
lsmod
#如果未加载,进行加载
modprobe xxx
sudo nano /etc/network/interfaces
修改后文件内容如下:
auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid “你的wifi名称”
wpa-psk “你的wifi密码”
具体各行配置的意思如下:
auto lo //表示使用localhost
iface eth0 inet dhcp //表示如果有网卡ech0, 则用dhcp获得IP地址 (这个网卡是本机的网卡,而不是WIFI网卡)
auto wlan0 //表示如果有wlan设备,使用wlan0设备名
allow-hotplug wlan0 //表示wlan设备可以热插拨
iface wlan0 inet dhcp //表示如果有WLAN网卡wlan0 (就是WIFI网卡), 则用dhcp获得IP地址
wpa-ssid “你的wifi名称”//表示连接SSID名
wpa-psk “你的wifi密码”//表示连接WIFI网络时,使用wpa-psk认证方式,认证密码
上述定义后,如果有网线连接,则采取DHCP自动连接获得地址,使用命令
sudo /etc/init.d/networking restart
sudo service networking restart #跟上面行的作用一样。
成功后,用 ifconfig 命令可以看到 wlan0 设备,且有了IP地址(已连接)。
有时需要执行sudo ifdown wlan0和sudo ifup wlan0才能发生作用,如果还不行,sudo reboot吧。
如果做服务器,建议设置静态IP
要做服务器的话,最好开机启动设置静态IP地址,在上面加上下面的部分:
iface default inet static #将上面的iface wlan0 inet dhcp改为这一行。
address 192.168.137.2 #静态IP地址。
netmask 255.255.255.0 #IP掩码,为0的部分地址可通过。
gateway 192.168.137.1 #网关,一般就是路由器的主地址。
dns-nameservers x.x.x.x #你的本地dns地址
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
ap_scan=2
network={
ssid=“WIFI名称“
proto=WPA2
key_mgmt=WPA-PSK
pairwise=TKIP
group=TKIP
psk=”WIFI密码“
}
然后修改文件sudo nano /etc/network/interfaces,修改后的文件内容如下:
auto lo
iface lo inet loopback
iface eth0 inet dhcp.auto wlan0
iface wlan0 inet dhcp
pre-up wpa_supplicant -B -Dwext -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf
post-down killall -q wpa_supplicant
修改完成后,使用以下命令重启网络
sudo /etc/init.d/networking restart
成功后,用 ifconfig 命令可以看到 wlan0 设备,且有了IP地址(已连接)。
附注:上述两种方法我们都是使用的DHCP动态IP,如果要设置静态ip方法和以及连接隐藏SSID AP的方法:
(1)设置静态ip
修改文件sudo nano /etc/network/interfaces
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface eth0 inet static
address 192.168.137.2
netmask 255.255.255.0
gateway 192.168.137.1
dns-nameservers x.x.x.x #你的本地dns地址
(2)连接WIFI不广播隐藏SSID
在ssid=”XXXX”下面加一行scan_ssid=1后重启,具体如下:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
ap_scan=2
network={
ssid=“网络id“
scan_ssid=1
proto=WPA2
key_mgmt=WPA-PSK
pairwise=TKIP
group=TKIP
psk=”密码“}
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="WiFi-A"
psk="12345678"
priority=5
}
network={
ssid="WiFi-B"
psk="12345678"
priority=4
}
network={
ssid="WiFi-C"
psk="12345678"
priority=3
}
重启后就可以连上这个不广播SSID的无线网络。
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.137.2
netmask 255.255.255.0
gateway 192.168.137.1
(1)设置固定IP
以下操作均在命令行中操作:
输入命令:
sudo nano /etc/network/interfaces
出现如下界面,找到红色框中的那一行,将dhcp更改为static,下面的address,netmask,gateway分别为ip地址,网络掩码,网关,将其改成所需的网络地址即可。
然后ctrl+o保存,选择保存的路径,回车,接着ctrl+x退出
最后重启网络,
sudo /etc/init.d/networking restart
(2)默认是dhcp的,如果在更改成固定ip后,需要再次改成至dhcp状态,可由如下操作完成。
首先将
iface eth0 inet static ->iface eth0 inet dhcp
然后保存退出,最后重启网络。
保存退出
重启网络