第五章说过,GPS 信号抵达地面时已经微弱到「不如几十公里外一个灯泡」。而一堵钢筋混凝土墙对无线电的削弱是致命的——所以走进商场、写字楼、地铁站,卫星基本就失联了。可你打开地图,蓝点不但活着,还常常准得能分清你在几号中庭。
室内没有卫星,手机靠的是一群意想不到的路标:你周围那些 Wi-Fi 路由器。
每个路由器都是一座灯塔
每台 Wi-Fi 路由器都有一张全球唯一的「身份证号」,叫 MAC 地址——出厂时烧进芯片的一串编号,比如 3c:22:fb:…。路由器为了让手机能发现自己,会不间断地广播这个号码,就像一个灯塔不停地喊「我是 3c22fb 号灯塔」。你家路由器、邻居家的、星巴克里的,全都在喊。
关键问题是:这些「灯塔」的位置是谁标出来的?没有人挨家挨户登记过。答案是众包——这个数据库是全世界的智能手机用户用腿走出来的。
过程是这样的:当你的手机开着 GPS 走在街上,它一边知道自己的精确位置(卫星给的),一边听得见周围 Wi-Fi 灯塔的编号和音量。它顺手把「我在坐标 X,听见灯塔 A 声音很大、灯塔 B 声音一般」汇报给苹果或谷歌的服务器。几亿台手机天天这么干,服务器慢慢就拼出了一张全球地图:每个 Wi-Fi 灯塔的编号,对应它在地球上的位置。
大白话:这就好比全城的人都在给市政厅写信:「我在南京路 100 号门口,听见 3c22fb 号钟楼的钟声很响。」信收得多了,市政厅不用出门,就知道那座钟楼大概在南京路 100 号附近。你的手机既是这张地图的绘制者,也是使用者。
查表定位:连三角测量都省了
有了这张「灯塔位置表」,室内定位简单到近乎偷懒:你的手机扫一圈周围能听见的 Wi-Fi 编号和各自音量,发给服务器;服务器查表——「能听见 A 很响、B 中等、C 微弱的地方,全世界最可能是商场三层东侧」——回你一个坐标。全程没有测时间、没有解方程,就是一次数据库查询,外加第二章讲过的信号强度三角化来微调。
这套机制准得惊人,室内常常十米以内,因为城市里 Wi-Fi 灯塔密到几步一座。它也不需要你连上任何 Wi-Fi——光「听见」灯塔喊话就够了。你现在明白为什么关掉 Wi-Fi 时,有些 App 会弹窗哀求你打开:它不是想省你的流量,它是瞎了一半。
当然,这套系统有个可爱的软肋:灯塔会搬家。有人搬家把路由器从北京带到上海,数据库里那座灯塔瞬间「瞬移」,附近查表的手机会莫名其妙地认为自己在另一个城市。这类事故真实发生过,直到服务器通过大量汇报把灯塔的新位置重新学回来。
蓝牙:把灯塔做小,做进货架
Wi-Fi 灯塔够用到「你在商场哪个区域」,但商场想要的是「你站在哪个货架前」。尺度再缩一档,轮到蓝牙上场。
商场和机场可以在天花板、货架上贴满一种叫 beacon(信标)的小东西——纽扣电池供电、几块钱一个、一年不换电池的迷你灯塔,功能单一到只会反复喊自己的编号。因为蓝牙信号传不远(设计上就是几米到几十米),「听得见某个 beacon」本身就是一条强线索:你就站在它附近。密度铺够了,精度能到一两米——够机场告诉你「登机口变更,请左转 50 米」。
拼起来看
到这里,手机手里的线索已经有三套:天上的卫星(室外米级)、Wi-Fi/蓝牙灯塔(室内十米到米级)、地面的基站(永远在线的兜底)。但它们有一个共同的命门:全都依赖「外面有人跟我说话」。一旦进隧道、下地库、飞到海上,所有声音都断了。
这时候手机只剩最后一条退路——一条不需要任何外界信号、纯靠自己的退路。它藏在你手机里几样比指甲盖还小的传感器里,原理古老到水手们几百年前就在用。下一章讲这个:闭着眼睛走直线的艺术。