linux暴露相同端口,我如何一直连接到Linux上的相同rfcomm端口?

我有几个蓝牙设备,我试图在Linux中连接到。除了一个设备外,我没有任何问题。不同之处在于,所有其他设备都以标准方式处理蓝牙连接(即我所假设的),即他们等待主机设备(PC)发起连接。另一方面,另一方面,设备每隔几秒就尝试启动一次连接,休息一秒钟左右。我如何一直连接到Linux上的相同rfcomm端口?

对于其他的设备,我已经连这样的:

rfcomm connect /dev/rfcommX

(其中X为任何未使用的RFCOMM端口号)

发出此命令之前,我跑了蓝牙剂所需的配对键。这里的一切都很好。

对于有问题的设备,此设备在配对之前第一次很好地工作。然而,配对后,rfcomm connect命令很有可能失败。这是因为设备本身试图初始化连接。当设备处于睡眠状态时,连接失败(“主机关闭”)。

相反,我发现,此设备,下面的命令作品就像一个魅力:

rfcomm listen /dev/rfcommX

(我不得不通过sdptool可以添加一个串行端口添加SP第一)

由于个人电脑将坐在那里等待来自设备的传入连接,这一切都可以工作。

但是,当我有多个设备时出现问题。 rfcomm listen命令非常出色,但似乎没有办法控制哪个设备(由Mac地址标识)连接到哪个rfcomm端口;如果打开多个设备,则无论如何,第一个尝试连接的设备都将连接。然而,在我们的应用程序中,我们希望用户知道他们连接到哪个设备。

有没有人处理过这样的事情?我们正在考虑编写bluez蓝牙套装的定制版本,因此我们非常感谢这里的任何帮助:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值