如何利用cpolar-内网穿透工具,从家里或外网访问您的树莓派 Raspberry Pi

本文介绍如何使用cpolar工具从家庭或本地网络外部轻松访问树莓派(Raspberry Pi)。解决端口阻塞、无公网IP等问题,实现通过手机、电脑远程访问树莓派桌面、Shell,使用PuTTY、noVNC、Shellinabox等多种方式。

假如你曾尝试将树莓派(Raspberry Pi)设置成为物联网设备,你就会知道,除非你跳过一大堆恼人的内网穿透问题,否则你就无法在本地网络上提供网页和数据。从家庭或本地网络外部访问树莓派可能是一项挑战。

在工作或学校时通过手机访问家中的树莓派Raspberry Pi, 这几乎是不可能。 有很多方法可以帮助你的树莓派上网。 但它们经常很痛苦:ISP的阻塞端口,没有公网IP,或您需要设置路由器转发端口,同时您可能违反了与ISP的服务条款。

本教程将演示如何使用cpolar工具从家庭或本地网络外部访问树莓派。

本教程将演示如何使用Cpolar工具从家庭或本地网络外部访问Raspberry Pi。

本教程介绍如何使用PuTTY终端从远程网络连接访问Raspberry Pi。 我们还向机器人用户展示了Raspbian如何使用noVNC远程访问家庭网络远程访问Raspberry Pi桌面和Shellinabox。

cpolar

cpolar是一种安全的隧道服务,可以在任何地方在线提供您的设备。 隧道是一种在两台计算机之间通过互联网等公共网络建立专线的方法。 当您在两台计算机之间设置隧道时,它应该是安全且私有的,并且能够通过网络障碍,如端口阻塞路由器和防火墙。 这是一个方便的服务,允许您在安全的无线网络或防火墙后面将请求从公共互联网连接到本地计算机。 使用此平台,您可以通过非常简单的方式从家庭或本地网络外部访问Raspberry Pi。

您可以从此处了解有关cpolar及其功能的更多信息


安装 cpolar

要使用cpolar,您需要将cpolar应用程序下载到您的树莓派Raspberry Pi。 为此,在树莓派Raspberry Pi终端上键入以下命令:

sudo wget https://www.cpolar.com/static/downloads/cpolar-stable-linux-arm.zip

然后使用以下命令解压缩:

sudo unzip cpolar-stable-linux-arm.zip

这样就完成了安装过程。

注册

使用cpolar从家庭或本地网络外部访问您的Raspberry Pi您必须注册以与您的Pi建立安全连接。 免费版的cpolar允许您一次访问一个终端,并在每次启动cpolar时分配随机网址。 使用免费版本,您每次希望建立远程连接并与远程用户共享地址时,都必须从Pi生成主机地址。

要创建cpolar帐户,请单击此处,然后单击注册以获取authtoken密钥。 如果您希望自己的自定义域执行联机SSH,则此令牌是必需的。

登录到cpolar网站后,您将获得一个authtoken密钥,其中包含许多字符的组合。 您需要保密此令牌:拥有此令牌的任何人都可以访问您的Raspberry Pi。

您需要在命令行中使用以下命令将此标记嵌入到Raspberry Pi中:

./cpolar authtoken  <yourauthtoken>

使用您从cpolar网站获得的令牌更改yourauthtoken字符串。 您只需要为Raspberry pi执行一次认证,它就会存储在配置文件中。

例如:

./cpolar authtoken qauXbmyDW8j9D

现在您已准备好使用cpolar进行连接。

使用付费版本,您将获得使用多个同时连接的选项,并使用自定义URL和密码访问您的终端以保护它。 您可以使用它来从本地网络外部远程启动Raspberry Pi。 这里提供了执行这些操作的示例和指南。

使用Putty从远程网络访问Pi
在Raspberry Pi终端中键入以下命令以启用从远程访问Putty终端。

./cpolar tcp 22

blob.jpg

如果你的隧道状态为“online”,你可以在任何地方使用Putty打开你的Raspberry Pi终端。 注意下图所示的主机地址和端口号; 你将使用它们来访问Raspberry Pi。

要在线打开SSH,首先从任何连接到Internet的计算机上打开一个新的putty,然后输入您的cpolar主机地址和端口号,如下图所示,然后单击“打开”。

如果您使用的是MAC或Linux可以直接使用ssh命令行连接树莓派:

$ ssh -p <cpolar公网端口号>  <树莓派用户名@cpolar.io>

本示例中执行:

$ ssh -p 43753  pi@cpolar.io

当您第一次尝试从远程访问Pi时,您将找到一个Putty Security警报窗口,请求您同意将rsa2密钥存储在其缓存中以供将来参考。 单击是并继续。

现在,您的计算机已远离家庭/本地网络连接到Pi。

远程使用noVNC访问Pi桌面

在Pi终端中键入以下命令,使用noVNC终端从远程访问Pi桌面:

./cpolar tcp 8001

如果你的隧道状态是在线,那么你可以在任何地方使用浏览器上的noVNC打开你的raspberry pi终端。 在连接到互联网的任何计算机或手机中打开浏览器,然后在浏览器的地址栏中键入图像中标记的地址。

您将看到一个窗口,提示您输入Raspbian for Robots图像的密码。 默认密码是robots1234。 输入密码,然后按Enter键。

现在,您的计算机已远离家庭/本地网络连接到Pi,您可以使用noVNC访问这些文件。

使用Shellinabox从远程网络访问Pi
键入以下命令以远程访问Shellinabox终端:

./cpolar tcp 4200

如果你的隧道状态是在线,那么你可以在任何地方使用浏览器打开你的Raspberry pi终端。在任何连接到互联网的计算机或手机上打开浏览器,在浏览器的地址栏中键入图像中标记的地址。

您将看到一个窗口,提示您输入Raspbian for Robots图像的登录ID和密码。 默认登录ID为Pi,密码为robots1234。

现在您的计算机已远离家庭/本地网络连接到您的Pi,您可以使用Shellinabox访问这些文件!

结论

现在您已经设置了cpolar,您可以从远程网络访问您的Pi。 能够从家庭或本地网络外部访问您的Raspberry Pi对于家庭自动化和物联网项目至关重要。 现在,您可以在外出时通过手机访问Pi,您可以从计算机访问它或让其他人从您的网络外部访问您的Pi。 你已准备好使用Pi来玩物联网项目了!

问题

有问题吗? 需要一些帮助? 问我们!

<think>首先,用户的问题是:想实现树莓派通过cpolar内网穿透将视频监控网页发布到公网的解决方案。具体是如何使用cpolar内网穿透技术来实现。我从用户提供的引用中提取相关信息:-引用[1]:标题是“如何借助cpolar内网穿透连接本地树莓派(1)”,这是一个系列文章的一部分。关键词是连接树莓派使用cpolar-引用[2]:具体是关于“树莓派4B+cpolar+MJPG-Streamer+Xshenll实现远程监控”。里面提到了系统安装、配置环境、下载MJPG-Streamer、下载和注册cpolar内网穿透外网访问树莓派网页。这直接相关,因为它描述了使用cpolar、MJPG-Streamer来实现视频监控的远程访问-引用[3]:强调使用cpolar远程连接树莓派,并提到参阅更详细的文章。还提到cpolar用于远程SSH和其他应用。用户特别提到了“视频监控网页”,引用[2]中明确提到了“树莓派4B+cpolar+MJPG-Streamer+Xshenll实现远程监控”,这应该是关键。引用中说“使用cpolar内网穿透将视频监控网页发布到公网”,引用[3]也提到类似。所以,我需要构建一个逐步的解决方案,如何使用cpolar树莓派上的视频监控网页发布到公网。核心元素包括:1.在树莓派上安装必要的软件:比如视频流服务器如MJPG-Streamer(从引用[2])。2.安装和配置cpolar进行内网穿透。3.设置视频监控网页,使其可以通过cpolar隧道访问。4.最终在公网访问。我的回答必须结构清晰、逐步解决问题,使用中文,引用相关部分末尾添加引用标识。响应结构:-简要介绍整体方案。-一步一步的指导:a.系统安装:设置树莓派系统,比如树莓派OS。b.配置环境:安装依赖软件。c.设置视频监控:使用MJPG-Streamer其他服务创建视频流。d.安装和注册cpolar:下载cpolar,创建账户,设置隧道。e.内网穿透:启动cpolar隧道,映射到本地网页端口。f.外网访问:通过cpolar提供的公网地址访问-确保LaTeX语法正确:用户提到数学表达式使用$...$$$...$$,但这里可能没有数学公式。主要是文本和代码。-结尾处生成相关问题。-回答中引用的段落末尾添加引用标识,如[^1]。从引用中提取步骤:引用[2]列出了具体流程:系统安装、配置环境、下载和编译MJPG-Streamer、下载和注册cpolar内网穿透外网访问。MJPG-Streamer可能用于视频流,Xshenll可能有误,许是“Xshell”,但上下文是远程访问,可能指的是SSH工具。用户提到的“视频监控网页”,所以在树莓派上运行一个网页服务器提供服务。常见做法:使用MJPG-Streamer作为视频流服务器,然后通过cpolar映射其端口到公网。步骤大纲:1.**准备树莓派**:安装树莓派OS。2.**安装视频流软件**:如MJPG-Streamer。参考引用[2]。-下载和编译MJPG-Streamer。3.**启动视频流**:配置MJPG-Streamer提供服务。4.**安装cpolar**:下载cpolar客户端,注册账户。5.**创建内网穿透隧道**:使用cpolar映射本地网页服务器的端口(例如8080)到公网。6.**访问公网地址**:使用cpolar生成的URLIP访问视频监控网页。确保回答详细但简洁。使用中文。结尾生成相关问题:类似示例。相关问题建议:1.如何优化MJPG-Streamer的视频流?2.cpolar的其他应用场景,如远程SSH。3.安全考虑,如设置密码HTTPS。4.监控的其他选项,如使用不同的流服务器。引用处理:在回答中,提到从引用中来的信息时加标识,如“根据引用[2],首先需要安装MJPG-Streamer来创建视频流。[^2]”完整响应结构:-引言:简述解决方案。-步骤指导:-步骤1:...[^2]-步骤2:...[^1](如果相关)-代码块(如果有):用```格式。例如,启动cpolar的命令。-结论。-§§相关问题§§最终写出响应。</think> ### 使用 cpolar 内网穿透树莓派视频监控网页发布到公网的解决方案 您的目标是将树莓派上运行的视频监控网页通过 cpolar 内网穿透技术发布到公网,允许您从互联网任何位置访问该网页。我将基于您提供的引用和常见最佳实践,给出一个结构清晰的逐步解决方案。参考中引用[2] 明确描述了“树莓派4B+cpolar+MJPG-Streamer+Xshenll实现远程监控”,其中 MJPG-Streamer 是用于视频流的关键组件,cpolar 负责内网穿透[^2]。引用[3] 也强调了 cpolar 的简单性和多功能性[^3]。整个过程分为硬件设置、软件安装、视频流服务器配置、cpolar 内网穿透设置,以及最终的公网访问。请确保树莓派联网并运行最新树莓派OS。 以下是详细步骤: #### 步骤 1: 系统安装和环境准备(基于树莓派OS) 在树莓派上安装操作系统并更新软件包。树莓派OS 基于 Debian Linux,推荐使用 Raspberry Pi Imager 工具写入镜像到 SD 卡。然后,通过 SSH 本地终端登录树莓派进行后续操作。 - 更新系统: ```bash sudo apt update && sudo apt upgrade -y ``` - 安装必要依赖: ```bash sudo apt install git cmake libjpeg-dev build-essential -y # 为 MJPG-Streamer 编译准备环境[^2] ``` 这一步确保树莓派环境稳定,后续编译 MJPG-Streamer 时不会出错。 #### 步骤 2: 安装并配置视频流服务器(使用 MJPG-Streamer) 视频监控网页的核心是 MJPG-Streamer,这是一个轻量级的 HTTP 视频流服务器,能将树莓派摄像头的视频流转换为可通过网页访问的格式。参考引用[2],下载和编译 MJPG-Streamer。 - 克隆 MJPG-Streamer 仓库并编译: ```bash git clone https://github.com/jacksonliam/mjpg-streamer.git cd mjpg-streamer/mjpg-streamer-experimental make sudo make install # 安装编译后的文件 ``` - 启动视频流服务器(使用树莓派摄像头模块,如 USB CSI 摄像头): ```bash export LD_LIBRARY_PATH=. ./mjpg_streamer -i "input_uvc.so -d /dev/video0" -o "output_http.so -p 8080 -w ./www" # 指定端口8080,视频流通过 HTTP 提供[^2] ``` - 解释: - `-d /dev/video0`:摄像头设备路径,如果使用 CSI 摄像头,可能需要改为 `-r 640x480 -f 10` 设置分辨率和帧率。 - `-p 8080`:视频流网页的本地端口,可通过浏览器访问 `http://树莓派IP:8080` 测试是否正常工作(e.g., `http://192.168.1.100:8080`)。 - 如果需要静态页面,可以修改 `./www` 目录下的文件来自定义网页界面。 如果一切正常,你应该看到一个包含视频流的网页。 #### 步骤 3: 安装和注册 cpolar 进行内网穿透 cpolar 是一个免费的内网穿透工具,它会创建一个安全隧道,将树莓派本地端口映射到公网地址。引用[2] 提到下载和注册 cpolar[^2],引用[3] 强调其简单性[^3]。 - 下载并安装 cpolar 客户端: ```bash wget https://www.cpolar.com/static/downloads/cpolar-stable-linux-arm.zip unzip cpolar-stable-linux-arm.zip sudo chmod +x cpolar # 给予执行权限 ``` - 注册并启动 cpolar: ```bash ./cpolar authtoken YourTokenID # 从 cpolar 官网免费注册获取 Token(https://www.cpolar.com)[^2][^3] ./cpolar http 8080 -log stdout # 映射本地8080端口到公网,日志输出到控制台 ``` - 解释: - `YourTokenID`:替换为你在 cpolar 网站创建账户后获得的 Token。 - `http 8080`:指定隧道类型和本地端口,应与 MJPG-Streamer 的端口一致。 - 启动后,cpolar 会生成一个公网 URL(如 `http://xxx.cpolar.top`),用于访问树莓派的网页。 #### 步骤 4: 完成内网穿透并实现外网访问 cpolar 启动后,它会自动处理 NAT 穿透,将本地视频流网页暴露到公网。引用[3] 提到通过 cpolar 建立隧道后可直接访问[^3]。 - 在启动 cpolar 后,控制台将显示类似输出: ``` Forwarding http://xxx.cpolar.top -> http://localhost:8080 ``` 使用这个公网 URL(如 `http://xxx.cpolar.top`)在任何浏览器访问,即可看到树莓派的视频监控网页。 - 增强稳定性:可设置 cpolar 为后台服务,避免树莓派重启中断: ```bash sudo ./cpolar service install -config /path/to/config.yaml # 创建守护进程,config.yaml 定义隧道[^2] ``` 这样视频流会持续运行,您可通过 cpolar 控制面板(官网)管理隧道。 #### 注意事项 - **安全考虑**:cpolar 免费版提供基本 HTTP 隧道,但视频监控可能涉及隐私,建议在 cpolar 中启用身份验证结合 HTTPS。MJPG-Streamer 也可以配置密码(添加 `-c user:password` 参数)。 - **常见问题解决**: - 摄像头未检测到:运行 `ls /dev/video*` 检查设备,确保摄像头驱动已装。 - cpolar 连接失败:检查防火墙设置,允许 8080 端口(如 `sudo ufw allow 8080`)。 - 性能优化:如果视频卡顿,降低 MJPG-Streamer 分辨率(e.g., `-r 320x240`)。 根据引用,整个方案基于标准开源工具,安装简单,无需复杂配置[^2][^3]。完成后,您将拥有一个可公开访问的视频监控系统。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值