智能设备配网为什么要开定位权限?WiFi密码传给设备有四条路,配网失败先看走的哪条

给我姐家阳台的浇花器配网那回,App弹出来的第一句就是「请授予定位权限」,她当场问我:一个浇花的要定位干嘛,还查我家住址不成?我当时也答不上来,只知道不给权限,下一步按钮就是灰的。后来家里配的设备多了,扫地机连炸五次、灯泡开关掰了八回、四十台设备跟着装修师傅的热点集体失联,我把这些翻出来回头看才发现:配网失败每次卡的压根不是同一个环节,因为手机把WiFi密码传给设备,走的根本不是一条路。
先说清楚配网到底在配什么
摄像头、插座、门铃这些设备,没键盘没屏幕,你家WiFi的名字和密码这两串字,得想办法从手机搬进它的肚子里。搬完这一下,设备自己连路由器,后面就跟手机没直接关系了。所以配网的本质特别朴素:把SSID和密码这两个字符串塞给设备。
麻烦在于怎么塞。设备和手机之间此刻还没建立任何连接,密码得走一条临时通道过去。这条通道怎么搭,各家的办法不一样,归结起来就四条路。App里那些「快速连接」「一键配网」「热点配置」的按钮,名字五花八门,底下其实都是这四条路里的某一条。
四条传密码的路挨个说
第一条:设备自己发热点,手机连过去递。设备先变成一个临时热点,名字一般是「设备名-XXXX」这种。你手动把手机连上这个热点——注意,这一下手机就断自家网了——App把WiFi密码发过去,设备收到后热点一关,转头去连你家路由器。这条路最老,海康、萤石那批老摄像头走它的最多。好处是全程有来有回,错了设备能告诉你;坏处是手机连热点的几秒没网,有的手机一看「无法上网」就自作主张切回流量,一切流量,传话就断了。
第二条:手机对空气喊,设备偷听。这就是「一键配网」那路,App里最省事的按钮。你输完密码点开始,手机连发几十上百个小数据包,把WiFi名字和密码编进每个包的长短里。设备那头芯片开着混杂模式,光听不说话,把空中路过的包全数下来,靠包的长短节奏把密码拼出来。对,密码不写在包的内容里,藏在包的长度上——因为还没连上网的设备拿不到包的内容,只能数长短。这法子叫SmartConfig,ESP8266用的乐鑫版叫ESP-TOUCH,微信当年那个叫AirKiss。手机全程不断网,体验最好,但成功率看脸:包得一遍遍重复发,环境吵一点就听岔。而且它只认2.4G——手机要是黏在5G上,广播全发在5G频段,2.4G的芯片压根听不见。我家扫地机当年连炸五次,头号真凶就是这个(扫地机配网失败那篇写过全过程)。
第三条:先蓝牙牵手,再递密码。设备先发蓝牙广播,手机App搜到,你点一下连接,走蓝牙这条加密小道把密码递过去,设备拿到后自己去连WiFi。手机全程连着自家网不断网,错了能报错,成功率高到厂商敢标99%。我姐家阳台的窗帘电机和浇花器都走这条路,一次过(阳台三样设备那篇有记录)。代价是设备得多一颗蓝牙芯片,所以老设备没有这条路,这几年出的新款才普及。
第四条:摄像头看屏幕。带镜头的设备专属:App把WiFi名和密码编成二维码显示在手机屏幕上,你把屏幕怼到摄像头跟前,它扫一下就拿到了,连配对都省了。不用建立任何连接,是四条路里最直接的。带云台的摄像头App里那个「二维码配网」按钮就是它。
回到定位权限:系统规定,不是App想查户口
安卓从8.0起就把「读WiFi信息」划进了定位隐私:App要读当前连的WiFi名字、要扫周围WiFi列表,系统一律当成「这货在想办法知道你在哪」——因为靠WiFi名确实能反推位置。到了安卓9这规定收到最紧:不给定位权限,App连你家WiFi叫什么都拿不到,配网界面那格WiFi名直接空白。所以不是设备要查你住址,是系统规定它想干活就得先拿定位。
更坑的是第二道开关。权限给了,系统的定位总开关(下拉栏那个「位置信息」)没开,扫描结果照样返回空列表。这个坑我帮我妈配设备时踩过:权限明明早给过了,就是搜不到设备,捣鼓半天发现是她手机省电模式顺手把定位总开关关了。权限和总开关,两样都得开。另外系统还限制扫描频率,前台App两分钟最多扫四次,你反复点「刷新WiFi列表」没反应,不是App卡了,是系统把它的嘴捂住了。
顺带说一句,门锁、传感器那批走Zigbee的设备根本不参与这套流程,它们是跟网关配对,不连WiFi(Zigbee那篇写过)。蓝牙门锁也一样,压根没有「配网」这一说(门锁联网选型里对比过)。所以配网失败前先确认:你这设备到底是不是WiFi版的。
我家几次翻车,回头看卡的路完全不同
把站内写过的几次配网事故按路归了类,一看就明白为什么网上教程互相矛盾——因为卡点根本不一样。
| 翻车现场 | 走的哪条路 | 卡在哪 | 怎么解的 |
| 扫地机连炸五次 | 一键配网 | 手机黏在5G,广播发错频段 | 拆双频,手机钉在2.4G |
| 丈母娘家摄像头配不上 | 一键配网 | 手机总抢5G信号 | 临时把5G关了配完再开(关5G那篇) |
| 灯泡重置八回没反应 | 一键配网 | 开关次数数错,设备根本没进配网态 | 看清说明书暗号:快闪才算醒 |
| 四十台设备集体失联 | 各条路都有 | 师傅拿自己手机热点配的网 | 新路由照抄旧WiFi名救回(救四十台那篇) |
灯泡那次最冤。雷士的灯泡要开关八次进配网态,我第一晚数错一回,等于拿着手机对着一个没醒的设备喊话,喊一夜也没用(灯泡选购那篇里写过这段)。所以配网失败第一件事不是重启路由器,是确认设备进没进配网态——灯快闪、语音报「配网中」,各家暗号不一样,说明书翻到这页比什么都强。
怎么判断自家设备走的哪条路
不用查芯片手册,看App配网界面就能猜个八九不离十:让你「连接设备热点」的是第一条;只有一个密码输入框、点开始就转圈的,是第二条一键配网;先让你开蓝牙搜设备的,是第三条;让你把屏幕对着镜头的,是第四条。判断清楚路数,失败了对着下表查,方向不会跑偏。
| 路数 | 失败表现 | 先查什么 |
| 设备热点 | 连上热点后App卡住 | 手机有没有偷偷切流量;热点是不是连成邻居家的 |
| 一键配网 | 转圈半天报超时 | 手机在不在2.4G(双频拆开);密码有没有特殊字符;是不是挂在访客网络里广播被拦 |
| 蓝牙配网 | 搜不到设备 | 定位权限和总开关;蓝牙有没有被手机省电策略掐掉 |
| 扫码配网 | 二维码认不出 | 屏幕亮度拉满;二维码别缩放;距离一拳远别贴死 |
访客网络那条多说一句:访客网络和AP隔离对广播包的处理各家固件不一样,有的放行有的拦,一键配网怎么都失败又找不出原因时,先看看手机是不是挂在访客WiFi上,换回主网再试一遍。
配上网不等于完事,三件事收尾
配网成功的当晚,我固定干三件事。第一件,改设备自己的密码,尤其是摄像头——默认密码空着的摄像头就是敞着门(摄像头安全自查那篇里翻过车)。第二件,去路由器后台把新设备的名字改成能认的,比如「阳台浇花器」,不然后台里躺一排android-xxxx根本分不清谁是谁(状态页字段怎么看)。第三件,往台账里添一行:型号、位置、连的哪个WiFi名。这行字在换路由器那天能救命——师傅热点那四十台如果有台账,我一个电话十分钟就完事,不用挨个试。
顺序给一个:给权限、开总开关,确认设备进了配网态,判断走哪条路,失败按表对号,成了当晚改密码记台账。配网这事看着玄学,拆开就是四条路各查各的,比换路由器管用多了。
