蓝牙UUID发现

3
有人知道蓝牙设备如何在范围内捕捉可发现设备的设备ID吗?
我希望能找到最简单的解决方案,涉及最小的蓝牙协议实现。
首先需要一个起点,我只想创建一个设备,可以使用最少的功率消耗存储附近蓝牙设备的所有设备ID,最好只使用无线电频率而不是SDP和其他方式。
如果你不能帮我解决这个问题,请帮我找到关于低级蓝牙通信(逐步)的好读物。在线阅读材料太高级了,我无法确定实际发送的内容和时间。
2个回答

2
来自http://www.bluetooth.org的蓝牙规范是了解底层信息的好起点。您需要一个帐户才能访问规范,但可以免费创建一个。
基本上,您需要定期进入查询模式并抓取响应数据包。您在查询模式中花费的时间越长,发现范围内的设备的可能性就越大:可发现设备相对较少地进入查询扫描模式;在查询/查询扫描跳频方案中扫描所有可能的频率需要一些时间(至少使用旧版蓝牙需要10.24秒)。即使如此,您仍可能存在次优无线电条件。
对于实施,建议您至少从现有的蓝牙库(例如BlueZ)开始,并不要尝试从头开始创建自己的库。

2
Laalto在蓝牙规格/堆栈方面完美地回答了你的问题,但是你的问题意味着你正在寻找一个独立的蓝牙设备,而不仅仅是扫描周围设备的笔记本应用程序。
我只能代表我们所制造的BT芯片(剑桥硅谷半导体 - CSR)说话,但我们的芯片可以轻松实现这一点。我们的芯片有一个内置的虚拟机沙盒,允许访问芯片的固件功能和蓝牙堆栈。您可以轻松编写一个C代码应用程序,在芯片上运行在虚拟机沙箱中,定期扫描周围的可发现设备,获取它们的id,然后在通过USB或串行连接时下载它们,或者当设备直接连接到监听器时可能通过蓝牙进行传输。 www.csr.comwww.csrsupport.com提供芯片、开发套件、设计参考等等。
您可能需要一个带有额外硬件(UART,USB等)的模块,以及仅仅是芯片,但是您可以使用类似于蓝牙USB或可能更小的东西来实现这一点。
了解更多关于您正在尝试实现什么、为什么需要只扫描周围的蓝牙设备以及设备需要多大的信息将非常有帮助。
如果这听起来像广告,很抱歉。为了平衡:Broadcom也制造BT芯片!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接