Wi-Fi与蓝牙对等连接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Wi-Fi与蓝牙对等连接相关的知识,希望对你有一定的参考价值。

我正在android中为一个教育项目开发一个p2p应用程序,我希望在其中形成附近学生组的android手机并在大学校园中交换传感器数据。

现在有一些注意事项:

  1. 设备将自动发现彼此,并在发现连接和交换数据时发现。
  2. 这个过程可能会持续很长时间,每天可能需要4-8个小时。 (定期感知数据和交换的过程)

现在可以使用蓝牙或WiFi形成p2p组(不是WiFi Direct,基于WiFi的简单UDP数据包,考虑到手机连接在校园WiFi上)。

在这种情况下,在可靠性,电话的功率使用,可扩展性以及您可以建议的任何其他方面,使用蓝牙和WiFi的优缺点是什么。

答案

在其他答案和输入中,我会添加这个答案。

首先,在我们选择WiFi或蓝牙之前,我们需要找出这两种技术之间的区别。

我制作了比较图表,其中涵盖了您可能需要的有关项目的一些重要信息。

enter image description here

注意:蓝牙和WiFi有不同版本,此图表代表标准蓝牙,蓝牙v4和WiFi的一般图片。始终建议参考每种技术的制造规范。

从图表中我们可以得出结论,蓝牙与WiFi相比具有更低的功耗,但另一方面,WiFi具有比蓝牙更多的带宽。

范围一般只是近似,很多事情影响范围如人体,障碍物,位置(内部或外部),如果在内部;建筑物内部使用的结构类型和材料,来自其他来源和设备的噪音等。

(*)关于可扩展性,我测试了WiFi和蓝牙v4,这两个系统最多有8个设备,其中一个是主机(组所有者,服务器)设备,另外7个是访客(客户端)。见下图。

enter image description here

什么关于可靠性,蓝牙v4我有一些时间连接问题,但它的工作比一切都好。

注意:蓝牙v4与旧版本的蓝牙不兼容,因此如果您的主机是蓝牙v4,则所有其他客户端应具有蓝牙v4,反之亦然。

所以我不会说哪一个是最好的,但如果你需要更长的电池寿命和光数据通信比蓝牙更好。无论是蓝牙还是WiFi,您可能需要从蓝牙开始测试它,如果您对它感到满意而不是保留它,否则切换到WiFi。

如果你想构建自己的代码,我之前使用的代码示例用于另一个大学研究project。它基于8个电话(主机和客户端),如上图所示,我们收集传感器信息并使用蓝牙4连接将其发送到主机电话。我们用于它的源代码可以找到here。同一个项目有WiFi和其他类型的连接。

Android官方google文档有关于WiFi点对点连接的一些信息和代码示例,您也可以按照code的示例进行操作。

关于收集传感器数据并将其发送到一台设备。您可以添加一个方法,开始收集传感器或任何数据,并在连接成功建立后,而不是开始将其发送到其他设备。

正如其他人所说,https://developers.google.com/nearby也是一种方式。

另一答案

因为你可以依赖校园Wifi,我肯定会在我的应用程序中使用Google Nearby APIs的实现,因为它是为这样的用例而设计的......

它的工作方式回答了你的问题:它为你提供了所有重要的东西,包括选择wifi或蓝牙以获得更好的性能......

另一答案

Google Nearby绝对是个不错的选择。在直接使用WiFi或蓝牙时,您无需解决所有问题。但Google Nearby仅在两台设备都在线并启用其屏幕时才有效。有关附近的更重要的评论,请查看http://blog.p2pkit.io/how-google-nearby-really-works-and-what-else-it-does

如果你不能接受这些限制,你应该研究其他框架,如http://www.p2pkit.io

免责声明:我为Uepaa工作,为Android和ios开发p2pkit。

以上是关于Wi-Fi与蓝牙对等连接的主要内容,如果未能解决你的问题,请参考以下文章

一文带你简单了解Wi-Fi Direct

从多对等连接中禁用 WiFi

Android Wi-Fi Direct P2P 连接多个设备

Multipeer Connectivity Framework (iOS7) 如何在附近没有 Wi-Fi 路由器且蓝牙接口关闭的情况下使用?

仅使用蓝牙时,iOS Multipeer 连接将对等点数量限制为 6 个,无论如何要绕过它?

蓝牙连接立即断开多点框架