除了其他的回答和意见,我想补充这个答案。
首先,在我们选择 WiFi 或者 Bluetooth 之前,我们需要了解这两种技术的区别。
我制作了一个比较表格,涵盖了你可能需要了解的一些重要信息,关于你的项目。
![enter image description here](https://istack.dev59.com/yYhng.webp)
注意:蓝牙和 WiFi 有不同版本,这个图表代表标准蓝牙、蓝牙 v4 和 WiFi 的总体情况。建议参考每种技术的制造规格。
从表格中我们可以得出结论:与 WiFi 相比,蓝牙有更低的能耗,但是 WiFi 拥有更大的带宽。
在一般范围内,距离只是近似值,很多因素会影响距离,例如人体、障碍物、位置(内部或外部)、如果在室内,则是建筑物内部的结构类型和材料、来自其他源和设备的噪声等等。
(*) 关于可扩展性,我测试了 WiFi 和蓝牙 v4,这两个系统都支持多达 8 个设备,其中一个是主机(组所有者、服务器)设备,另外 7 个是客户端设备。请参见下图。
![enter image description here](https://istack.dev59.com/fHwTO.webp)
关于可靠性,在使用蓝牙 v4 时,我有时会遇到连接问题,但是当一切正常时,效果非常好。
注意:蓝牙 v4 不向旧版本的蓝牙兼容,因此如果您的主机是蓝牙 v4,则所有其他客户端都应该使用蓝牙 v4,反之亦然。
因此,我不会说哪个更好,但如果您需要更长的电池寿命和轻量级数据通信,则蓝牙是一种选择。无论是蓝牙还是WiFi,您可能需要先尝试蓝牙并进行测试,如果您对其满意则保留,否则切换到WiFi。
如果您想自己编写代码,可以参考我之前为另一个大学研究项目所使用的代码示例(项目链接)。该项目基于8部手机(主机和客户端),如上图所示,我们收集传感器信息并通过蓝牙4连接将其发送到主机手机。我们用于该项目的源代码可以在这里找到。同一项目还有WiFi和其他类型的连接。
Android官方Google文档提供了关于WiFi对等连接的一些信息和代码示例。您也可以按照这里的示例进行操作。
关于收集传感器数据并将其发送到另一设备的问题。您可以添加一个方法来开始收集传感器或任何其他数据,在成功建立连接后再将其发送到另一设备。
如其他人所建议的,https://developers.google.com/nearby也是一种方法。