关键词:
我正在android中为一个教育项目开发一个p2p应用程序,我希望在其中形成附近学生组的android手机并在大学校园中交换传感器数据。
现在有一些注意事项:
- 设备将自动发现彼此,并在发现连接和交换数据时发现。
- 这个过程可能会持续很长时间,每天可能需要4-8个小时。 (定期感知数据和交换的过程)
现在可以使用蓝牙或WiFi形成p2p组(不是WiFi Direct,基于WiFi的简单UDP数据包,考虑到手机连接在校园WiFi上)。
在这种情况下,在可靠性,电话的功率使用,可扩展性以及您可以建议的任何其他方面,使用蓝牙和WiFi的优缺点是什么。
在其他答案和输入中,我会添加这个答案。
首先,在我们选择WiFi或蓝牙之前,我们需要找出这两种技术之间的区别。
我制作了比较图表,其中涵盖了您可能需要的有关项目的一些重要信息。
注意:蓝牙和WiFi有不同版本,此图表代表标准蓝牙,蓝牙v4和WiFi的一般图片。始终建议参考每种技术的制造规范。
从图表中我们可以得出结论,蓝牙与WiFi相比具有更低的功耗,但另一方面,WiFi具有比蓝牙更多的带宽。
范围一般只是近似,很多事情影响范围如人体,障碍物,位置(内部或外部),如果在内部;建筑物内部使用的结构类型和材料,来自其他来源和设备的噪音等。
(*)关于可扩展性,我测试了WiFi和蓝牙v4,这两个系统最多有8个设备,其中一个是主机(组所有者,服务器)设备,另外7个是访客(客户端)。见下图。
什么关于可靠性,蓝牙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。
从多对等连接中禁用 WiFi
...连接选择可能的媒介有关。MultipeerConnectivity会根据WiFi或蓝牙自动发现对等点。有没有办法将其限制为仅限蓝牙?【问题讨论】:只是出于好奇,您为什么要这样做?WiFi开启时非常有问 查看详情
Android Wi-Fi Direct P2P 连接多个设备
...到问题。我的应用程序的工作流程是:一个设备调用发现对等点(参见代码A)一旦发现对等点,我会显示一个AlertDialog,允许用户选择他们想要连接的对等点(参见代码B)一旦用户 查看详情
仅使用蓝牙时,iOS Multipeer 连接将对等点数量限制为 6 个,无论如何要绕过它?
】仅使用蓝牙时,iOSMultipeer连接将对等点数量限制为6个,无论如何要绕过它?【英文标题】:iOSMultipeerconnectivityislimitingnumberofpeersto6whenusingBluetoothonly,anywaytogetaroundit?【发布时间】:2016-05-0617:05:41【问题描述】:当Wifi可用时,我... 查看详情
蓝牙连接立即断开多点框架
】蓝牙连接立即断开多点框架【英文标题】:bluetoothconnectionisimmediatelydisconnectingmultipeerframework【发布时间】:2014-06-0405:17:07【问题描述】:我正在尝试使用多点连接框架建立一对一的点对点连接。当我向附近的对等方发送邀请时... 查看详情
刚买来的bcm94352hmb,蓝牙可用wi-fi没显示,求帮助
参考技术A要连接参考一下我的蓝牙耳机雷柏s100,蓝牙耳机连接方法:正常蓝牙耳机连接手机都是这样的步骤,以我用的雷柏s100为例,先打开手机蓝牙,然后打开耳机蓝牙,此处要配对,这款雷柏s100蓝牙耳机是要在关机转态下... 查看详情
苹果手机无线和蓝牙怎么关闭自动开启
参考技术A控制中心内关闭WiFi不是彻底关闭;使用iPhone、iPad或iPodtouch上的强制Wi-Fi网络了解如何使用强制Wi-Fi网络,即需要订阅或付费才能使用的公共网络。强制网络也称为“订阅”或“Wi-Fi热点”网络。您可以在咖啡厅、网吧、... 查看详情
如何判断 bonjour 服务是 Wi-Fi 还是蓝牙?
】如何判断bonjour服务是Wi-Fi还是蓝牙?【英文标题】:HowdoItellifabonjourserviceiswifiorbluetooth?【发布时间】:2011-02-2004:07:47【问题描述】:我正在构建一个在两部iPhone之间发送信息的应用。该应用程序运行良好,但我遇到的一个问题... 查看详情
matter与zigbee蓝牙wi-fi的关系
...协议,它依赖于以太网、Wi-Fi、Thread等底层协议。Zigbee和蓝牙都是不适配IPv6的底层协议,例如ZigBee,它规定了要求的底层协议、专用的网络层、传输层和应用层。 综上,Matter与Wi-Fi属于依赖关系,与Zigbee、蓝牙是互斥关系。&... 查看详情
使用蓝牙/wi-fi direct/BLE api 或任何其他方式与 android 设备通信 ios 设备
】使用蓝牙/wi-fidirect/BLEapi或任何其他方式与android设备通信ios设备【英文标题】:Communicateiosdevicewithandroiddeviceusingbluetooth/wi-fidirect/BLEapioranyotherway【发布时间】:2014-05-2211:58:50【问题描述】:是否可以使用蓝牙/wi-fidirect/BLEapi或任... 查看详情
一文带你简单了解wi-fidirect
...网络中的设备无需通过无线路由器即可相互连接,与蓝牙技术类似,这种标准允许无线设备以点对点形式互连,而且在传输速度与传输距离方面则比蓝牙有大幅提升。按照定义,Wi-FiDirect设备是支持对等连接的设... 查看详情
当 Wi-Fi Direct 范围内的对等点不再可用时,如何通知?
】当Wi-FiDirect范围内的对等点不再可用时,如何通知?【英文标题】:HowtobenotifiedwhenapeerisnolongeravailableintheWi-FiDirectrange?【发布时间】:2014-01-1206:50:14【问题描述】:我正在开发一个基于使用WifiDirectAPI的Android应用程序。我已在我... 查看详情
强制多人连接关闭
...有办法结束(ios7)多点连接?例如,不是完全断开本地对等点,而是只是禁用与特定对等点的连接?【问题讨论】:【参考方案1】:您可以与MCSession断开连接的唯一对等方是您自己,因此您需要为您连接的每个对等方创建一个... 查看详情
蓝牙技术体系详解(代码片段)
涂鸦蓝牙有三条技术方案。蓝牙设备与手机一对一相连的蓝牙单点设备(BLE),涂鸦自研的蓝牙拓扑通信 涂鸦Mesh 和蓝牙技术联盟发布的蓝牙拓扑通信 蓝牙Mesh。除了以上三种之外,还有一些多协议设备也会使... 查看详情
Poloniex 通过 Autobahn 推送 WAMP API,断开与对等 tcp 的连接
】Poloniex通过Autobahn推送WAMPAPI,断开与对等tcp的连接【英文标题】:PoloniexPushWAMPAPIthroughAutobahndroppingconnectiontopeertcp【发布时间】:2017-11-2809:40:21【问题描述】:我尝试使用python连接到poloniex中的PushAPI,并按照此处的答案说明进行... 查看详情
Android:与联网设备建立“Wi-Fi Direct”连接
】Android:与联网设备建立“Wi-FiDirect”连接【英文标题】:Android:Establish"Wi-FiDirect"connectionwithnetworkeddevices【发布时间】:2014-01-2710:13:24【问题描述】:正在通过Androiddocumentation并且几乎没有疑问:在Android4.0+中使用“Wi-Fidi... 查看详情
iphone12控制中心关闭无线局域网和蓝牙是真的关闭吗
...进行关闭,实际上控制中心是无法彻底关闭Wi-Fi的,包括蓝牙也是如此。在我们关闭的时候,会出现一个短暂的提示:附近的WiFi连接会在明天之前保持断开状态。因此您在控制中心关闭了Wi-Fi或是蓝牙,它们都是会自动开启的,... 查看详情
iOS 中的多点连接
...PC。在iOS中,该框架使用基础设施Wi-Fi网络、点对点Wi-Fi和蓝牙个人区域网络进行底层传 查看详情
无法通过 Multipeer Connectivity 连接蓝牙
】无法通过MultipeerConnectivity连接蓝牙【英文标题】:CannotconnectBluetoothviaMultipeerConnectivity【发布时间】:2016-09-3017:46:37【问题描述】:斯威夫特3.0我可以使用MultipeerConnectivity通过Wifi将数据从iPhone共享到iPhone,但不能通过蓝牙,而... 查看详情