现在的智能硬件产品,以WiFi品类居多,这些WiFi硬件没有人机交互界面,但设备要上网肯定要配置SSID等相关信息,于是WiFi快连应运而生。

事实上在2010年,wifi联盟就推出过简单配置的协议规范《WiFi Simple Configure》,通过输入PIN码或者按键来接入AP,这技术被称为WPS。可惜这个功能需要路由器支持,市面上一些路由器不支持,导致没有大规模推行。

目标:研究loT设备与手机的连接方式(连接流程和原理)
loT设备:智能插线板,智能音响等智能硬件
手机:运行在手机上的App

参考:腾讯的AirKiss、华为的HiLink

1、手机连接智能硬件的软ap,再配置
原理:手机连接上了智能硬件后,手机app和智能硬件就可以建立socket通信,然后两者之间就可以进行数据的交互,不管是设置还是传输都没有问题了。接着手机app配置智能硬件需要连接的路由的ssid和密码,然后智能硬件就可以自行连接路由了。再接着,手机连接路由,智能硬件也连接着路由,至此以后两者就可以交互了。如果加上互联网上的服务器的话。手机通过4g网络也可以控制智能硬件。

2、 神奇的smartconfig
原理:首先app端发送带有ssid和密码的经过加密的udp广播包。其次wifi模块拥有monitor模式,也就是所谓的监听模式,可以抓取空中的包,当然,wifi必须扫描出当前的可以连接的所有路由处于哪个信道,并对这些信道分别监听,然后收到了经过加密的app端发送的包后,解密出来就是ssid和密码,接着可以通过wpa_supplicant进程来进行连接路由。

3、声波配置
原理:手机放出经过编码加密的声音,智能硬件通过麦克风录音,解码解密,然后配置成功。接着就和上述基本类

一、什么是WiFi快连

那什么是快连呢?如下图中,手机(设备B)已经接入了AP,而设备A是一个信息孤岛。手机将AP的信息直接发送给设备A,设备A就可以接入AP了。

我们可以这样认为,WiFi快连就是接入AP的手机快速配置设备,使其接入AP的方式。

示例1-小蚁摄像头

下图是小蚁摄像头的APP,在这个界面已自动获取了SSID,用户只要输入密码即可进行快连。

示例2-小米插座

下图是小米插座的介绍界面,这里使用的也是WiFi快连技术,配置简单。

示例3-BroadLink插座

和小米闹掰的BroadLink,他们的插座也是一样的介绍。

二、WiFi快连技术的横向了解

事实上这些硬件厂商的快连技术都是依托上游的芯片方案商,我这里把最近接触的一些厂商给列出来。他们的快连技术原理上都类似,但各家都分别给这项技术取了名字。

TI作为最牛逼的厂商,是最早开始攻克这项技术的,他们称之为SmartConfig,这也是目前最多的叫法。

这里重点提一下微信,微信的口号是连接一切,作为物联网大海中的一艘航空母舰,自然也想在WiFi快连这块实现大一统。我想京东、苹果应该都有出了相关的标准方案,但我还没做过接入,这里就先不说。AirKiss的相关资料都列在网站上:http://iot.weixin.qq.com/ 。可以看到他已经与主流的模块都做了对接,使用对应芯片方案的硬件都可以通过微信实现快连。

三、WiFi快连技术的纵向了解-实现原理

到了最重头的部分,用通俗易懂的方式讲解理论知识,一直是本尊的强项。

实现原理是这样:手机通过UDP广播,将AP的相关信息组帧发出。而WiFi模块一直处于UDP监听状态。获取到AP信息之后,WiFi模块便可以接入AP了。

这里有一个难点是,如果WLAN都是不加密的话,那UDP直接把相关信息发出来就好,但可惜路由器AP的加密方式是不固定的,模块没法知道UDP数据是何种加密方式,因此没办法解析出DATA信息。

如下是802.2的封装格式。

所以,DATA不行,聪明的人类打算从其他字段下手,大部分字段手机端无法获得权限,最适合的只剩下长度字段。

这里举个例子,比如要发送“1,2,3”,即[0x31, 0x32, 0x33]。那么应该发送如下数据:

四、WiFi快连的衍生

BroadLink早期过度宣传,将WiFi快连技术申请专利,目前还在实审中,以我看来BroadLink采用的是CC3000方案,这个技术是TI的,所以我觉得它应该不会通过。

现在还能查到他们的专利:

当然,国内还有许多的厂家将这项技术进行了专利申请,还真是一种好玩的现象。

loT设备与手机的连接方式,WiFi快连、SmartConfig、SmartConnect相关推荐

  1. 笔记本wife DNS服务器未响应,为什么手机已经连接上wifi还是上不了网?

    为什么手机已经连接上wifi还是上不了网?有不少朋友都遇到过这个的问题,即手机能够搜索到wifi信号,而且也能够连接到 为什么手机已经连接上wifi还是上不了网?有不少朋友都遇到过这个的问题,即手机能 ...

  2. Android设备,查看已连接的Wifi密码

    Android设备,查看已连接的Wifi密码

  3. Ubuntu 创建android手机能够连接的Wifi热点

    已在Ubuntu15.04上验证成功: 1.插上网线,开启有线网络. 2.安装hostapd,Ctrl+Alt+T打开终端输入命令行:sudo apt-get install hostapd 3.关闭 ...

  4. uni-app获取手机当前连接的WIFI名称

    最近做项目有一个需求,需要通过设备自带的WIFI链接,才能跳转到一个网站去进行设置,类似于设置忘记自家WIFI密码,重置WIFI一样,需要连接到WiFi,才能访问网站. 需求: 获取连接的WiFi名称 ...

  5. 如何获取手机中连接的wifi名称?

    最近还是比较忙的,有时间了就赶紧来给大家分享点东西,今天的代码是如何获取手机中链接的WIFi名称. 已经用demo测试过了,所以就直接上代码喽. #import "ViewControlle ...

  6. Android获取手机当前连接的WiFi信息(SSID,IP,连接状态)

    1.AndroidMainfest.xml文件中添加权限 <uses-permission android:name="android.permission.ACCESS_NETWOR ...

  7. 获取iPhone手机当前连接的WiFi名称

    直接上代码 #import <ifaddrs.h> #import <arpa/inet.h> #import <SystemConfiguration/CaptiveN ...

  8. iOS 获取手机当前连接的 WiFi 信息

  9. 华为手机 roomba_如何设置Wi-Fi连接的Roomba

    华为手机 roomba iRobot has a few different models of Roomba vacuums, but the Wi-Fi connected Roombas are ...

最新文章

  1. 在Salesforce中处理Email的发送
  2. Webclient UI上help center hyperlink的显示逻辑
  3. linux 用shell比较两个整数的大小
  4. Android中Bitmap,byte[],Drawable相互转化
  5. 你还精通MySQL,竟然连bin log、redo log都不知道!
  6. 因为分区表已变,使用再生龙恢复ubuntu系统后无法休眠的解决办法
  7. Windows下安装numpy
  8. 计算机公式上下左右,十五个常用函数公式,值得收藏
  9. 等效焦距和可视角度换算表
  10. Activiti结合Modeler 可视化操作界面
  11. 《人月神话》-第16章-没有银弹
  12. 电子印章有哪些特点和优势?
  13. 信息学奥赛一本通 1359:围成面积
  14. 在vue.js中实现a标签href tel的打电话功能
  15. 计算机软考软件设计师2019试题,软考2019下半年软件设计师上午真题.pdf
  16. 慧荣SMI_量产图文教程
  17. 二、点亮LED(GPIO控制)
  18. 机器学习项目搭建试验 where2go
  19. 2021年N1叉车司机考试及N1叉车司机报名考试
  20. Echarts --- 可视化练习(pie01 --- 南丁格尔玫瑰图)

热门文章

  1. 有没有柯尼卡打印机的过滤器
  2. 苹果电脑删除下载的更新文件_iOS14首发上手体验以及iOS14描述文件下载更新教程...
  3. java 截取数组的一段_java截取一段数组
  4. js html 处理json数据,js 解析JSON数据
  5. win10固态硬盘分区 整数_戴尔Vostro 5390重装win10系统,以及BIOS如何设置
  6. 性能测试总结---基础理论篇
  7. 三巽集团还是难以免俗地陷入了房企“增收不增利”的困境中
  8. 一小时内破解16位强密码
  9. python xlrd获取excel行数_python xlrd 模块(获取Excel表中数据)
  10. 小程序快速开发怎么做?