手机点一下开灯,背后走了几条链路?

0 阅读3分钟

你窝在沙发上,掏出手机点了一下「开灯」,卧室的灯亮了。

这个动作你每天要做好几次,熟练到根本不会去想它。如今智能灯几乎家家户户都有,但很少有人停下来问一句:这一下,到底发生了什么?

答案是:不止一件事。

一、"开灯"其实有三条路

同一个"点灯",真实产品里存在三条完全不同的链路。一台设备支持哪几条,取决于它的硬件设计:

① 蓝牙直连——手机和灯之间直接蓝牙通信,不经过网络。好处是断网也能用,站在灯旁边最可靠。

② 局域网转发——手机和灯连在同一个 WiFi 下,在家庭内网里直接对话。速度最快,延迟最低。

③ 云链路——你在外面,手机根本够不到家里的灯,只能让云中转。这是远程控制唯一的路,也是最有意思的一条。

前两条像"面对面对话",第三条像"打长途电话"。而只要你在户外,能用的就只有第三条。

Snipaste_2026-10-07_21-41-09.png

二、云链路:设备怎么"出门报到"

这里有个反直觉的点:云从来不会主动去找你的灯。

原因很简单。云服务器有公网 IP,像一间临街的店面,全世界都能找到它。而你家的灯躲在路由器后面,只有一个内网地址(192.168.x.x),像小区里的某一户——快递员站在小区门口喊破嗓子,也找不到。

既然云找不到灯,那就反过来:

灯一上电,主动向云发起一条连接,然后一直挂着不放。

这条"一直挂着的连接"就是关键。云有指令要下发,不用重新找路,顺着这条已经拉好的线推回来就行。线断了怎么办?靠定时心跳检测——发现断了,自动重连。

所以真相是:不是云找到了灯,是灯主动把线拉到了云上。

Snipaste_2026-10-07_21-43-07.png

三、云怎么认出"这是哪盏灯"

下一个问题:家里一堆设备都连上来,内网 IP 还老在变(路由器分配的地址,租期一到或重启就换),云怎么分清谁是谁?

关键在于分清两样东西:

IP 是地址,设备身份是身份证。 地址会变,身份不变。

就像快递认的是身份证号,不是你今天的门牌号——你今天住 3 楼、明天搬 5 楼,不影响你是你。

所以每台设备出厂时,就烧录了一个唯一的 ID 和一份凭证。设备连上云的第一件事是"报到":报出自己的 ID 和凭证,云验证通过后,就把手上的这条连接绑定到这个身份上。往后云认身份,不认 IP。

四、这根线上"说"的是什么话

灯和云之间的长连接搭好了,上面总得有个语言。IoT 领域用得最广的是 MQTT。

它的核心思路是:App 不直接对灯喊话,而是把指令"发布"到一个主题上,云再按主题找到订阅了它的设备,推过去。

就像订阅报纸——投稿的人不需要认识任何一个订户,报刊发行部按栏目投递就行。发指令的一方和收指令的一方,从头到尾不用认识彼此。

(MQTT 怎么扛住一百万台设备同时在线,是另一件有意思的事,我们下次单独聊。)

最后

下次你窝在沙发上点下那个按钮,可以想一下:

这一下背后,可能是一次蓝牙直连、一次局域网转发,或者一条从你家灯一路挂到云端的长连接,再加上一次按主题的寻址和推送。

一个你从没想过的动作,拆开来看,是一套挺漂亮的系统。