【问题标题】:Is it possible to create a Bluetooth Mesh Network with iOS and Android devices是否可以使用 iOS 和 Android 设备创建蓝牙 Mesh 网络
【发布时间】:2019-12-14 12:44:50
【问题描述】:

我目前正在构建一个应用程序,该应用程序创建一个用户可以在网络上共享信息的平台,但我想创建一个离线选项,让用户在靠近时仍然可以在对等网络上进行通信。是否可以使用智能手机创建 BT 网状网络?

我已经看到蓝牙可以选择使用 BLE 创建网状网络,但在查看了 CoreBluetooth 之后,我无法找到任何支持这种类型网络的东西。我见过一些使用 iOS Multipeer 连接的解决方案,但如果可能的话,我希望有一个跨平台的解决方案。

【问题讨论】:

标签: android ios bluetooth-lowenergy core-bluetooth


【解决方案1】:
【解决方案2】:

Bluetooth SIG 于 2017 年 7 月宣布了蓝牙 Mesh 功能。Mesh 网络规范源自蓝牙低功耗 v4.0 规范,许多手机支持蓝牙低功耗 v4.0。

不过,手机近期将不支持蓝牙Mesh组网拓扑。这只是我的想法。

在网状网络中,您可以通过希望节点将数据包传输到超出直接无线电范围的目的地。

我相信,这个场景可以通过发送信标和扫描信标来模拟。 以下步骤可能不是一个完整的解决方案,但它可以让您深入了解基本的网状网络设计。

步骤如下;

  1. 您需要知道您的移动设备的所有 MAC 地址。
  2. 所有移动设备都必须处于扫描模式才能接收传入的信标。
  3. 您需要制作自定义信标数据格式,其中必须包含源地址、目标地址、生存时间值和您的数据。
  4. 当移动设备接收到BLE数据包时; 如果数据包中的目标地址与接收设备地址相同,则表示您的数据包发送成功。 如果数据包中的目标地址与接收设备地址不同,则意味着应该重新发送数据包。在重新传输数据包之前,您需要减少 time to live 值以防止无限数据包传输。

如果您缓存最后发送的信标数据包以防止重复传输多个相同的数据包,这将是一个很好的做法。

我希望这能让您对如何在手机中实现网状网络拓扑有基本的了解。

【讨论】:

  • iOS 无法访问 Mac 地址,必须依赖设备 UUID
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-11
  • 1970-01-01
相关资源
最近更新 更多