蓝牙UUID发现
有谁知道蓝牙设备如何获取范围内的可发现设备的设备ID?蓝牙UUID发现
我理想的是寻找最简单的解决方案,涉及最小的蓝牙协议实施。
一个起点会很好,我只是希望创建一个能够以最小的功耗存储附近蓝牙设备的所有设备ID的设备,最好是使用无线电频率而不是SDP和其他任何设备。
如果你不能帮助我,请帮助我找到低级蓝牙(一步一步)通信的好读物。在线阅读是如此之高,以至于我无法确定什么时候发送了什么。
Laalto从Bluetooth规范/堆栈POV中找到了答案,但是您的问题意味着您需要寻找独立的蓝牙设备 - 而不仅仅是扫描周围设备的笔记本电脑应用程序。
我只能说我所在的公司生产的BT芯片(Cambridge Silicon Radio - CSR),但是我们的芯片可以做得非常好。我们的芯片具有板载虚拟机沙箱,可以访问芯片的固件功能和蓝牙堆栈。您可以轻松编写C代码应用程序在芯片上的虚拟机沙箱中运行,该程序定期扫描周围的可发现设备,获取它们的ID,然后在通过USB或串行连接时下载它们,或者在设备连接到听众直接。
www.csr.com和www.csrsupport.com的芯片,DEV-套件,参考设计,等等。等等...
你可能想用额外的硬件模块(个UART,USB等),以及刚该芯片,但你可以实现这个大小的蓝牙USB或可能更小的东西。
这对真正有助于更多地了解你想要达到的目标,为什么你想要的东西只是扫描周围的蓝牙设备,以及设备需要多大。
对不起,如果这听起来像广告。余额:Broadcom也制造BT芯片!
来自http://www.bluetooth.org的蓝牙规格是低级信息的良好起点。您需要一个帐户来访问规格,但您可以免费创建一个。
基本上,您需要做的是定期进入查询模式,并在到达时获取响应数据包。您在查询模式中花费的时间越多,发现范围内的设备的可能性就越大:可发现的设备相对较少地进入查询扫描模式;需要一段时间(至少在旧版蓝牙版本中为10.24s)才能扫描查询/查询扫描跳频方案中的所有可能频率。即使如此,你也可以拥有不太理想的无线电条件。
为了实现我建议你至少与现有蓝牙库,如BlueZ开始,不要试图从头开始创建你自己的。