我正在尝试通过 Linux 上的 USB 蓝牙适配器设置虚拟串行端口,并通过 Android 设备向其发送消息。我在内核 3.6 上。我能够使用 gnome-bluetooth 成功配对到设备,也能够向它发送文件。
要设置串行端口,我首先将带有 SP 配置文件的通道添加到我的适配器:
sdptool add --channel=22 SP
Run Code Online (Sandbox Code Playgroud)
然后我用 rfcomm 调用“listen”:
rfcomm listen /dev/rfcomm0 22
Run Code Online (Sandbox Code Playgroud)
哪个阻止
Waiting for connection on channel 22
Run Code Online (Sandbox Code Playgroud)
显然 rfcomm 将在成功连接后创建 /dev/rfcomm0。一旦发生这种情况,我想使用诸如cutecom之类的东西来回向连接的设备发送消息。
在我的 Android 设备上,我打开一个蓝牙 SPP 终端(那里有几个,我尝试了几个不同的)并尝试连接。他们都失败了。
鉴于我可以成功配对并毫无问题地发送文件,我知道蓝牙配对和通信是有效的。
我不太确定我还能尝试什么。我在本地设备和 Android 设备上使用了“sdptool browse”,以确保没有任何 RFCOMM 通道冲突。
bluetooth ×1