"Read" 一个蓝牙跟踪设备

"Read" a Bluetooth tracking device

我想要一个蓝牙跟踪设备,例如 TrackR、Tile、Chipolo 等,并编写我自己的应用程序来检测我在 Windows 10 移动设备上的设备。它们是否以某种方式加密以便只有他们的应用程序可以使用它们?

任何人都可以指出我这样做的正确方向吗?或者告诉我不可能。

检测与加密无关。

让我们将检测其他设备的主要设备称为 "Central",并将这些其他设备称为 "Peripherals"。

每个希望被检测到的外设都必须发送广告。有多种广告模式;无需赘述,这些不同的模式用于允许发现外围设备,或与之连接,或两者兼而有之。

所有这些广告都是未加密的,因此任何设备都可以"see"并理解这些广告。 Central 只需进入扫描模式即可;在这种模式下,中央侦听它可以检测到的任何广告。完成扫描后,所有找到的设备都会显示在列表中。这里没有加密;只有在两台设备连接并且至少一台设备需要加密通信后,加密才会起作用。但这不是查找和识别设备所必需的。

请注意,您无需连接即可获得的唯一信息是广告数据(可能还有一些额外的扫描响应数据)。通常,短设备名称或标识符是广告数据的一部分,以允许识别设备类型。如果设备实现了设备信息服务,那里的每条信息也可以不加密地读取(但你必须先连接并发现这个服务)。大多数设备都希望 Central 知道它们的名称、类型和用途,因此通常这些信息不会被加密。