能否使用iOS和Android设备创建蓝牙Mesh网络?

8
我目前正在构建一个应用程序,创建一个平台,让用户可以在网络上分享信息,但我想创建一个离线选项,让用户在靠近的距离内仍然可以在对等网络上通信。是否可能使用智能手机创建BT网状网络?
我看到蓝牙有使用BLE创建网状网络的选项,但是在查看CoreBluetooth后,我没有找到任何支持这种类型网络的东西。我看到一些解决方案使用iOS Multipeer连接性,但如果可能的话,我最好有一个跨平台的解决方案。

2个回答


3
Bluetooth SIG在2017年7月宣布了Bluetooth Mesh功能。网状网络规范源自于Bluetooth Low Energy v4.0规范,许多手机支持Bluetooth Low Energy v4.0。
然而,手机在不久的将来不会支持蓝牙Mesh网络拓扑结构。这只是我的想法。
在网状网络中,您可以通过跳跃节点向超出直接无线电范围的目标传输数据包。
我相信,通过发送信标和扫描信标可以模拟此场景。以下步骤可能不是完整的解决方案,但它将为您提供有关基本网状网络设计的见解。
以下是步骤:
1. 您需要知道所有移动设备的MAC地址。 2. 所有移动设备必须处于扫描模式以接收传入的信标。 3. 您需要制作自定义信标数据格式,其中必须包含源地址、目标地址、生存时间值和您的数据。 4. 当移动设备接收到BLE数据包时; - 如果数据包中的目标地址与接收设备地址相同,则表示数据包已成功传递。 - 如果数据包中的目标地址与接收设备地址不同,则表示数据包应该被重新传输。在重新传输数据包之前,您需要减少生存时间值,以防止无限数据包传输。
最好的做法是缓存上次发送的信标数据包,以防止重新传输同一数据包超过一次。
我希望这将为您提供有关如何在手机上实现网状网络拓扑结构的基本理解。

3
在iOS系统中无法获取Mac地址,需要依赖设备UUID。 - Raulp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接