使用带有 Gunicorn 的烧瓶访问网络外部的 IOT raspberry pi

Accessing IOT raspberry pi outside of network using flask with Gunicorn

我浏览了这个论坛,但找不到对我的情况有帮助的明确答案。

解释一下:我目前正在尝试开发一个主要由raspberry pi 3组成的物联网设备。因为这是一个创业的想法,我想降低成本并且没有服务器云。

我认为在 pi 上安装带有 gunicorn 的 flask 运行 是个好主意,桌面应用程序或移动应用程序可以访问它,知道 pi 的 IP 地址以及它是烧瓶端点。

我希望 pi 可以从任何其他网络(不仅仅是本地网络)访问。我在“0.0.0.0”和端口 5000 上有主机用于开发,但无法通过我的移动网络访问它。

我看过类似的帖子提到 ngrok(这可能会降低数据的安全性?)。我已经看到我可能必须将 pi 的端口转发到路由器。但我认为这可能涉及访问路由器设置。而且我不想为每个新客户都这样做。

我查看了论坛上的其他帖子,但似乎找不到我要找的东西。

请问本论坛我的理解是否正确?谁能帮我吗?

如有任何建议,我们将不胜感激!

如果我理解正确的话,

如果您想远程连接到您的 raspberry pi,您应该知道 raspberry pi 的 IP 地址并且需要端口转发。之后,您可以使用 public IP 地址连接到您的 raspberry pi。例如publicraspberrypiaddress:5555(你使用的是哪个端口)

Ngrok 为连接提供了一个随机子域,所以我不知道当设备不在您身边时您如何识别 ngrok url。

或者,您可以使用 cotunnel。它提供静态 url 并且该设备出现在 cotunnel 仪表板上,因此您也可以使用 ssh 终端远程管理您的 raspberry pi。

或者你应该开发你自己的类似隧道的服务,或者改变你的项目结构。我不知道还有什么办法。