我一直在寻找这个问题的答案,但我找不到我要找的东西。我想,也许是因为我缺乏以有意义的方式提问的知识。
我一直在学习很多关于远程访问家庭设备的知识。我知道ISP会定期更改公共IP地址(动态IP地址)。我知道要解决这个问题,可以使用" no-ip"等服务。或者可以获得静态IP地址。
我不明白的是,一些最新的家庭自动化设备如何能够在不使用静态IP或类似" no-ip"等服务的情况下远程控制。例如,启用wifi的恒温器或照明系统。
如果设备有内置服务器或客户端,那么我假设设备可以连接到远程位置的外部服务器。然后,用户也可以登录该服务器并向设备发送命令。我不明白的是,例如,从手机发送到设备的命令如何到达家庭设备。据推测,服务器的非现场位置必须知道设备所在的公共IP地址,然后必须设置端口转发以允许访问设备。
我在这里缺少什么?是否可以在不使用端口转发,无IP或静态IP的情况下创建自制的无线wifi恒温器,网络摄像头或其他设备?
答案 0 :(得分:1)
嗯,有几种方法可以绕过NAT协议的入站连接约束。如:
设备上配置为VPN服务器的虚拟适配器,该服务器的入站端口已打开,可以传输数据。各种开源解决方案(如openVPN)被认为是这项服务的优秀示例,而不是像Raspberry Pi,Beagle Bone等物联网板。这些通常用作网关。此外,它们通过流行的IOT协议(如MQTT,COAP等)与微控制器进行通信。
另一种解决方案是创建端口转发隧道,因为路由器不会阻止出站连接。有各种隧道服务可供使用,例如localtunnel,ngrok等。您还可以使用具有公共IP的云服务器,例如AWS,DigitalOcean等。再次如上所述,它们可以在网关中实现。
答案 1 :(得分:0)
有些设备"电话回家"到服务器,以便它们和服务器之间打开端口,移动应用程序只需联系服务器。这与Web浏览器从Web服务器接收网页的方式相同。如果您有NAT路由器,路由器必须打开从内部设备到外部服务器的端口。这在UDP表中维护,其中包含UDP的过期计时器和TCP的会话监视。