树莓派连接WiFi

尽管树莓派非常小,但是如果不能连接WiFi,那么它的移动性将大打折扣,因为它必须需要一根网线直接连接路由器。下面本文就介绍一下如何让树莓派连接无线网络。

准备工作

首先,你需要有:

  • 树莓派一台
  • 无线路由器一台
  • USB WiFi网卡一枚(这里可以查看raspbian支持的无线网卡型号列表)

先把USB WiFi网卡插入树莓派USB接口,启动树莓派(如果树莓派已经在移动状态,则直接插入无线网卡即可)。

使用 sudo lsusb 命令查看无线网卡是否已经被正确识别,例如我本地显示为:

Bus 001 Device 004: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter

最新的raspbian已经有了wifi必要的包,一般直接插上就可以使用了,可以使用iwconfig再次确认网卡是否正常工作。

wlan0     unassociated  Nickname:"<WIFI@REALTEK>"
          Mode:Managed  Frequency=2.412 GHz  Access Point: Not-Associated
          Sensitivity:0/0
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

lo        no wireless extensions.

eth0      no wireless extensions.

如果出现了类似如上例所示的wlan0,说明无线网卡已经可以正常工作了。

配置无线网卡

使用 sudo ifconfig 可以查看网卡的工作状态。

eth0      Link encap:Ethernet  HWaddr b8:27:eb:db:e8:f6
          inet addr:192.168.1.242  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:79683 errors:0 dropped:0 overruns:0 frame:0
          TX packets:58163 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:109145561 (104.0 MiB)  TX bytes:5489567 (5.2 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr e8:4e:06:26:ab:45
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:6 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

这里的wlan0就是USB无线网卡,不过它还没有被分配IP。

搜索可用的无线网络。

sudo iwlist wlan0 scan | grep ESSID

编辑 /etc/network/interfaces文件,可以自行选择emacs,vim,nano编辑器,记得使用sudo

sudo cp interfaces interfaces_bak   # 先备份
sudo emacs /etc/network/interfaces

修改内容如下:

allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

除非manual,否则请一定要把wpa-roam改为wpa-conf

配置WiFi连接

sudo emacs /etc/wpa_supplicant/wpa_supplicant.conf

添加如下内容:

network={
    ssid="YOUR_NETWORK_NAME"
    psk="YOUR_NETWORK_PASSWORD"
    proto=RSN
    key_mgmt=WPA-PSK
    pairwise=CCMP
    auth_alg=OPEN
}
  • proto 可以是 RSN (WPA2) 或者 WPA (WPA1)。
  • key_mgmt 可以是 WPA-PSK (绝大部分) or WPA-EAP (企业无线网络)。
  • pairwise 可以是 CCMP (WPA2) 或者 TKIP (WPA1)。
  • auth_alg 绝大部分都是OPEN, 其它的选项有 LEAP 和 SHARED。

如果想固定IP,不使用DHCP分配IP的方式,可以修改/etc/network/interfaces文件,如下例所示:

iface wlan0 inet static # dhcp to static
address 192.168.1.155 # Static IP you want 
netmask 255.255.255.0 
gateway 192.168.1.1   # IP of your router

配置完成后,重启树莓派,如果不想重启,也可以执行sudo ifdown wlan0 && sudo ifup wlan0来激活你的无线网卡。

上一篇:开发者学堂课程干货总结——Java 虚拟机原理(六)


下一篇:Adobe Reader:关于Font Capture:AcroRd32Info.exe应用程序错误的解决方案