zoukankan      html  css  js  c++  java
  • Wi-Fi Direct技术

    http://www.zhihu.com/question/20770501


    著作权归作者所有。
    商业转载请联系作者获得授权,非商业转载请注明出处。
    作者:江小鱼
    链接:http://www.zhihu.com/question/20770501/answer/16291778
    来源:知乎

    Wi-Fi Direct技术是Wi-Fi产业链向蓝牙技术发起的挑战,它试图完全取代蓝牙

    第一,Wi-Fi Direct是一种点对点连接技术,它可以在两台station之间直接建立tcp/ip链接,并不需要AP的参与;其中一台station会起到传统意义上的AP的作用,称为Group Owner(GO),另外一台station则称为Group Client(GC),像连接AP一样连接到GO。GO和GC不仅可以是一对一,也可以是一对多;比如,一台GO可以同时连接着多台GC
    当前,已经有数百种设备获得了Wi-Fi Direct认证
    Product Finder
    第二,Wi-Fi Direct不是ad-hoc,它应该是ad-hoc的延续
    第三,Wi-Fi Direct和传统wifi技术并不是互斥的:GO可以可以像AP一样为几台GC提供服务;它同时可以像传统的station一样,连接到某个AP;它同时自己也可以是一个AP。。。。详见下图

    f9823658efa970de16a418e94c322e05_b.jpg想象下这种使用场景:手机连接到某AP上网,运行youtube客户端看视频;手机同时通过Wi-Fi Direct连接到电视,将视频通过Wi-Fi Direct Display(等会儿介绍这个技术)投射到大银幕上 f9823658efa970de16a418e94c322e05_b.jpg想象下这种使用场景:手机连接到某AP上网,运行youtube客户端看视频;手机同时通过Wi-Fi Direct连接到电视,将视频通过Wi-Fi Direct Display(等会儿介绍这个技术)投射到大银幕上

    第四,Wi-Fi Direct是一种“纯软件“的技术,任何已存在的Wi-Fi硬件都可以通过软件升级获得Wi-Fi Direct的功能(取决于Wi-Fi硬件提供商的良心)。
    例如,Android自4.0之后添加了Wi-Fi Direct的功能,那些出厂时预装Android 2.2/2.3的机器,在获得官方4.0升级之后,很多都获得了Wi-Fi Direct的支持

    第五, 以下是吐槽时间
    大部分人第一次看到这个名词应该是在android OS中
    自android 4.0开始,google正式加入Wi-Fi Direct的支持,可是由于google一贯的beta本性,android 4.0的Wi-Fi Direct只有一个”开启/关闭“的开关。。。。。没有”搜索对端设备/建立连接“的UI,这让用户怎么用。。。。更好笑的是,其实android 4的代码里面已经有了Wi-Fi Direct的setting UI,被google注释掉了。。。。。。你为啥不连开关一起注释掉啊。。。。
    自android 4.1开始,Wi-Fi Direct总算有一个能用的UI了,UI入口见下图
    2f09e04f32119105ca6616ab1a9fb559_b.jpg2f09e04f32119105ca6616ab1a9fb559_b.jpg

    第六,我们可以看到,Wi-Fi Direct只是解决了两台设备怎么连起来的问题,没有第三方软件的支持,我们什么也做不了。当前,play store上已经有很多诸如”Wi-Fi Direct file transfer“,”Wi-Fi shooter“之类的app,其使用流程不外乎 1)调用系统settings UI建立Wi-Fi Direct连接,2)在app UI中选择文件传送,这些app的下载量都不大

    第六,感谢你有耐心读到这里。
    现在我们知道,Wi-Fi Direct的功能离蓝牙还差得远。想想蓝牙可以做什么?文件/名片共享,连接打印机,连接蓝牙耳机,连接鼠标键盘等等,而且基本上由OS自身支持这些go,无需安装第三方app,这些功能除了文件传输之外,Wi-Fi Direct都不具备。

    为了应对Wi-Fi Direct功能的匮乏,Wi-Fi产业联盟已经提出了Wi-Fi Direct Services的规范,首批推出四种功能
    1)Wi-Fi Direct Send,基于upnp的文件传输
    2)Wi-Fi Direct play,基于dlna的音频视频照片分享
    3)Wi-Fi Direct print,基于ipp的打印
    4)Wi-Fi Direct display, 基于wifi display的屏幕分享技术

    可以预见,这个Service的列表会越来越长,我认为蓝牙的每一种功能(profile)都会有对应的Wi-Fi Direct Service。
    另外,我觉得比较有意思的一种技术称为USB over wifi Wi-Fi Direct,它试图用Wi-Fi Direct连接替换掉实体USB线缆,而且基本上不需修改USB驱动程序,这样,任何通过USB即插即用的设备如鼠标键盘耳机音箱打印机等等,都可以基于Wi-Fi Direct连接使用了
    另:Wi-Fi Direct Services和USB over wifi Wi-Fi Direct目前只有规范,大家想实际用到可能还要等一两年咯

    update: 2015/03/23更新
    在写下这个答案两年以后,我刚刚看到win10 mobile已经支持Wi-Fi Direct Services的部分功能了,泪流满面啊

    第七,wifi display (miracast)是一种屏幕分享技术,在mirror模式下,可以将本地银幕投射到远端的大银幕上,打字累了,请自行google此技术或者查看WIFI DISPLAY_百度文库
    自android 4.2开始,wifi display (miracast)称为android的标配


    至于@黄新宇的疑问,由于iPhone不支持Wi-Fi Direct,你应该使用android设备建立无线热点,然后用iPhone连进去

    最后回答下提问者的问题
    "基于 Wi-Fi Direct(Wi-Fi P2P)的软件或应用的前景怎么样"
    1 Wi-Fi Direct未来会成为所有Wi-Fi设备的标配
    2 从第三方开发者的角度而言,由于Wi-Fi Direct Services的功能肯定会被集成到OS中,必须考虑到自己app比起系统自身的功能有无优势

    也许知友们有疑问,为啥iPhone不支持Wi-Fi Direct和Wi-Fi Display呢?
    1 当前的Wi-Fi Direct技术除了传文件之外用处不大,Apple可能认为此技术还不成熟
    2 Apple已经公布了airplay direct技术,可以在AP不参与的前提下将银幕共享到远端设备,看起来这个技术和Wi-Fi Display功能相同,它又要玩封闭花园了
    <script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
    阅读(70) | 评论(0) | 转发(0) |
    给主人留下些什么吧!~~
    评论热议
  • 相关阅读:
    linux基本命令
    Charles抓包
    html5基础知识
    java流程控制
    Harry Potter and the sorcerer's stone-01 the Boy Who Lived
    java基础知识
    Java程序运行机制
    java基础相关(历史,特性,环境变量)
    markdown基本语法
    Dos相关知识
  • 原文地址:https://www.cnblogs.com/ztguang/p/12649169.html
Copyright © 2011-2022 走看看