×

Loading...
Ad by
  • 予人玫瑰,手有余香:加拿大新天地工作移民诚聘求职顾问&行业导师!
Ad by
  • 予人玫瑰,手有余香:加拿大新天地工作移民诚聘求职顾问&行业导师!

这里有人问了类似的问题。基本上就是:device 连到 server 上,保持"永久" connection -- 如果 IP 变了,重新建立 connection。另外:

网上还看到某些产品 (MyQ)需要某些 Inbound and outbound /TCP port open。网址见下。
http://support.chamberlain.com/articles/How_To/Recommended-router-settings-for-the-MyQ-Wi-Fi-products-1484145723404

The device connects to a remote server, and leaves a connection up all the time. If the IP changes, or the router between resets, the device opens the connection again. The remote control app connects to this same central server and controls the device remotely.

不知道是否清楚了。
Report

Replies, comments and Discussions:

  • 枫下家园 / 电脑电信 / 智能设备如何从手机上连接的原理? +1
    现在家里越来越多智能设备,很多可以直接用手机远程控制,我们都知道路由器有单向防火墙,不允许外部发起连接。那么手机是如何连上智能设备的呢?
    • 不连。
      • 不连如何控制智能设备?
        • You don’t
          • 不连还是不能控制?你说的话把我搞糊涂了。
            • Your router has firewall blocking traffic coming in. Then how do you access your devices?
              • 这就是我的问题,你为什么反问我?我的手机上的应用确实能控制家里的智能设备,我不得其解,所以问这个问题。 +1
                • Your router has firewall blocking traffic coming in. Then you don’t access your devices.
                • Use NAT on rooter set port forwarding then router uses a static IP
                  • 我没有做任何特殊设置,手机应用就能够访问家里的智能设备,怎么解释? +2
                    • There are holes in the firewall.
                    • 每个手机应用都可以这样做,你的意思是每个路由器都有漏洞? +1
                      • 你直接连 router 也好,通过智能设备的网站,然后再控制你的智能设备也好,走不走 VPN,都要有双向通信才行。防火墙要是没洞,大概你直接间接都接触不到。我猜是在设置智能设备的时候,是智能设备在防火墙开洞的时候。
                        • 你这个假设不成立:智能设备没有路由器管理密码能够改动路由器设置?每个路由器的设置方式不一样,这种可能性很小。我更相信智能设备用了代理服务器,自己主动连代理服务器。但问题是视频也用代理?代理服务器能受的了吗? +1
                          • 如果是我,我会猜是在我把这个智能设备加到网络里时候,一次性或者打开某个端口(或者让我直接进入,或者是让第三方进入)。但我建议你还是找厂家吧。
                            • 这个假设应该很小,因为那样需要路由器的管理密码,我从来没有见到哪个智能设备需要路由器的管理密码,而且每个路由器打开端口的方式不一样。 +1
                    • 什么智能设备?
                      • 着啊,我怎么就没想起问呢。
                        • 比如说智能开关,可以从外面打开或关闭家里的电源开关 +1
                        • 又如安保摄像机,可以从手机上看到家里视频
                        • 还有智能车库门,可以从手机上看到车库门的状态,远程打开或关闭
                          • 不清楚具体是那种设备,但是要么是 pull - 设备定期去 server 看有没有新指令 (会有延迟), 要么是 push --- 一般来说,会需要某些 TCP/UDP/HTTP 端口打开 (基本上在网上可以查到什么设备需要打开什么端口)...
                            • 我认为在设置首次的时候,这个端口就被打开(firewall exceptions)了。但是楼主并没有留意到这个打开,或者软件没有显示。貌似楼主不认为端口被打开了,但又不知道通信怎么完成的。要么是到中转站,要么是智能产品别有蹊跷,只能问厂家了。
                              • 设置智能设备一般不会需要你手工打开那些端口。 +1
                                • 我所谓的打开,是软件 run 着,就说我们得打开通道,你同意就 Yes 继续(如果同意,自然软件就自己跑去打开了),不同意就回去退货。
                            • 我感觉你理解错误,当一个连接是由内部设备建立的时候,防火墙不会阻挡,但问题是智能设备刚开始的时候不知道手机app的地址。而且如果手机上也有防火墙的话麻烦更大了。 +1
                              • (远程情况下)智能设备和手机不会直接通讯,都是通过 server +1
                                • 这里有人问了类似的问题。基本上就是:device 连到 server 上,保持"永久" connection -- 如果 IP 变了,重新建立 connection。另外: +1
                                  网上还看到某些产品 (MyQ)需要某些 Inbound and outbound /TCP port open。网址见下。
                                  http://support.chamberlain.com/articles/How_To/Recommended-router-settings-for-the-MyQ-Wi-Fi-products-1484145723404

                                  The device connects to a remote server, and leaves a connection up all the time. If the IP changes, or the router between resets, the device opens the connection again. The remote control app connects to this same central server and controls the device remotely.

                                  不知道是否清楚了。
    • 你连一次就知道了, 这问题就不是问题。
      • 不是问题,但理论上如何实现?通过代理服务器?谁的代理服务器,视频也代理吗? +1
    • 我的理解是两个办法 1-代理 2-路由上port forward +1
      • 1.代理也得路由器上开端口指到代理才行吧?
        • 家里的智能设备是outgoing 出去外面的代理服务器,路由器为什么还要开端口?
          • 远程控制命令怎么进来呢?
            • NAT 进来, like your access to any Internet servers +1
            • 新邮件 notification 怎么进来的?
              • the app polls the server in the internet every x-minutes +1
              • mailman 放信箱,我的客户端软件定期溜达,没有拉倒,有就取的啊。
                • 对,这是手机 background data 的消耗
                  • 就是手机和智能设备在不停的 looping?然后在中转站完成信息的交换?
                • 手机发命令,然后放个中转站,然后智能设备到中转站去货,回来再执行命令?快赶上水牛城的货仓店了。
                  • 哈哈,这个解释好,non-technical 都能懂
                    • LOL。non-technical 的解释,non-technical 能听不懂么。
                  • 我想个这个问题,如果是一些简单的命令或状态,通用代理能做到,但视频呢,通用代理不愿意转发如此规模的大数据,所以可能有厂商自己的专门视频代理,那么厂商倒闭的时候你的智能设备不就完蛋了?
                    • 是的,厂商倒闭时就没有有远程功能了
                    • 只需要代理establish session, once in session, videos can be streamed in via NAT
                      • 楼主的问题有两个小部分:1 是实时观看;2 是存储。他的问题是怎么转发存储的这部分数据,最起码要从自家的智能设备上传到服务器吧。
                        • 设备和家中的电脑之间是没有防火墙的,可以存储在里面
                          • 楼主原来的问题是 -- “手机是如何连上智能设备的呢?”。
                            • 在家里时可以是 bluetooth 或 WAN。远程遥控见上。#11290443
                      • 代理如何建立sesson?NAT是什么?
                        • session是根据TCP/IP 协议(OSI model layer 5)建立的。NAT(network address translation) 是家里路由的工作原里。
                          • 还是不太明白,如果NAT是指代理服务器,连接建立之后还要转发吗?所有的数据都需要转发吗?
                            • 连接建立之后,stream 数据就不用经过服务器了,因为手机已经知道智能设备的在路由的 port number 了
                            • NAT 不是指代理服务器, PLEASE Google what is NAT
                        • 这些都是信息技术的基础,网上有大量资讯,放狗就知道了
                  • 有些通知速度非常快,快到一秒钟通知就来了,难道这些手机应用查询loop这么快?高度怀疑。
                    • 一般Email 是stateless application, 通知要靠poll。”一秒钟通知就来了“ 是stateful app, the 2 endpoints are in session continuously
                      • 我知道email的原理,好歹我还配置smtp,有个消息中转站(mail server),但这些apps根本不配置任何东西。
                        • 这些apps出去访问它hard coded 的服务器是不用告诉你的
                • lol... ok... how about Push Notification?
                  • wiki 是这样说的 -- For remote notification it is usually handled by remote server. Under this scenario the client application needs to be registered on the server with a unique key e.g.: UUID,
                    and the server fires the message against the unique key to deliver the message to the client application via client/server agreed protocol such as HTTP, and then the client displays the message received.
                    • 就是说这些智能设备都有个 UUID。在开始设置的时候把 UUID 告诉 UUID 服务器。这和 static IP + static port 不是换汤不换药么。
                      • lol 我只是举个例子。拿手机来说,不是一个 ‘uuid',是每个应用 比如 facebook app (加上每个 login 一个),这样 server 才知道该把 notification 发到哪里...
                        • 颇有白忙的赶脚。不过倒是交流学习爽了一下。
                        • 每个应用有自己的port
    • 不管是手机终端或者PC终端,一般远程访问自家smart device都需要个IP Bridge with static ip address。我们以前开发smart thermo就是这样做的。不过现在都是IoT,通过cloud server, smart device registration后可以实现send cmd
      • 我猜测大概代理服务器告知双方Ip地址和端口,然后手机应用启动一个server在一个固定的端口,智能设备主动发起连接连到手机应用里,这样不会被防火墙挡住,这个理论有一个很重要的假设:手机上没有防火墙
        • 差不多了
        • 不是的--- 智能设备不会访问手机 / 一般手机也不会直接(远程)访问智能设备。楼上说的新型 IoT 要在 cloud 注册,形成一个”虚拟设备“,手机或其他 app 访问这个”虚拟设备“ -- 这样哪怕设备不随时在线也可以了...
        • 你应该抛弃防火墙概念了。现在IoT,用cloud或者aws做server,一切后台都是server完成。smart device登录server,手机app也是要登录server才能完成一切operation。smart device一般现在都有embedded RTOS,和远程数据interactive还是很容易的。
          • 我真正电脑上的web server在路由器之后也没有办法在外面访问,除非在路由器上专门做一些设置,你的RTOS难道更牛?
            • 简单来说,是 device 访问外面的 server,所以(一般)不需要特殊的设置 --- 和你架设 web site 允许外面访问进来是不一样的。
            • 不是牛,现在client端都很简单,一切都在server端。你想想你的voip adaptor也是要在server注册的。client端不需要防火墙,只要能上网
        • 以后cloud computing很重要。就是cloud server/client模式,一切终端都不做大量运算,都发回cloud server由server做一切计算,然后在发回终端。
          • lol depends... 别的不说,自动驾驶汽车就不行...
            • 你还真别说,我去年面试了一家电动汽车公司,他们就有一部分数据传回cloud server进行运算然后再发回来。因为车载CPU耗电也很大,太多计算也不行。他们用的是电信carrier的信道传输数据。
              • 实时控制部分肯定不能让云去计算 ---- 因为不能保证一定有 connection (比如隧道/山区)...
                • 那当然不行啦,所以本地和server计算都有。因为有些数据是已经training好的data sets,可以在本地做。