第1个回答 2022-06-19
1、外设广播服务
2、手机搜索,并连接对应设备的蓝牙
3、手机输入wifi(可以读取手机当前连接的wifi ssid)和密码,或者设备搜索附近wifi,通过蓝牙发送wifi列表给手机,手机选择wifi,输入密码。
4、手机通过BLE发送wifi ssid和密码给设备
5、设备连接网络,配网成功
注意:通过蓝牙配网,注意蓝牙最大的MTU,一次发送的数据如果大于MTU,就会发送失败。可以分包处理。Ios10以上MTU为185,减去占用的3个字节,其实就是182。当然也得看设备蓝牙的MTU,传输时候,取两者最小的。
带有wifi模块的设备,wifi模块一般有两种模式:AP、Station
AP:就是设备可以开启热点,让手机或者电脑连接AP热点,进行通讯
1、设备开启热点
2、手机连接热点(iOS11以上的手机可以自动连接热点),连接上热点后,手机和设备就相当在同一局域网了
3、设备开始广播ip和端口
4、手机接收到设备广播的ip和端口,然后通过udp或者tcp与设备建立连接
5、通过udp或者tcp发送发送wifi ssid和密码给设备
6、接收到ssid和密码后,设备切换为Station模式,进行联网
设备也可以内嵌一个简易的WEB服务器,在WEB网页里提供了配网的交互接口。其他网络设备(例如手机、平板、电脑等)直接连接上设备的AP热点,在浏览器上打开该WEB网页,在WEB网页里配置该设备去连接网。
1、手机输入wifi ssid和密码后,通过声波算法,把wifi ssid和密码由字符串转化为声音信号(PCM),然后将声音信号通过音频模块播放出来。
2、设备端录下这一段声音,然后用同一套算法库将声音信息解析出来,还原成原来的ssid信息(字符串),最后用解析到的ssid信息用于连接WIFI。
使用这种发送配网的设备必现要有苹果MFI认证,过认证的设备配网过程:次过程不需要输入wifi ssid和密码,非常便捷