我已经为机器人竞赛构建了基于Raspberry Pi的机器人。
可以通过Raspberry Pi本身内部托管的http网页控制机器人。它使用websockets并从Raspberry Pi本身附带的raspicam实时传输流。客户端是当前locak网络上任何客户端上的任何Web浏览器。
由于当前的人类恶意软件状况,我想添加一个选项,以从Internet远程而不是通过Wi-Fi本地对机器人进行操作。为此,我购买了Huaway E3372h LTE加密狗。已配置了加密狗,并允许Raspberry访问Internet。
虽然我可以从机器人访问互联网,但我不知道如何从互联网访问Raspberry Pi内托管的Web服务器。
我想从Web浏览器访问机器人内部托管的网页,如下所示: http:// {机器人公共IP地址}:8080
我想这样做,不使用客户端内部的任何软件,而只是使用常规的Web浏览器。
查看其他答案,我认为这是一个NAT问题,但我不知道如何解决。我看到有人建议建立VPN,这可能需要中间人服务器或客户端内部的软件,而我想避免这种情况。另一个建议是与运营商联系以在其一侧配置NAT。
我测量了带宽:
是否存在另一种简单的解决方案,仅允许从互联网上看到端口8080上的http流量,还是值得考虑的另一种解决方案?
我仍在研究该主题,简单的解决方案不是问题。正在考虑的技术:
答案 0 :(得分:1)
这在很大程度上取决于您的无线提供商。正如您已经说过的,如果LTE设备从提供商那里获得了专用(RFC1918)地址,那么它们肯定是NAT-ing,您将无法访问Pi。在许多情况下,即使无线提供商将公共IP地址提供给其订户,他们也很可能仍在防火墙后面,防火墙在那里只是为了保护他们的订户而不是订户的无线接入网(RAN)。
简单的解决方法是与您的提供商联系,看看他们是否为您的服务提供了静态的公共IP地址附加组件。这通常需要为帐户支付少量费用,并且某些提供商不会过滤/隔离该IP,这意味着您可以按所需方式访问Pi。您需要先与您的提供商确认,然后再承担额外的服务费用。
您提到的其他选项(例如VPN)可以使用,但是需要更多的配置,而且操作不像您想要的那么简单。