我想启动蓝光与蓝牙低能设备的配对。虽然有一些关于如何使用GATT触发SMP程序的帖子,但如果您不想使用GATT,则没有多少可用的信息。
我的用例是,我想使用一个加密链接的蓝牙-6LoWPAN,它交换数据的L2CAP信用模式,而不是ATT/GATT。
此外,我想使用OOB模式进行SMP配对。
关于如何使用命令行或编写C程序来触发SMP配对的提示很受欢迎。
谢谢!
发布于 2015-09-20 20:21:15
我认为不使用GATT命令(仅从命令行)执行BLE配对是不可能的。其原因是LE的安全性是基于GATT行动的.换句话说,特征/服务权限决定您是否需要与设备配对(例如,要读取心率特性,设备可能要求您首先进行配对)。为此,操作将类似于:
gatttool --sec-level=high --device=00:11:22:33:44:55:66 --char-read --uuid=0x2A37此命令将在读取特征之前先建立配对关系。
至于如何使用C程序执行此操作,您可以下载BlueZ源代码,并查看传递“秒级”选项的功能。我很快浏览了代码,并在utils.c中找到了以下内容:-
chan = bt_io_connect(connect_cb, NULL, NULL, &tmp_err,
BT_IO_OPT_SOURCE_BDADDR, &sba,
BT_IO_OPT_SOURCE_TYPE, BDADDR_LE_PUBLIC,
BT_IO_OPT_DEST_BDADDR, &dba,
BT_IO_OPT_DEST_TYPE, dest_type,
BT_IO_OPT_CID, ATT_CID,
BT_IO_OPT_SEC_LEVEL, sec,
BT_IO_OPT_INVALID);其中sec设置为sec = BT_IO_SEC_HIGH;
我希望这能帮到你。
https://stackoverflow.com/questions/32004646
复制相似问题