1

在我进入更复杂的蓝牙问题之前,我想清除我的基础知识。我有以下基本问题。

  1. 如果有两个蓝牙设备(一个电话和一个蓝牙显示器)。是不是蓝牙连接只能由手机发起。

  2. 假设从手机到蓝牙显示器会有很多蓝牙通信。两个设备都可以随时向任何其他设备发送消息。什么是通常的沟通设计方法。是手机第一次通过RFCOMM通过向蓝牙设备发送连接请求来创建与蓝牙显示器的套接字连接,并且该连接一直保持或对于每条消息都建立套接字连接然后套接字关闭,之后再次重新打开并关闭下一条消息。

  3. 如果连接打开直到设备在附近范围内,后果是什么。

  4. 电话和耳机的正常通信方式是什么。

  5. 我可以得到任何参考,以便我可以获得一些相关知识。

4

1 回答 1

2

1) 一般来说,蓝牙连接可以由任一设备发起。例如,使用电话和计算机,您可以从任一端开始连接。使用电话和显示器或耳机,一个设备上可能没有输入接口,因此您可以从电话启动连接。设备还可以自动协商角色切换,以便它们交换主/从角色。

2) 如果您有连续的数据要交换,或者需要低延迟,则通常会保持连接。如果您只有很少的消息要交换,那么断开连接将节省电力,因为设备通过交换空数据包来保持连接同步。

3) 您无法与超出范围的设备保持连接。如果他们在某个超时时间(大约几秒)内无法通信,那么他们就会失去同步并终止连接。

4) 请注意,电话/耳机不使用 RFCOMM 连接,而是使用 HSP(耳机配置文件)。同步语音数据的连接本质上不同于 RFCOMM 等零星数据连接。

5) 了解“真实”设备如何通信的一个好方法是使用 hcidump 之类的工具,作为 linux blueZ 堆栈的一部分。这使您可以完全嗅探连接设备时发生的协议消息。

于 2011-09-06T17:49:16.573 回答