智能家居设备是怎么连上家庭 Wi-Fi 的?

6 天前
 bukekangli
现在好多智能家居设备,下载厂商 app ,然后扫码就可以连上了,但是这些 app 怎么把 Wi-Fi 密码传给智能设备的呢
874 次点击
所在节点    智能家电
6 条回复
fuzzsh
6 天前
蓝牙
loading
6 天前
APP 能获得你手机正在连接的 wifi 密码,或者那个 app 要求你输入的。
你手机要先连到那个设备默认开发出的一个 AP wifi ,你手机已经和智能家居设备建立 wifi 了。
loading
6 天前
高级点的有 NFC ,和蓝牙,也能广播给那个设备,一般就是你手机扫描设备上的二维码,花样很多。还有 wifi 摄像头扫描 app 生成的一个二维码,相关配置信息就在那个二维码上。
jiuhuicinv
6 天前
蓝牙或热点加配套 APP 吧。毕竟如果家居设备嵌入 4g 物联网卡用来接收配置就没必要连 WiFi 了,不过也是有的
dawnvivid
6 天前
来 V 站这么久了第一次遇到了专业对口的问题(曾经干过两三年的消费物联 APP 开发),让我来讲一讲!

首先,授人以渔:“把 WiFi SSID 和密码告诉智能家居设备,让它能够自行连上家庭 WiFi”,这个过程叫做“配网”

常见的配网方式,必要条件与优缺点:

1. SoftAP

楼上已经有朋友说到过

原理:
1 )设备在未配网的状态下,自身会开启一个 WiFi 热点
2 )然后只需手机连接设备开启的热点(一般通过手机 APP 自动,或者引导用户进行),这样手机就和设备建立起了点对点的无线连接(此时设备还不能上网)
3 )再然后,手机 APP 通过特定的通讯协议,把用户的家庭 WiFi SSID 和密码通过设备开启的 WiFi 热点发送给设备。

优点:必要条件最少,只需手机能连 WiFi
缺点:如果手机在这之前连接的是家庭 WiFi ,那么手机连接设备 WiFi 进行 SoftAP 配网期间,手机会是断网状态(如果手机也没有打开 4G 开关的话),容易对一些小白用户造成一些困扰,同时不便于智能家居 APP 在此时做一些必要的服务器 API 通讯

2. BLE Combo

楼上也已经有朋友说到过

原理:
1 )设备在未配网的状态下,自身会进行 BLE (低功耗蓝牙)广播,使得手机可以发现并通过 BLE (低功耗蓝牙)连接到设备
2 )手机通过 BLE 连接到设备后,通过 BLE 向设备发送家庭 WiFi SSID 和密码信息

优点:规避了 SoftAP 需要手机切换连接不同 WiFi 的缺点,而且会比 SoftAP 综合成功率更高一些
缺点:需要设备的无线通讯模组支持 BLE ,这可能会增加成本(如果设备的核心功能只需要 WiFi 而并不需要 BLE 的话)


还有其他的一些比较少见的配网方式:

3. SmartConfig

原理:
1 )设备在未配网的状态下,无线通讯模组开启混杂模式,监听 WiFi 信号中传输的所有信息,从这些信息(的未加密部分特征,例如报文长度)找到以特定规律编码的信息(有点类似使用手电筒通过摩斯密码打出 SOS 信号?),从中提取出家庭 WiFi SSID 和密码信息
2 )对应地,需要手机 APP 按照同样的编码方式将家庭 WiFi SSID 和密码信息发送(或者应该说是广播)出来

优点:手机无需进行任何额外的连接操作,只需在现有连接状态下进行数据发送操作
缺点:花活,成功率低

4. 反向扫码配网

前提条件:设备安装有摄像头类的硬件,例如监控摄像头
原理:
1 )手机 APP 要求用户提供 SSID 和密码后,将其按特定格式编码为文本,然后用二维码展示到手机屏幕上
2 )设备通过摄像头扫描二维码,读取其中的 SSID 和密码信息

5. 声波配网

前提条件:设备安装有麦克风
原理:
1 )手机 APP 要求用户提供 SSID 和密码后,将其按特定格式编码为音频,然后通过手机扬声器播放出来
2 )设备通过麦克风收听这段编码的音频,从中解码出其中的 SSID 和密码信息

6. 直接交互配网

前提条件:设备有触摸屏类的硬件
这个就不赘述了,如果物联设备本身就是带触摸屏 GUI 的,直接让用户在设备上输入 SSID 和密码就行 [doge]
z919126592
6 天前
遇到一些设备是通过手机播放声波给设备传输的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://yangjunhui.monster/t/1135647

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX