我正在尝试用android和蓝牙编写应用程序。作为总结,并且我认为在互联网上有很好的记录,蓝牙2.1(我找不到3.0和4.0的信息)只支持同一微微网中的7个有源设备,并且在停放模式下最多支持255个(未连接并通过互联网发现)查询扫描,购买同步监听广播包)。如果他们继续受到7个活跃成员的限制,我找不到3.0和4.0规范的信息。
有很多问题的答案都不容易找到关于蓝牙的问题。我希望有人可以帮我解决下一期。
如何通过RFCOMM与Android中停放模式的设备通信?如果只有7个设备可以通过打开套接字连接(分页和连接)激活,那么如何让所有设备通过主设备相互通信?
为了让事情变得有点清楚,我们可以想象我正在尝试在微微网中的所有设备之间创建一个通信应用程序,主人附近的所有用户都可以进入“聊天”。但要让所有人聊天,你需要通过RFCOMM“连接”所有设备(连接和停放),这样他们就可以使用套接字交换信息。
但如果只有7个可以通信并且可以打开一个活动的套接字,那么策略怎么可能呢?如何让所有设备彼此之间进行通信,以便所有设备都能收到相同的信息来通过聊天进行交谈?
非常感谢你。
答案 0 :(得分:0)
有源和驻留设备的数量与蓝牙3.0保持不变,蓝牙4.0略有不同,因为它有2种模式 - 蓝牙4.0为蓝牙增加了一种称为蓝牙低功耗的新无线电机制,所以有些设备可以做双模式,即经典的蓝牙(2.1,3.0功能)和新的低功耗功能,有些设备只有低功耗功能,有些将是双模式,能够同时做低能量模式和经典蓝牙。
经典蓝牙功能在4.0中基本保持不变,低能耗是一个全新的选择,低能耗选项(无线电)无法与经典选项通信。 (除非它是具有经典和低能量选项的双模式)
现在上述理论很重要,因为在低能量的情况下没有有效的设备限制,理论上你已经有成千上万的设备(假设它们以非重叠间隔通话)连接。 (与限制为7的Classic不同),In Low Energy也没有像Park那样的特殊模式。低能量通常用于传感器设备,在某些时间间隔唤醒连接发送一些数据并消失。它们通常是低带宽和短持续时间的通信。这使得低能耗选项具有吸引力,无线传感器可以使纽扣电池工作多年。
现在回答其余问题: - 您无法直接与Parked设备通信,有一种广播机制可以将(单向)数据(不可靠)发送到停放的设备,Android没有任何API支持。此外,我将不鼓励Park的使用,因为它是一个复杂的程序,并且容易出现与不同供应商的无线电的互操作性问题,此外在最新版本的蓝牙中不推荐使用Park模式。
另一种方法是一个接一个地取消停放设备 - 使它们处于活动状态 - 在活动模式下完成通信,然后将它们停放。 这可能会使您的群聊应用程序处理变得复杂。
希望它有所帮助。