- 1 树莓派使用教程
- 1.1 新手入门--树莓派
- 1.1.1 树莓派介绍-哪家是真正的树莓派
- 1.1.2 懒人教程-新手玩树莓派
- 1.1.3 初次尝试-树莓派
- 1.1.3.1 系统安装-树莓派
- 1.1.3.2 连接开机-树莓派
- 1.1.3.3 进入图形界面-树莓派
- 1.1.3.4 SSH连接-树莓派
- 1.1.3.5 网络设置-静态IP-树莓派
- 1.1.3.6 VNC安装-树莓派
- 1.1.3.7 VNC自动启动-树莓派
- 1.1.4 新手入门教程-树莓派新手入门指南必看
- 1.1.5 新手入门教程-树莓派快速入门指南
- 1.1.6 显示器 修改config.txt--HDMI接口/VGA接口
- 1.1.7 树莓派config.txt文件存放在哪里
- 1.1.8 树莓派config配置文件参数具体说明
- 1.1.9 树莓派外壳安装的教程
- 1.1.10 Config文件详细说明
- 1.1.11 树莓派完美运行最新 Android 7.0牛轧糖
- 1.2 网络相关--树莓派
- 1.2.1 树莓派手动指定静态IP和DNS 终极解决大法
- 1.2.2 命令行配置wifi无线连接
- 1.2.3 命令行配置蓝牙连接-BlueTooth
- 1.2.4 如何打开蓝牙-树莓派
- 1.2.5 随时随地远程登录-树莓派
- 1.2.6 通过花生壳穿透内网-树莓派
- 1.2.7 花生壳穿透内网改进版-树莓派
- 1.2.8 windows远程树莓派
- 1.2.9 设置静态IP方法
- 1.2.10 配置多个WIFI
- 1.2.11 连接Wifi最稳定的办法
- 1.2.12 安装VNC Server并设置为自动启动
- 1.2.13 Linux系统安装XRDP+VNC实现远程桌面访问
- 1.2.14 系统内置VNC Server
- 1.3 外设相关-树莓派
- 1.3.1 GPIO功能学习
- 1.4 显示相关-树莓派
- 1.4.1 脱离显示器使用树莓派
连接Wifi最稳定的办法
- 2017-02-22 22:02:09
- 啊超
- 9540
- 最后编辑:啊超 于 2017-02-26 15:34:14
树莓派连接WiFi(最稳定的方法)
http://www.openrpi.org/blog/%E6%A0%91%E8%8E%93%E6%B4%BE%E8%BF%9E%E6%8E%A5wifi%E6%9C%80%E7%A8%B3%E5%AE%9A%E7%9A%84%E6%96%B9%E6%B3%95/
概述
树莓派是一个只有信用卡大小的卡片式电脑,基于ARM架构,采用Linux作为其操作系统;它默认是通过有线接口连接互联网,对于如此小巧的设备,有线连接非常不方便,下面我们介绍下如何让树莓派通过无线网卡连接网络。
网上大多数文章介绍的是编辑 /etc/network/interfaces 文件,修改成如下的形式:
iface wlan0 inet dhcp wpa-ssid "WiFi-name" wpa-psk "WiFi-password"
然后重启树莓派或者重启network服务来连接WiFi:
sudo service network restart
这种方法虽然简单,但也有非常明显的缺点:
- 不能同时保存多个WiFi用户名和密码,更换WiFi连接时非常不便
- 连接WiFi可能要重启系统
- 即使靠重启network服务来避免重启系统,也会导致其他网络连接中断(如网口的有线连接)
- WiFi意外断开后不能自动重连
由于实用性不强,上述方法的具体操作过程就不再熬述了。这里介绍一种嵌入式业界常用的WiFi连接方法,可完全应用于树莓派,实现WiFi的方便、稳定连接:
- 同时保存多个WiFi用户名和密码
- 可设置连接优先级,多WiFi环境下优先连接指定WiFi
- 避免重启系统,也无需重启任何服务
- 断开自动重连
方法步骤
登录树莓派控制台
对于已联网的树莓派,具体步骤戳 使用PuTTY登录到树莓派
装有Linux的树莓派,和普通计算机一样。所有操作都可以通过电脑的远程登录完成。通过VNC可以登录到树莓派的桌面环境,而通过SSH可以操作树莓派的命令行。
尚未联网的树莓派,具体步骤戳 Adafruit的树莓派教程:使用控制电缆
这节课你将学习到如何使用控制电缆控制你的树莓派
修改网络配置
/etc/network/interfaces
用命令行文本编辑器 nano 打开 /etc/network/interfaces 文件,按如下方式修改:
- 如果你从没有编辑过 /etc/network/interfaces文件,那它其中几行看起来是这个样子:
iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
你要做的是把上述两行替换成
iface wlan0 inet dhcp wpa_conf /etc/wpa_supplicant/wpa_supplicant.conf
这样就行了
- 如果你以前按照其他文章的方法,把 /etc/network/interfaces改写成下面的样子:
iface wlan0 inet dhcp wpa-ssid "WiFi-name" wpa-psk "WiFi-password"
那么你要做的同样是,把上述三行替换成
iface wlan0 inet dhcp wpa_conf /etc/wpa_supplicant/wpa_supplicant.conf
即可。
建议,若你不使用树莓派的有线网口连接网络的话,最好把 /etc/network/interfaces 文件第一行(也可能不在第一行)中 auto lo eth0 wlan0 的 eth0 删掉。因为它会导致树莓派开机时等待有线网卡动态分配IP,但实际上你的有线网口并没有连接到路由器,这里会让内核等待更长的时间,从而拖慢开机速度。
尚不熟悉nano的用法,戳 nano简明使用指南
笔者的 /etc/network/interfaces 配置如下:
/etc/wpa_supplicant/wpa_supplicant.conf
除 /etc/network/interfaces 之外,你还需要修改 /etc/wpa_supplicant/wpa_supplicant.conf 。所有的WiFi连接配置都在这里了。
打开 /etc/wpa_supplicant/wpa_supplicant.conf 照着下面的样子添加(请不要删除原先就已经存在的任何行):
# 最常用的配置。WPA-PSK 加密方式。 network={ ssid="WiFi-name1" psk="WiFi-password1" priority=5 } network={ ssid="WiFi-name2" psk="WiFi-password2" priority=4 }
priority 是指连接优先级,数字越大优先级越高(不可以是负数)。
按照自己的实际情况,修改这个文件。
例如,你家中有3个WiFi,分别为WiFi-A、WiFi-B和WiFi-C。你希望树莓派的连接优先级为 WiFi-A>WiFi-B>WiFi-C,则整个配置文件看起来像这样:
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 }
笔者的 /etc/wpa_supplicant/wpa_supplicant.conf 配置如下:
开始连接WiFi
修改好 /etc/network/interfaces 之后,无论是连接还是断开WiFi,都变得简洁无比。
连接WiFi
在命令行下输入
sudo ifup wlan0
这条命令的意思是,启用(up)wlan0端口,即寻找可用WiFi并尝试连接。
命令会在屏幕上打印几行字符,未输出错误信息的话,就意味着WiFi连接成功了:
你可以用 iwconfig 命令或 ifconfig 命令检查一下WiFi连接:
断开WiFi
在命令行下输入
sudo ifdown wlan0
这条命令的意思是,关闭(down)wlan0端口,即断开已连接的WiFi。
千万不要在网络连接ssh时候执行这条命令,它会直接断开你的ssh连接
到这里,一切都配置好了。下次开机的时候,树莓派将自动连接有效的WiFi。
你可以试验一下WiFi的掉线自动重连功能,比如重启一下无线路由器,看树莓派还能不能重新连接上无线路由器。