蓝牙UUID发现

时间:2009-08-19 08:55:21

标签: bluetooth uuid low-level service-discovery

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

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

起点很好,我只想创建一个能够以最低功耗存储附近蓝牙设备的所有设备ID的设备,最好只使用无线电频率,而不是SDP等等。

如果您无法帮助我,请帮助我找到适合低级别蓝牙(逐步)沟通的好阅读材料。在线阅读是如此之高,以至于我无法确定实际发送的内容。

2 个答案:

答案 0 :(得分:2)

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

基本上你需要做的是定期进入查询模式,并在收到响应数据包时抓取它们。您在查询模式下花费的时间越多,您就越有可能发现范围内的设备:可发现设备仅相对较少地进入查询扫描模式;在查询/查询扫描跳频方案中扫描所有可能的频率需要一些时间(至少使用旧的蓝牙版本10.24秒)。即使这样,你也可能有不理想的无线电条件。

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

答案 1 :(得分:2)

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

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

www.csr.comwww.csrsupport.com用于芯片,开发工具包,设计参考等等......

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

了解更多有关您想要实现的内容,为什么您需要只扫描周围蓝牙设备的内容以及设备需要多大的内容真的很有帮助。

很抱歉,如果这听起来像广告。为了平衡:Broadcom也制作BT芯片!