3

有谁知道蓝牙设备如何在范围内获取可发现设备的设备 ID?

理想情况下,我正在寻找涉及蓝牙协议最小实现的最简单解决方案。

一个起点会很好,我只想创建一个设备,它可以存储附近蓝牙设备的所有设备 ID,并且功耗最小,最好只使用无线电频率而不是 SDP 和其他任何东西。

如果你不能帮助我,请你帮我找到低级蓝牙(逐步)通信的好读物。在线阅读水平如此之高,以至于我无法计算出实际发送的内容,时间。

4

2 回答 2

2

http://www.bluetooth.org的蓝牙规范是获取低级信息的良好起点。您需要一个帐户才能访问规范,但您可以免费创建一个。

基本上,您需要做的是定期进入查询模式并在响应数据包到达时获取它们。您在查询模式中花费的时间越多,您就越有可能发现范围内的设备:可发现的设备很少进入查询扫描模式;在 Inquiry/Inquiry Scan 跳频方案中扫描所有可能的频率需要一些时间(至少 10.24 秒,对于较旧的蓝牙版本)。即便如此,您也可能会遇到次优的无线电条件。

对于实施,我建议您至少从现有的蓝牙库(例如BlueZ )开始,不要尝试从头开始创建自己的蓝牙库。

于 2009-08-19T09:09:46.960 回答
2

Laalto 从蓝牙规范/堆栈 POV 中确定了答案,但您的问题意味着您正在寻找独立的蓝牙设备 - 而不仅仅是扫描周围设备的笔记本电脑应用程序。

我只能代表我工作的公司制造的 BT 芯片(Cambridge Silicon Radio - CSR),但我们的芯片几乎可以开箱即用。我们的芯片有一个板载虚拟机沙箱,允许访问芯片的固件功能和蓝牙堆栈。您可以轻松编写 C 代码应用程序以在芯片上的虚拟机沙箱中运行,该应用程序定期扫描周围可发现的设备,获取其 ID,然后在通过 USB 或串行连接时下载它们,或者在设备连接到时通过 BT 下载它们直接听者。

www.csr.comwww.csrsupport.com用于芯片、开发套件、设计参考等......等等......

您可能想要一个带有额外硬件(UART、USB 等)的模块以及芯片,但您可以使用蓝牙 USB 大小或更小的东西来实现它。

了解更多关于您想要实现的目标、为什么您想要仅扫描周围蓝牙设备的东西以及设备需要多大的信息真的很有帮助。

对不起,如果这听起来像广告。为了平衡:Broadcom 也生产 BT 芯片!

于 2009-08-19T10:14:41.963 回答