Wi-Fi Direct 与 Wi-Fi ad-hoc 的区别

更新日期: 2022-12-15 阅读次数: 389 字数: 855 分类: 物联网

最近在调研基于局域网的语音对讲方案。看到 Android 官方文档提到了 Wi-Fi Direct,于是收集了一下相关的资料。

Wi-Fi Direct

Wi-Fi Direct (也被称为 WiFi peer-to-peer 或者 WiFi P2P) ,可以简单理解为对标蓝牙的技术规范,也是用于快速发现附近的设备,进行数据交互。但是传输距离上要优于蓝牙。本质上是 WiFi 产业链图谋完全取代蓝牙技术。

使用 Wi-Fi Direct 则无需连接到网络 (Network) 或热点 (hotspot),即可建立设备间的通信连接。

两台设备可以直接建立 TCP/IP 链接,而不需要 AP (介绍在文末)。其中一台设备起到了 AP 的作用,即群组所有者(Group Owner,简称 GO),另一台设备则称为 Group Client (GC)。Group Owner 与 Group Client 既可以一对一,也可以一对多(一个 GO 对多个 GC)。

Wi-Fi Direct 使用场景

例如,在 Android 手机上用抖音 APP 看卡塔尔世界杯的比赛直播,此时连接的是家里的 WiFi 路由器。

但同时,可以点击 APP 右上角的投屏,通过 WiFi Direct 直接投屏到客厅的小米电视上。Android 手机与电视直接的数据传输没有通过 WiFi 路由器,而是通过 Wifi Direct 实现。 而这个场景就没有见过用蓝牙实现的。

首批 Wi-Fi Direct Services 规范

类似于蓝牙 Service 规范

  • 文件传输:Wi-Fi Direct Send
  • 音频视频照片分享:Wi-Fi Direct play
  • 打印机:Wi-Fi Direct print
  • 屏幕分享(投屏):Wi-Fi Direct display (即 miracast,Android 4.2 开始内置支持;但苹果的 airplay direct 并不兼容此规范)

Android 系统中查询附近的 Wi-Fi Direct 服务

在设置中,搜索 direct,会看到" WLAN 直连" 的功能。点开,会看到一个扫描附近 Direct 设备的界面。 确实非常像附近蓝牙设备的功能。

Android 系统中查询附近的 Wi-Fi Direct 服务

在网上商城里搜索 wifi direct,会发现通常就是打印机支持。 上面的截图就是在公司办公室里扫描的附近 direct 服务的列表,确实是打印服务。

ad hoc

ad hoc 这两个词真是晦涩难懂。。。

简单来说,ad hoc 可以不依赖于 AP (例如无线路由器),就能建立两台及多台设备间的通信。使用场景:例如数据交互,多人游戏。

其 P2P 的特点类似于蓝牙的通信模式。

Wi-Fi Direct 与 Wi-Fi ad-hoc 的区别

  • Wi-Fi Direct 支持 WPA2 加密,而 Wi-Fi ad-hoc 只支持 WEP 加密。可以理解为 Direct 更安全。
  • Wi-Fi Direct 设备可以广播其提供的服务,便于其他设备发现可以对接的服务。类似于蓝牙服务(service)的概念。
  • 在确定哪个设备应该是网络的群组所有者(group owner,简称 GO)时,Wi-Fi 直连会检查各设备的电源管理、界面和服务功能,并使用该信息选择可最有效处理服务器职责的设备。
  • Android 并不支持 Wi-Fi ad-hoc (Android 4.1 之后开始支持 Wi-Fi Direct)

AP / WAP

AP,即 Access Point。也称为 wireless access point (WAP)。名字有点抽象,其功能是允许其他 wifi 设备能够接入到有线网络中。

AP 既可以是一个通过有线连接到路由器的独立设备,也可以是一个自带路由器的设备。

参考

  • https://developer.android.com/training/connect-devices-wirelessly/wifi-direct
  • https://www.zhihu.com/question/20770501
  • https://github.com/espressif/esp-idf/issues/6522
  • https://en.wikipedia.org/wiki/Wireless_access_point

爱评论不评论