Raspberry Pi Connect 官方树莓派远程连接新方式

news2024/11/18 8:10:23

系列文章目录


前言

2024 年 5 月 7 日
戈登-霍林沃思

        今天,我们很高兴地宣布 Raspberry Pi Connect 测试版发布:这是一种安全、易用的方法,只需使用网络浏览器,就能从地球上的任何地方远程访问您的 Raspberry Pi。

        远程访问 Raspberry Pi 的桌面通常非常有用。有许多技术可以实现这一功能,包括 VNC,当然还有 X 协议本身。但它们可能很难配置,尤其是当你试图访问不同本地网络上的机器时;当然,随着 Raspberry Pi OS Bookworm 过渡到 Wayland,经典的 X 远程桌面支持已不再可用。

        我们希望能以我们一贯的 "就是好用 "的方式为您提供这一功能。进入 Raspberry Pi Connect。


一、如何获取 Raspberry Pi Connect?

        首先,Raspberry Pi Connect 需要你的 Raspberry Pi 运行使用 Wayland 窗口服务器的 64 位 Raspberry Pi OS Bookworm 发行版。这也就意味着,目前你需要一台 Raspberry Pi 5、Raspberry Pi 4 或 Raspberry Pi 400。

        假设你使用的是这些型号中的一种,请确保你已经从 Raspberry Pi Imager 安装了最新的 Raspberry Pi OS Bookworm,打开终端,输入

sudo apt update
sudo apt upgrade
sudo apt install rpi-connect

        现在重启 Raspberry Pi,你会在屏幕右上方的系统托盘中发现一个新图标。点击该图标并选择 "登录",即可开始使用。希望你会发现这些说明足够简单易懂,但如果你有需要,还有额外的文档介绍测试期间已知的限制。

二、底层是什么?

        我请 Raspberry Pi 负责网络开发的保罗-穆库尔(Paul Mucur)解释底层技术是如何工作的:

        当您通过网络浏览器使用 Raspberry Pi Connect 连接到您的 Raspberry Pi 设备时,我们会使用 WebRTC 在两者之间建立安全的点对点连接:该技术与 Zoom、Slack、Microsoft Teams 和 Google Meet 的浏览器内客户端所采用的实时通信技术相同。

        我们为 Raspberry Pi OS 设计的 "rpi-connect "守护进程负责监听来自 Raspberry Pi Connect 网站的新屏幕共享会话,并在浏览器内 VNC 客户端和设备上运行的 VNC 服务器之间协商最佳(即最低延迟)连接。一般来说,一旦建立连接,任何流量都无需通过我们的服务器。

        如果由于任何原因无法在浏览器和 Raspberry Pi 设备之间建立直接连接,rpi-connect 和浏览器可能会选择通过我们的服务器安全地转发流量,并使用 DTLS 加密。

三、点对点和中继连接

        目前,Raspberry Pi Connect 服务只有一个位于英国的中继(TURN)服务器。这意味着如果 rpi-connect 选择中继流量,延迟可能会很高。连接时,将鼠标悬停在浏览器中的挂锁图标上,就会显示您的连接是否被中继,这样您就能知道改变网络设置是否能改善连接。

        我们希望 Raspberry Pi Connect 对使用非中继连接的个人用户保持免费(如啤酒),对设备数量没有限制。我们还不知道有多少人需要通过我们的 TURN 服务器中继流量;我们将密切关注带宽使用情况,并决定今后如何处理这些连接。

        正如我在开头所说,Raspberry Pi Connect 目前处于测试阶段,因此请注意,您可能会偶尔遇到一些限制或不完善的地方。我们认为很多人会发现它很有用,希望你能按照上面或 Connect 文档中的说明安装并试用。您可以在我们论坛的 Raspberry Pi Connect 版块告诉我们您的想法。

四、Raspberry Pi Connect

4.1 简介

通过 Raspberry Pi Connect,您可以从世界任何地方安全地访问您的 Raspberry Pi。

        要使用 Connect,请在 Raspberry Pi 上安装 Connect 软件。然后访问 connect.raspberrypi.com,在浏览器窗口中通过屏幕共享访问你的 Raspberry Pi。您可以像将显示器插入 Raspberry Pi 一样使用桌面。

        Connect 使用安全的加密连接。默认情况下,Connect 会在 Raspberry Pi 和浏览器之间直接通信。但是,当 Connect 无法在 Raspberry Pi 和浏览器之间建立直接连接时,我们会使用伦敦的中继服务器。在这种情况下,Raspberry Pi 只保留操作 Connect 所需的元数据。

4.2 安装

        Connect 需要一台运行使用 Wayland 窗口服务器的 64 位 Raspberry Pi OS Bookworm 发行版的 Raspberry Pi。所需操作系统版本要求 Raspberry Pi 5、Raspberry Pi 4 或 Raspberry Pi 400。

注意
        Connect 与 Raspberry Pi OS Lite 或使用 X 窗口服务器的系统不兼容。

        要开始安装,请打开终端窗口。运行以下命令更新系统和软件包:

$ sudo apt update
$ sudo apt upgrade

4.2.1 安装 Connect

        在 Raspberry Pi 上运行以下命令安装 Connect:

$ sudo apt install rpi-connect

        安装完成后,重启 Raspberry Pi 以启动连接服务:

$ sudo reboot

        下次登录 Raspberry Pi 时,Connect 将自动启动。

4.2.2 启动连接

注意
        默认情况下,Connect 会在登录时自动启动。除非您从登录项目中删除 Connect,否则无需手动启动它。

        要从命令行手动启动服务,请运行以下命令:

$ systemctl --user start rpi-connect

4.3 使用 Connect

        现在您已经在 Raspberry Pi 上安装了 Connect,必须将 Raspberry Pi 与您的 Raspberry Pi ID 关联才能使用 Connect。

        如果没有 Raspberry Pi ID,请创建一个。

4.3.1 链接你的 Raspberry Pi 和 Raspberry Pi ID

        要将您的 Raspberry Pi 与您的 Raspberry Pi ID 关联,请使用 Connect 生成一个验证 URL。访问该 URL 并登录你的 Raspberry Pi ID,将你的 Raspberry Pi 添加到你的账户中。

        您可以使用 Raspberry Pi 桌面上的 Connect 图标或 rpi-connect CLI 生成验证 URL。

4.3.1.1 通过 Raspberry Pi 桌面

        一旦 rpi-connect 服务开始运行,Connect 图标就会出现在系统托盘中。

        点击连接图标,从下拉菜单中选择 "登录"。这将打开一个验证 URL,你可以用它将你的 Raspberry Pi 与你的 Raspberry Pi ID 连接起来。

4.3.1.2 通过命令行

        使用以下命令生成一个链接,将你的 Raspberry Pi 与你的 Raspberry Pi ID 连接起来:

$ rpi-connect signin

        该命令的输出结果如下

Complete sign in by visiting https://connect.raspberrypi.com/verify/XXXX-XXXX

        访问任何设备上的 URL,将您的 Raspberry Pi 与您的 Raspberry Pi ID 连接起来。

4.3.1.3 在 Connect 中完成连接您的 Raspberry Pi

        访问上一步生成的验证 URL。

        使用你的 Raspberry Pi ID 登录 Connect。

        验证后,为您的 Raspberry Pi 分配一个名称。选择一个有助于识别设备的名称。点击 "创建设备并登录 "按钮继续。

        现在,您可以通过 Raspberry Pi 进行屏幕共享。Connect 系统托盘图标将变为蓝色,表明您的 Raspberry Pi 已连接到 Connect 服务。您应该会收到一封电子邮件通知,表明有新设备已登录 Connect。

警告
                如果您收到一封电子邮件,显示您无法识别的设备已登录 Connect,请立即更改您的 Raspberry Pi ID 密码。从 Connect 中移除该设备,使其与您的帐户永久脱离关系。考虑启用双因素身份验证,以确保账户安全。

        单击 "连接 "系统托盘图标,打开 "连接 "菜单。该菜单显示当前登录状态、退出登录选项以及启用或禁用屏幕共享选项。

注意
        您也可以使用终端命令 rpi-connect 签出将 Raspberry Pi 从 Connect 中移除。

        Connect 会用你的设备序列号签署通信。在设备之间移动 SD 卡将会使你退出 Connect。

4.3.2 连接到你的 Raspberry Pi

        现在您的 Raspberry Pi 已被列入 Connect 门户网站,您只需使用浏览器就可以在任何地方共享 Raspberry Pi 的屏幕。

        在任何电脑上访问 connect.raspberrypi.com。

        Connect 会将你重定向到 Raspberry Pi ID 服务以登录。登录后,Connect 会显示链接设备的列表。可进行屏幕共享的设备名称下方会显示一个灰色的屏幕共享标签。

        点击要进行屏幕共享的设备右侧的连接按钮。这会打开一个浏览器窗口,显示 Raspberry Pi 的桌面。

        现在,您可以像在本地一样使用 Raspberry Pi。有关连接的更多信息,请将鼠标悬停在 "断开 "按钮右侧的挂锁图标上。

提示
        使用桌面上方的 "从远程复制 "和 "粘贴到远程 "按钮,在本地和远程剪贴板之间进行复制。

        连接后,"连接 "门户中的屏幕共享标签旁边会出现一个绿点。这表示正在进行屏幕共享会话。鼠标悬停可查看当前屏幕共享会话的数量。

                当屏幕共享会话正在进行时,系统托盘中的 "连接 "图标会变成紫色,并显示一个封闭的圆圈。

4.3.3 断开与 Raspberry Pi 的连接

        要关闭屏幕共享会话,请单击桌面上方的 "断开连接 "按钮。

4.3.4 关闭屏幕共享

        要关闭屏幕共享,请单击 "连接 "系统托盘图标并取消选择 "允许屏幕共享"。Connect 系统托盘图标的下半部分将变为灰色。您仍可登录 Connect,但屏幕无法共享。

        在连接门户中,该 Raspberry Pi 旁边的连接按钮和屏幕共享标签将消失。

        要重新启用屏幕共享,请单击 "连接 "系统托盘图标并选择 "允许屏幕共享"。

重要事项
        重新启动后,Connect 会自动启用屏幕共享。要永久禁用屏幕共享,请退出 Connect。

4.3.5 管理您的 Raspberry Pis

        Connect 会列出与您的 Raspberry Pi ID 链接的所有 Raspberry Pis。如果屏幕共享在每个设备上都已启用,则每个设备都有一个连接按钮,用于打开屏幕共享会话。每个设备的名称下都有一个标签列表,显示可用的服务。

        单击设备名称打开设备详细信息页面。此页面提供有关设备的底层信息。您还可以编辑设备名称或从连接中删除设备。

        从 Connect 中删除设备会自动退出该设备上的 Connect。Connect 系统托盘图标变成灰色,菜单只提供登录选项。

4.3.6 更新连接

        要更新到最新版本的 Connect,请运行以下命令:

$ sudo apt update
$ sudo apt install --only-upgrade rpi-connect

        重新启动设备,使更新生效:

$ sudo reboot

4.3.7 卸载 Connect

        运行以下命令从 Raspberry Pi 上卸载 Connect 软件:

$ sudo apt remove --purge rpi-connect

        卸载后,Raspberry Pi 的序列号仍与您的 Raspberry Pi ID 关联。设备仍会出现在 Connect 门户中,但不能用于屏幕共享。如果你在同一台 Raspberry Pi 上再次安装 Connect,即使使用不同的 SD 卡,它也会重复使用 Connect 门户中现有的设备名称。

        要切断 Raspberry Pi 和 Raspberry Pi ID 之间的联系,请从 Connect 门户的设备列表中删除 Raspberry Pi。

4.4 故障排除

4.4.1 已知问题

        Connect 仅支持共享 Raspberry Pi 的单个主显示屏。当 Raspberry Pi 连接到多个 HDMI 屏幕时,Connect 有时会共享副屏幕的内容。您可以右键单击桌面,在桌面偏好设置(Desktop Preferences).... 中更改任务栏的位置来解决这个问题。

        Connect 不支持屏幕键盘。要实现全部功能,请使用实体键盘。

        Connect 需要使用实现了 ECMAScript 2020 (ES11) 的浏览器,因为它使用了旧版浏览器无法使用的功能。

        浏览器会拦截某些按键和按键组合。因此,您无法在 Connect 窗口中键入这些按键。Connect 提供了一个工具栏来模拟一些最常用的拦截键。

4.4.2 启用增强日志记录

        您可以启用 rpi-connect 及其专用 WayVNC 服务器的调试日志,以详细记录 Raspberry Pi 上的本地操作。

4.4.2.1 在 rpi-connect 中启用增强的日志记录功能

        使用以下命令打开 rpi-connect 配置文件进行编辑:

$ systemctl --user edit rpi-connect

        在注释之间输入以下配置行:

ExecStart=
ExecStart=/usr/bin/rpi-connect-env /usr/bin/rpi-connectd -socket=%t/rpi-connect-wayvnc.sock -v

注意
        您需要使用以 ExecStart= 开头的两行。

        最后,使用以下命令重启服务:

$ systemctl --user restart rpi-connect
4.4.2.2 在专用 WayVNC 服务器中启用增强日志记录功能

        打开与 Connect 关联的专用 WayVNC 服务器的配置文件:

$ systemctl --user edit rpi-connect-wayvnc

        在注释之间输入以下配置行:

ExecStart=
ExecStart=/usr/bin/rpi-connect-env /usr/bin/wayvnc --config /etc/rpi-connect/wayvnc.config --render-cursor --unix-socket --socket=%t/rpi-connect-wayvnc-ctl.sock -Ldebug %t/rpi-connect-wayvnc.sock

注意
您需要使用以 ExecStart= 开头的两行。

        最后,使用以下命令重启服务:

$ systemctl --user restart rpi-connect-wayvnc

4.4.3 查看连接日志

        要查看 Connect 服务及其专用 WayVNC 服务器的日志,请运行以下命令:

$ journalctl --user --follow --unit rpi-connect --unit rpi-connect-wayvnc

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1664278.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于 LlaMA 3 + LangGraph 在windows本地部署大模型 (二)

基于 LlaMA 3 LangGraph 在windows本地部署大模型 (二) #Options local_llm llama3 llm ChatOllama(modellocal_llm, format"json", temperature0) #embeddings #embeddings OllamaEmbeddings(model"nomic-embed-text") embed…

[算法][差分][延迟相差][leetcode]2960. 统计已测试设备

题目地址: https://leetcode.cn/problems/count-tested-devices-after-test-operations/description/ 解法一:暴力解法 class Solution {public int countTestedDevices(int[] batteryPercentages) {//特殊条件判断if(null batteryPercentages || ba…

PCIE协议-2-事务层规范-Message Request Rules

2.2.8 消息请求规则 本文档定义了以下几组消息: INTx 中断信号电源管理错误信号锁定事务支持插槽电源限制支持厂商定义消息延迟容忍度报告(LTR)消息优化缓冲区冲洗/填充(OBFF)消息设备就绪状态(DRS&#…

单细胞分析:多模态 reference mapping (2)

引言 本文[1]介绍了如何在Seurat软件中将查询数据集与经过注释的参考数据集进行匹配。我们展示了如何将来自不同个体的人类骨髓细胞(Human BMNC)的人类细胞图谱(Human Cell Atlas)数据集,有序地映射到一个统一的参考框…

IP定位技术在打击网络犯罪中的作用

随着互联网的普及和信息技术的发展,网络犯罪日益猖獗,给社会治安和个人财产安全带来了严重威胁。而IP定位技术的应用为打击网络犯罪提供了一种有效手段。IP数据云将探讨IP定位技术在打击网络犯罪中的作用及其意义。 1. IP定位技术的原理 IP&#xff08…

【小白可懂】SpringBootWeb入门

web开发需要的技术栈: 前端web开发: html css javascript Vue Element Nginx 后端web开发: Maven SpringBoot Web 基础篇 MySOL SpringBoot Mybatis SpringBoot Web开发篇 SpringBoot web进阶篇 什么是spring? 官网&a…

静态分析-RIPS-源码解析记录-03

既然有源码可以debug,那么直接跑测试用例,来跟踪处理逻辑感觉比直接看代码理逻辑更快一些,尤其是涉及到了扫描阶段,不然不容易弄清某刻某个变量的取值。 对于所有漏洞而言,都是由sink点到source点检测是否有过滤函数&…

创作纪念日(一周年)

机缘 我进入CSDN成为创作者是去年2023年的五月份,当时是在学校报名了蓝桥杯单片机组的比赛,觉得单片机方面有许多精妙之处,并且自学初学单片机实在有许多奇巧的设计点,有许多编程与硬件实际运行需要磨合的地方,这些惊…

idea中使用git拉取代码详细操作

注意:解决 Git拉取代码和本地代码丢失问题请点这里查看 以textGit文件为例: 下图:本地刚拉取远程的代码 git上的代码 1、在本地对代码进行修改 2、在git上对代码进行修改,模拟其他人对此文件的提交修改 3、拉取远程代码 4、合并自…

栈实现队列

一、分析 栈的特点是先出再入,而队列的特点为先入先出,所以我们创造两个栈,一个用来存放数据,一个用来实现其它功能此时栈顶为队尾;当要找队头数据时将前n-1个数据移入到另一个栈中,此时剩余那个数据为队头…

多模态CLIP和BLIP

一、CLIP 全称为Contrastive Language-Image Pre-Training用于做图-文匹配,部署在预训练阶段,最终理解为图像分类器。 1.背景 以前进行分类模型时,存在类别固定和训练时要进行标注。因此面对这两个问题提出CLIP,通过这个预训练…

制造业如何选择合适的项目管理软件?(内含软件推荐)

近期,收到很多小伙伴的提问:“想了解制造行业如何选择到合适的项目管理软件?”在竞争激烈的市场环境中,有效的项目管理对于制造业的发展至关重要,而项目管理软件则是重要支撑,能帮助企业更好地规划和跟踪项…

ITMS-91053: Missing API declaration

1. 添加PrivacyInfo.xcprivacy File → New → File → App Privacy 2. 格式 3. 已知对应关系 NSPrivacyAccessedAPICategoryFileTimestamp 3B52.1: Files provided to app by user, per documentation:File Timestamp NSPrivacyAccessedAPICategoryDiskSpace …

BW4HANA混合建模 用ADSO的哪个视图?

写日志的ADSO除了1,2,3表之外。还会有6,7,8view。8view是上了BW4HANA2.0之后激活ADSO就会生成的。如果旧版本没有8,那就RSDG_ADSO_ACTIVATE激活一下。 如果勾了外部HANA视图,那就等于说还有一个HANA view。 首先咱知道ADSO是BW里面用来物理存储&#xf…

Web前端一套全部清晰 ⑦ day4 CSS.2 复合选择器、CSS特性、背景属性、标签的显示模式

别人的议论,那是别人的,你的人生,才是你的 —— 24.5.7 一、复合选择器 定义:由两个或多个基础选择器,通过不同的方式组合而成 作用:更准确、更高效的选择目标元素(标签) 1.后代选择…

选购洗地机有哪些技巧?2024洗地机全面解析,618洗地机综合对比

洗地机作为人们生活中智能清洁工具的代表,它自带清/污水箱,不用手洗滚刷,既可以吸尘也可以自动识别并清洗地板上的干湿垃圾和顽固污渍,它以多功能一体化的设计改善了家务清洁的效率和体验。那么如何在众多洗地机品牌中&#xff0c…

1016: 插入排序算法实现

解法&#xff1a; /* 插入排序 */ void insertionSort(vector<int>& nums) {// 外循环&#xff1a;已排序区间为 [0, i-1]for (int i 1; i < nums.size(); i) {int base nums[i], j i - 1;// 内循环&#xff1a;将 base 插入到已排序区间 [0, i-1] 中的正确位置…

VBA_MF系列技术资料1-605

MF系列VBA技术资料1-605 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧&#xff0c;我参考大量的资料&#xff0c;并结合自己的经验总结了这份MF系列VBA技术综合资料&#xff0c;而且开放源码&#xff08;MF04除外&#xff09;&#xff0c;其中MF01-0…

iOS 安装cocoapds

注意 CocoaPods安装是基于ruby环境的&#xff0c;所以要安装CocoaPods先要安装Ruby环境&#xff0c;国内不能直接安装&#xff0c;只能通过VPN或淘宝的Ruby镜像来访问。 安装过程 gem sources --remove https://rubygems.org/ ** (注意是两个“-”&#xff0c;否则会移除失败) …

看马斯克与OpenAI的爱恨情仇,AGI之路会走向何方?

揭秘马斯克与OpenAI的决裂&#xff1a;AI的未来将何去何从&#xff1f; ©作者|Steven 来源|神州问学 引言 2024 年 3 月 1 日&#xff0c;时任OpenAI联合创始人的Elon Musk(下文简称&#xff1a;马斯克)将现任 CEO、创始人Sam Altman(下文简称&#xff1a;阿尔特曼)告上…