【问题标题】:Remote http access to raspberry pi via LTE dongle通过 LTE 加密狗远程 http 访问树莓派
【发布时间】:2020-03-24 10:18:27
【问题描述】:

我想做什么:

我已经构建了一个基于 Raspberry Pi 的机器人,我正在为机器人比赛而构建。

可以通过 Raspberry Pi 内部托管的 http 网页来控制机器人。它使用 websocket 并从连接在 Raspberry Pi 本身上的 raspicam 流式传输实时馈送。客户端是当前locak网络上任何客户端上的任何Web浏览器。

由于当前的人类恶意软件情况,我想添加从互联网远程驾驶机器人的选项,而不是通过 Wi-Fi 在本地驾驶。为此,我购买了华威 E3372h LTE 加密狗。加密狗已配置并允许 Raspberry 访问互联网。

问题:

虽然我可以从机器人访问互联网,但我不知道如何从互联网访问托管在 Raspberry Pi 中的网络服务器。

我想通过这样的网络浏览器访问机器人内部托管的网页: http://{机器人公网IP地址}:8080

我想这样做,在客户端中不使用任何软件,只使用普通的网络浏览器。

查看其他答案,我理解这是一个 NAT 问题,但我不明白如何解决它。我看到有人建议设置 VPN,这需要中间人服务器或客户端内部的软件,我想避免这种情况。另一个建议是联系运营商以在他们这边配置 NAT。

规格:

我测量了带宽:

  • 机器人 -> 客户端带宽:2.4Mb/s
  • 客户端 -> 机器人带宽:49.6 Kb/s
  • 数据使用量:0.87h/GB
  • 目标延迟:100ms 到 150ms

问题:

是否有其他简单的解决方案可以让 8080 端口上的 http 流量在互联网上可见,或者其他值得考虑的解决方案?

更新:

我仍在研究该主题,简单的解决方案不是问题。正在考虑的技术:

  • IoT SIM:静态 IP,但成本较高。大约 50 欧元/月/GB。
  • openVPN:看起来很有希望,需要一个静态服务器进行协商,我不清楚如何仅在浏览器中运行一个 javascript 来实现它的客户端。此外,延迟和性能未知,它可能无法处理遥控器。
  • TCP 打孔:此技术应允许在 NAT 后面通过使用固定点进行直接 TCP 通道进行协商。它用于点对点网络。

【问题讨论】:

    标签: raspberry-pi webserver remote-access lte


    【解决方案1】:

    这在很大程度上取决于您的无线提供商。正如您所说,如果 LTE 设备从提供商那里获得私有 (RFC1918) 地址,那么它们肯定是 NAT-ing,您将无法访问 Pi。在许多情况下,即使无线提供商向其订阅者提供了公共 IP 地址,他们也很可能仍在防火墙后面,防火墙只是为了保护他们的无线接入网络 (RAN),而不是他们的订阅者。

    简单的解决方法是与您的提供商交谈,看看他们是否为您的服务提供静态公共 IP 地址插件。这通常涉及对帐户收取少量费用,并且某些提供商不会过滤/防火墙该 IP,这意味着您可以按照您想要的方式访问您的 Pi。在支付额外服务费之前,您需要先与您的提供商核实。

    您提到的其他选项(例如 VPN)也可以使用,但需要更多配置,而且不像您希望的那么简单。

    【讨论】:

    • 感谢您的回答,我仍在研究该主题。除了您提到的技术之外,还有似乎很有前途的 TCP 打孔技术。
    • 我认为可以满足您需求的一个选项是 SSH 远程端口转发解决方案。如果您在家庭/办公室网络上正确配置 OpenSSH 守护程序并将其暴露在 Internet 上,您可以在您的 Pi 上编写一个脚本以自动连接 SSH,并通过远程端口转发将您的 HTTP 流量发送到您的 Pi。例如,您可以从 Pi 运行 ssh -R 8080:localhost:80 <Public IP of Home/Office>。您肯定希望使用 SSH 密钥身份验证来保护您的 SSH 服务器。 Tunneling Examples
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-31
    • 2020-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多