【问题标题】:Advertising Bluetooth MAC address of phone through webpage通过网页广告手机蓝牙MAC地址
【发布时间】:2021-12-02 16:21:12
【问题描述】:

我对网络蓝牙相当陌生,我正在尝试找到一种方法来宣传使用网络蓝牙的 android 手机的唯一蓝牙 MAC 地址(我正在尝试使用 Raspberry Pi Zero W 读取蓝牙 MAC 地址)。

我已经在https://webbluetoothcg.github.io/demos/bluetooth-printer/ 尝试了网络演示 - 在 Android 手机上运行并使用 Zero W 读取。但是每次我在网页上按“配对”时,RPi Zero W 读取的 MAC 地址都会改变。

我看到这篇关于 IOS (Randomize Mac Address in BLE) 的帖子,所以我猜 android 也会随机化 (BLE) MAC 地址。

是否可以通过安卓手机上的网络蓝牙来宣传手机唯一的 MAC 地址 - 或其他任何可以唯一识别手机的地址? (最好通过BLE来提高速度)。如果是,怎么做?

这在 IOS 上也能以类似的方式工作吗?

谢谢

【问题讨论】:

  • 我还看到除了“Peripheral”和“Central”之外还有另外两个角色,分别称为“Observer”和“Broadcaster”。网络服务器是否可以充当广播者?即只是为打开网页的手机发送一个唯一的 ID/MAC

标签: android bluetooth bluetooth-lowenergy web-bluetooth


【解决方案1】:

Web 蓝牙 API 目前允许以 Central 角色运行的网站通过 BLE 连接连接到远程 GATT 服务器。换言之,此 API 使用通用属性配置文件 (GATT) 通过蓝牙发现设备并与之通信。

您正在寻找的是可让您模拟 BLE 外围设备的 API。您可能想尝试BLE Peripheral Simulator android 应用程序,该应用程序用作 Web 蓝牙 API 的伴侣,通过提供另一个连接设备来简化实验。

或者您可以使用nRF Connect for Mobile Android 应用程序,这是一款功能强大的通用工具,可让您扫描、宣传和探索您的蓝牙低功耗 (BLE) 设备并与之通信。

【讨论】:

  • 如果手机不需要下载/安装其他软件,那将是首选 是否可以将手机唯一 ID/MAC 发送到 GATT 服务器?例如:GATT 服务器在 RPi 上运行 --> 当手机在范围内时,手机上的网页会向 GATT 服务器发送一个唯一的 ID/MAC。谢谢
  • 手机上运行的 Web 应用无法发现手机的唯一 ID/MAC 地址,但它可以生成唯一 ID,将其存储在本地存储中并传输到 GATT 服务器,以便设备在将来再次连接时能够识别手机。如果您解释了为什么要与 GATT 服务器共享 MAC 地址,将会有所帮助。可能有另一种方法可以解决这个问题。
  • 谢谢,基本上我需要一种方法来识别不同位置的手机(android 和 IOS)。例如:一个人去某个位置并在某物上轻敲他们的手机(例如,将其带到 RPi 附近),然后记录一个唯一 ID 和当前日期/时间。用户最好不必安装任何额外的东西。对于 android,我尝试在手机上启用“附近共享”来检测唯一 ID(使用 bluepy),但没有显示任何内容
  • Web NFC 似乎非常适合您的用例。示例:一个人去一个位置并在 NFC 标签上轻敲他们的手机,然后借助 Web NFC,NFC 标签序列号通过 Web 应用程序被读取和记录。请参阅web.dev/nfc 了解更多信息。
  • web.dev/nfc 看起来很有趣,我会看看它。感谢大家的帮助,我会将其标记为已接受的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多