说明
我有一个具有蓝牙功能的小型内部设备。
目前,其他设备连接到该盒子。
要求:
现在我们必须使它成为奴隶,以便它与其他设备连接。我想知道怎么做?我不需要源代码或任何您的观点。
其他信息:
该应用程序使用Bluez图书馆向固件/硬件发送命令,我们广泛使用HCItool。
操作系统:
Fedora的。
我也想知道,我需要更换芯片组吗?从谷歌看起来我们不需要改变它。
任何帮助对我们都有益。
谢谢
答案 0 :(得分:3)
从命令行中,实现所需的方法是使用#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
如果“hcitool con”的输出表明您没有连接,请尝试以下顺序:
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>
上面的代码专门针对串行配置文件,但是当'hcitool cc'失败时,它已经在我的几个场合工作了。
如果要查看此源代码,请打开bluez目录中的tools / hcitool.c源文件并导航到该函数:
static void cmd_sr(int dev_id, int argc, char **argv)
这是启动主从角色切换顺序的功能。通过此功能,您可以看到bluez堆栈中究竟发生了什么。
我希望这会有所帮助。