我正在为一个教育项目开发一个p2p应用程序,在这个项目中,我想组成一个小组,机器人手机附近的学生,并在一个大学校园交换传感器数据。
现在有一些考虑因素:
现在,p2p组可以使用蓝牙或WiFi (而不是WiFi直接,基于WiFi的简单UDP数据包,考虑到手机在校园WiFi上连接)形成。
在这个场景中使用蓝牙和WiFi在可靠性、手机的功率使用、可伸缩性和其他方面有什么好处和缺点?
发布于 2016-03-31 17:52:46
除其他答案和意见外,我还要加上这个答案。
首先,在我们选择WiFi或蓝牙之前,我们需要找出这两种技术之间的区别。
我做了比较图表,涵盖了一些重要的信息,你可能需要你的项目。
注意:有不同版本的蓝牙和WiFi,这个图表代表的是标准蓝牙、蓝牙v4和WiFi的总图。建议参考每种技术的制造规范。
从图中我们可以得出结论,蓝牙比WiFi具有更低的功耗,但另一方面,WiFi比蓝牙具有更多的带宽。
范围一般只是近似,影响范围的东西很多,如人体、障碍物、位置(内或外)(如果在内部)、建筑物内部使用的结构类型和材料、来自其他来源和装置的噪音等。
(*)关于可伸缩性,我测试了WiFi和蓝牙v4,这两个系统都有多达8个设备,其中一个是主机(组所有者、服务器)设备,另有7个是来宾(客户端)。见下图。
在可靠性方面,我在蓝牙v4上遇到了一些时间连接问题,但是当它比任何东西都工作的时候就没问题了。
注意:蓝牙v4与较早版本的蓝牙不兼容,因此如果您的主机是蓝牙v4,则所有其他客户端都应该有蓝牙v4,反之亦然。
因此,我不会说哪一个是最好的,但如果你需要更长的电池寿命和光数据通信比蓝牙是方式。不管是蓝牙还是WiFi,您可能需要从蓝牙开始并测试它,如果您对它满意,而不是保留它,否则切换到WiFi。
如果您想构建自己的代码,我之前所遵循并用于另一所大学研究项目的代码示例。它基于8部手机(主机和客户端),如上图所示,我们收集传感器信息并通过蓝牙4连接发送到主机电话。我们使用的源代码可以找到这里。同一项目具有WiFi和其他类型的连接。
安卓官方谷歌文档中有一些关于WiFi点对点连接的信息和代码示例,您也可以效仿代码的例子。
关于收集传感器数据并将这些数据发送到一个设备。您可以添加一种方法来开始收集传感器或任何数据,并且在成功建立连接之后,而不是开始将其发送到其他设备。
正如其他人所建议的,https://developers.google.com/nearby也是一条路。
发布于 2016-03-31 11:18:12
由于您可以依赖于校园Wifi,我肯定会在我的应用程序中使用谷歌附近的API的实现,因为它是为这样的用例设计的.
它的工作方式回答了你的问题:它为你制造了所有沉重的东西,包括在无线和蓝牙之间的选择,以获得更好的性能…
发布于 2016-03-31 11:44:37
谷歌附近绝对是一个不错的选择。在直接使用WiFi或蓝牙时,您不必解决所有的问题。但谷歌仅在这两款设备都处于在线状态并打开屏幕时才能正常工作。要了解更多关于附近地区的评论,请看一下http://blog.p2pkit.io/how-google-nearby-really-works-and-what-else-it-does
如果您不能接受这些限制,则应该查看其他框架,如http://www.p2pkit.io。
免责声明:我为Uepaa工作,为安卓和iOS开发iOS。
https://stackoverflow.com/questions/36276883
复制相似问题