假如你曾尝试将树莓派(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

如果你的隧道状态为“​​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来玩物联网项目了!

问题

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