树莓派连接WiFi(最稳定的方法

树莓派连接WiFi(最稳定的方法转载:https://i.cmgine.net/archives/11053.html概述树莓派是一个只有信用卡大小的卡片式电脑,基于ARM架构,采用Linux作为其操作系统;它默认是通过有线接口连接互联网,对于如此小巧的设备,有线连接非常不方便,下面我们介绍下如何让树莓派通过无线网卡连接网络。网上大多数文章介绍的是编辑  /etc/network/inte

大家好,又见面了,我是你们的朋友全栈君。

转载:https://i.cmgine.net/archives/11053.html

概述

树莓派是一个只有信用卡大小的卡片式电脑,基于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  配置如下:

7cd8ea49-867d-4852-948a-b03b2cd9ed8e-675x425

/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 配置如下:

78159683-675x425

开始连接WiFi

修改好  /etc/network/interfaces  之后,无论是连接还是断开WiFi,都变得简洁无比。

连接WiFi

在命令行下输入

sudo ifup wlan0

这条命令的意思是,启用(up)wlan0端口,即寻找可用WiFi并尝试连接。

命令会在屏幕上打印几行字符,未输出错误信息的话,就意味着WiFi连接成功了:

bb93dec0-2894-46bd-b880-773f901f5089-675x425

你可以用 iwconfig 命令或 ifconfig 命令检查一下WiFi连接:

5d4ce249-1e8b-4b67-a590-61bba7e6d1d7-675x425

719734e8-4a2a-4043-bb13-f78f4164b1ee-683x738

断开WiFi

在命令行下输入

sudo ifdown wlan0

这条命令的意思是,关闭(down)wlan0端口,即断开已连接的WiFi。

02dab065-a1e8-441e-9f8d-bba27da0883e-675x425

千万不要在网络连接ssh时候执行这条命令,它会直接断开你的ssh连接


到这里,一切都配置好了。下次开机的时候,树莓派将自动连接有效的WiFi。

你可以试验一下WiFi的掉线自动重连功能,比如重启一下无线路由器,看树莓派还能不能重新连接上无线路由器。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/135176.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)


相关推荐

  • 数据分析法、数据分析方法论总结

    数据分析法、数据分析方法论总结数据分析方法论1、5W2H分析法2、PEST分析法3、逻辑树分析法4、4P营销理论5、用户使用行为理论数据分析法数据分析方法论主要用来指导数据分析师进行一次完整的数据分析,它更多的是指数据分析思路,比如从哪几方面开展数据分析,各方面包含什么内容和指标。 数据分析方法论主要从宏观角度指导如何进行数据分析,它就像一个数据分析前期的规划,指导着后期数据分析工作的开展。 数据分析法则是指具体的分析方法,如常见的对比分析、交叉分析、相关分析、回归分析、聚类分析等数据分析法。数据分析法.

  • 柴油发电机发电机组_柴油发电机配置规范

    柴油发电机发电机组_柴油发电机配置规范应急柴油发电机主要用于重要场所,在紧急情况或事故停电后瞬间停电,通过应急发电机组迅速恢复 并延长一段供电时间。这类用电负荷称为一级负荷。对断电时间有严格要求的设备、仪表及计算机系统,除配备发电机外还应设电池或UPS供电。应急柴油发电机的工作有两个特点:(1)第一个特点是作应急用,连续工作的时间不长,一般只需要持续运行几小时(≤12H);(2)第二个特点是作备用,应急发电机组平时处于停机等待状态,只…

  • 行列式运算法则 矩阵的运算及其运算规则:「建议收藏」

    行列式运算法则 矩阵的运算及其运算规则:「建议收藏」1、三角形行列式的值,等于对角线元素的乘积。计算时,一般需要多次运算来把行列式转换为上三角型或下三角型2、交换行列式中的两行(列),行列式变号(交换)3、行列式中某行(列)的公因子,可以提出放到行列式之外。(倍乘)(注:矩阵是全部元素都乘,都提取)4、行列式的某行乘以a,加到另外一行,行列式不变,常用于消去某些元素。(倍加)5、若行列式中,两行(列)完全一样,则行列式为0;可以推论,如果两…

    2022年10月22日
  • yum卸载软件

    yum卸载软件yum可以安装软件,也可以卸载软件yum安装软件的命令为:yuminstallfileNameyum卸载软件的命令:sudoyumremovedocker\docker-client\docker-client-latest\docker-common…

  • Java课程设计——学生成绩管理系统

    Java课程设计——学生成绩管理系统Java课程设计题目:学生成绩管理系统摘要在现今信息时代,生活速度的加快,使得人们越来越向信息化、数字化发展。随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长,尤其是学生的考试成绩数据。面对庞大的学生的成绩,需要有学生成绩管理系统来提高学生管理工作的效率。介于此提出了学生成绩管理系统,学生管理系统是计算机对学生档案信息进行管理,具有手工管理无可比拟的优点,如索检迅速、查找方便、可靠性高、存储量大等有点。现在我国的大中专院校的学生成绩管理水平正在不断提高,停留在纸介质

  • 一个普通Android程序员的2018总结2019计划

    一个普通Android程序员的2018总结2019计划承接去年总结:一个普通Android程序员的20182018:总结这一年继续分三个方面吧:职场篇:这一年发生了很多事,上家公司团队经营问题,最终结果是团队解散,期间发生一系列事情,参照一个普通一个Android程序员的心酸历程(2018.5.1)。然后修整两个月,找到了现在这家公司,公司目前规模不大,但各方面管理和上家公司天壤之别,至少目前我工作过的公司里面,算是最好的了,工资不是很高,…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号