树莓派学习记录2-树莓派无线网络连接(无屏幕)

本文介绍了如何使用树莓派3B+进行无线网络连接,包括配置wpa_supplicant.conf文件,处理射频关闭问题,启用SSH服务,以及安装xrdp以实现远程桌面访问。同时,文章还提到即使电脑热点未显示连接,但树莓派可能已成功连接并可通过SSH访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

树莓派学习记录2-树莓派无线网络连接(无屏幕)

除了上一篇介绍的网线连接,由于树莓派3b+自带有wifi模块,所以也可以支持无线网络连接。

1. 所需硬件

树莓派3b+一块,网线一根,电源线一根,sd卡与读卡器

2. 树莓派与电脑的无线网络连接

首先是连接无线网络的文件配置,有两种方式。
方法1:在烧录系统的时候进行配置
烧录系统前在Imager上完成配置,如下图所示,这里配置好后可以不用自行编写conf文件。
在这里插入图片描述
方法2:编写wpa_supplicant.conf文件
取出树莓派上的sd卡,将sd卡连接电脑,新建一个txt文件夹,在文件夹中写入以下代码。中文部分根据自己的网络热点名称改写即可

country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
	ssid="热点名称"
	psk="热点密码"
	priority=10
}

配置完上述文件后,则可以在设置中打开电脑热点,让树莓派连上热点。比较好的情况下树莓派会直接连上热点。
在这里插入图片描述
在这里插入图片描述
顺利的话,连接设备数会显示是1,并且显示出你的树莓派主机名称以及ip地址,然后直接通过Putty,SecureCRT或其他远程软件连接即可。
但如果是像上图这样,显示的连接设备数是0,那我们就需要在树莓派上查看是否连接成功。具体操作如下:
我们先按照学习记录1(https://blog.csdn.net/michle_luo/article/details/130794430?spm=1001.2014.3001.5502)的方式通过网线连接上树莓派,并且登录自己的用户。
在树莓派端使用命令ifconfig检查网络连接情况:
在这里插入图片描述
通过ifconfig我们发现wlan0是存在的,但是为什么没有数据传输呢?其实是因为我自己在这时候电脑热点没开,打开电脑的热点后就可以解决这个问题。
如果ifconfig后没有显示出wlan0,可能是树莓派的射频被关了,这时候我们可以通过rfkill list查看是否关闭射频。

rfkill list

在这里插入图片描述
如果0那一栏有出现yes说明射频被关了,这时候我们可以通过rfkill unblock all打开所有的射频。

rfkill unblock all

然后我们检查一下自己的wpa_supplicant.conf文件配置,通过命令sudo nano /etc/wpa_supplicant/wpa_supplicant.conf进行打开。

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

正常的配置是这样的:
在这里插入图片描述
如果没有则自己添加进去。添加完之后按ctrl + o,回车保存,然后按ctrl+x退出编辑界面。完成上述操作后重启树莓派(可以通过sudo reboot命令),重新登录自己的用户。
重新登录后,再次通过ifconfig wlan0查看wlan0的连接情况。会发现这里树莓派通过无线网络已经在收发数据了。这里的169.254.42.48就是树莓派无线网络的ip地址

ifconfig wlan0

在这里插入图片描述
然后我们需要安装ssh的远程服务功能,可以通过sudo raspi-config开启。这时候会弹出一个界面,让我们选择。这个界面的操作方式是方向键的上下控制上面选型的移动,方向键的左右控制下方两个按键的选择,回车则是确定。

sudo raspi-config

在这里插入图片描述
我们先选择第三个带Interface字样的,按下回车后会继续跳转界面。

在这里插入图片描述
这里我们选第二个带SSH字样的,按下回车后会继续跳转界面。
在这里插入图片描述
上面这个界面跳出来后继续按下回车,则会出现SSH成功生效的界面。
在这里插入图片描述
按下回车后退出会返回第一个灰色界面,这时候我们用方向键右键选中Finish,按下回车后退出,至此完成SSH远程服务生效。
这时,我们可以拔掉网线,只保持树莓派电源接通
在这里插入图片描述
继续通过Putty访问上面的ip地址,输入账号密码后即可连接树莓派。
在这里插入图片描述
至此,说明树莓派已经能通过无线网络进行登录使用。

3. 远程访问树莓派的桌面

虽然开发中大多数都是用命令行的形式进行开发的,但是树莓派和ubuntu等其他操作系统一样也是可以通过可视化界面进行的。
先使用sudo apt-get update进行简单的更新。然后进行可视化界面的安装,通过命令sudo apt-get install xrdp实现。(当跳出Y/n的选项时按下回车或者Y之后回车即可)

sudo apt-get update
sudo apt-get install xrdp

然后我们可以通过windows自带的远程桌面软件进行访问。
先在搜索中找到远程桌面连接并打开。
在这里插入图片描述
输入之前查到的树莓派无线连接的地址169.254.42.48。
在这里插入图片描述
点击连接后即可跳转到用户登录界面,填写完用户账号和密码后即可访问树莓派的可视化桌面。
在这里插入图片描述
我们可以试着查看一下右上角的wifi小图标,会发现连接的正是之前查询的无线网络信息。

4. 常见问题

通过方法2加上之后的步骤进行连接,发现在电脑的热点界面依然没有显示连接设备,但通过树莓派端查询发现其实是有无线数据在传输的。这个问题看自己后续学习中是否有受到影响,如果有影响会继续更正此文档。

### 树莓派与笔记本无线连接的配置指南 树莓派与笔记本的无线连接可以通过多种方式实现,包括使用Wi-Fi共享、SSH远程控制等。以下是一个详细的配置指南,结合了相关引用中的内容[^1]。 #### 1. 笔记本开启网络共享 在Windows系统中,可以将笔记本的Wi-Fi网络共享给树莓派。具体步骤如下: - 打开“网络和共享中心”。 - 点击当前正在使用的Wi-Fi连接,选择“属性”。 - 转到“共享”选项卡,勾选“允许其他网络用户通过此计算机的Internet连接连接”[^2]。 - 在下拉菜单中选择有线网络适配器(通常是“本地连接”)。 完成以上设置后,笔记本会通过有线或无线方式将Wi-Fi网络共享给树莓派。 #### 2. 配置树莓派无线网络 为了使树莓派能够连接到笔记本共享的Wi-Fi网络,需要编辑`/etc/wpa_supplicant/wpa_supplicant.conf`文件。以下是具体的配置内容: ```bash country=CN ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="无线网名称" psk="无线网密码" priority=10 } ``` 将上述内容保存到`wpa_supplicant.conf`文件中,并确保替换为实际的Wi-Fi名称和密码[^3]。 #### 3. 使用SSH远程控制树莓派 完成无线网络配置后,可以通过SSH从笔记本远程访问树莓派。首先,确保树莓派上的SSH服务已启用。可以通过以下命令检查并启动SSH服务: ```bash sudo systemctl status ssh sudo systemctl start ssh ``` 然后,在笔记本上使用SSH客户端(如PuTTY或命令行工具)连接树莓派。假设树莓派的IP地址为`192.168.137.2`,可以运行以下命令: ```bash ssh pi@192.168.137.2 ``` 默认用户名为`pi`,密码为`raspberry`。 #### 4. 替换国内软件源 为了加速树莓派的软件包下载速度,可以将其APT源替换为国内镜像。编辑`/etc/apt/sources.list`文件,添加以下内容: ```bash deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi ``` 更新APT缓存并安装所需软件: ```bash sudo apt update sudo apt upgrade ``` #### 注意事项 - 如果笔记本没有网线接口,可以选择通过USB转网线适配器实现有线连接[^2]。 - 确保树莓派和笔记本处于同一局域网内,否则可能无法建立连接。 ### 示例代码 以下是一个简单的Python脚本,用于测试树莓派与笔记本之间的网络连通性: ```python import socket def test_connection(host, port): try: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(5) result = sock.connect_ex((host, port)) if result == 0: print("Connection successful") else: print("Connection failed") sock.close() except Exception as e: print(f"Error: {e}") test_connection("192.168.137.1", 22) # 测试SSH端口 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值