Bluetooth 使用bluez库将蓝牙从主设备更改为从设备

Bluetooth 使用bluez库将蓝牙从主设备更改为从设备,bluetooth,bluez,Bluetooth,Bluez,说明: 我有一个带有蓝牙功能的小型内部设备。 目前,其他设备连接到该盒 要求: 现在,我们必须使它成为从属设备,以便与其他设备连接。我想知道怎么做?我不需要源代码或任何东西,只要你的意见 其他信息: 该应用程序使用Bluez Libraries向固件/硬件发送命令,我们广泛使用HCItool 操作系统: 软呢帽 我也想知道,我需要更换芯片组吗?从谷歌看来,我们不需要改变它 任何帮助都将对我们有益。 感谢来自命令行的,实现所需的方法是使用#hcitool。但是,您必须首先连接。尝试以下顺序: hc

说明:
我有一个带有蓝牙功能的小型内部设备。 目前,其他设备连接到该盒

要求:
现在,我们必须使它成为从属设备,以便与其他设备连接。我想知道怎么做?我不需要源代码或任何东西,只要你的意见

其他信息:
该应用程序使用Bluez Libraries向固件/硬件发送命令,我们广泛使用HCItool

操作系统:
软呢帽

我也想知道,我需要更换芯片组吗?从谷歌看来,我们不需要改变它

任何帮助都将对我们有益。

感谢来自命令行的,实现所需的方法是使用#hcitool。但是,您必须首先连接。尝试以下顺序:

hcitool cc AA:BB:CC:DD:EE:FF            #Connect to the device
hcitool con                             #To make sure you are in a connection
hcitool sr AA:BB:CC:DD:EE:FF <role>     #switch master/slave role
hciconfig hci0 sspmode 1
hciconfig hci0 piscan 
sdptool add SP
rfcomm connect /dev/rfcomm0 AA:BB:CC:DD:EE:FF 1 &
hcitool con
hcitool sr AA:BB:CC:DD:EE:FF <role>
这是触发主角色和从角色之间切换顺序的函数。通过这个函数,您可以看到通过bluez堆栈到底发生了什么


我希望这能有所帮助。

hi Yosuf,我已经给出了类似于“hcitool sr 74:F0:6D:E1:35:02 slave”的命令,在这里我从hcitool dev获得了bd addr,每次我都得到了未连接的结果。为什么会这样?非常感谢mate提供的快速帮助。似乎您必须连接才能使用所连接的设备在角色之间切换。我编辑了我的问题以考虑到这一点。请注意,MAC地址AA:BB:CC:DD:EE:FF是连接设备的MAC地址,而不是本地设备的MAC地址。换句话说,MAC地址应该是'hcitool scan'命令的输出,而不是'hcitool con'命令。Yosuif,因此,基本上,一旦您连接到远程设备,您就可以将本地设备作为从设备或主设备?我还需要与SCO环回相关的帮助P吗?我搜索了很多,但找不到我的问题的答案。想知道我是否提出了一个新问题,如果你知道的话?
static void cmd_sr(int dev_id, int argc, char **argv)