我有一些小米/飞利浦的 WIFI 灯泡。它是使用小米之家应用程序控制的。当我与灯泡在同一个网络中时,或者当我在完全不同的地方,在不同的网络中时,我都可以控制它(打开/关闭)。
这怎么可能?
我知道在同一个 wifi 网络中时,我的手机可以直接与灯泡通话(虽然我不知道现实中是否会发生这种情况)。但是,当我在不同的网络中时,它是如何工作的?
我假设 Mi Home 实际上并没有直接与灯泡对话。我相信它与一些实际与灯泡通信的云服务器进行通信。但是,这样的服务器(在云中)如何与我本地(NATted)网络中的灯泡通信?我的路由器上没有为灯泡设置任何端口转发。
我认为可能的唯一方法是,灯泡是否通过按计划(每隔几秒?)调用一些 API 来检查云中是否有任何命令 - 某种形式的 HTTP 轮询。我不喜欢这个想法,因为这意味着如果我有几个这样的灯泡,我的网络会非常“拥挤”。
那么,我如何能够从另一个网络控制我的灯泡?