zoukankan      html  css  js  c++  java
  • 讲一讲WiFi快连、SmartConfig、SmartConnect

    最近要给公司同事们培训WiFi快连技术,整理了相关资料,也分享在博客这,献给有缘人。

    前言

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

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

    快连不需要路由器支持,且更加简化,所以获得了迅速的发展。

    转载请注明:http://blog.csdn.net/sadshen/article/details/47049129

    一、什么是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不行,聪明的人类打算从其他字段下手,大部分字段手机端无法获得权限,最适合的只剩下长度字段。

     

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

     

    四、WiFi快连的衍生

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

     

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

     

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

     

  • 相关阅读:
    第17章 标准库特殊设施
    第16章 模板与泛型编程
    String、StringBuffer、StringBuilder的区别
    Mycat分库分表 读写分离 主从切换
    nginx的配置与使用
    kafka的使用
    zookeeper的使用
    mysql数据库优化
    mysql数据库事务详细剖析
    new Thread的弊端及Java四种线程池的使用
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/7543154.html
Copyright © 2011-2022 走看看