Bluetooth 通过bluez蓝牙连接两个树莓pi

Bluetooth 通过bluez蓝牙连接两个树莓pi,bluetooth,raspberry-pi,bluez,rfcomm,Bluetooth,Raspberry Pi,Bluez,Rfcomm,我正在尝试使用这个API:在两个Raspberry PI之间建立连接。我将此程序用作服务器,例如: pi@raspberrypi:~/bluetoothC$sudo./bin/bluez_适配器_连接 适配器已通电 然后,在客户端: pi@raspberrypi:~/bluetoothC$sudo./bin/bluez_适配器_连接 B8:27:EB:9F:91:A7 适配器已通电,无法获取结果: GDBus.Error:org.freedesktop.DBus.Error.UnknownMet

我正在尝试使用这个API:在两个Raspberry PI之间建立连接。我将此程序用作服务器,例如:

pi@raspberrypi:~/bluetoothC$sudo./bin/bluez_适配器_连接

适配器已通电

然后,在客户端:

pi@raspberrypi:~/bluetoothC$sudo./bin/bluez_适配器_连接 B8:27:EB:9F:91:A7

适配器已通电,无法获取结果: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod:Method 接口上签名为{sv}的ConnectDevice org.bluez.Adapter1不存在


但我不理解这个错误。我做得对吗?如果没有,我必须做什么?

如本文所述,ConnectDevice是BlueZ 5.49中引入的新适配器API。有关更多详细信息,请参阅发行说明

这个API仍然标记为实验性的,所以您需要在实验模式下运行Bluetooth守护进程,即在启动Bluetooth时将-e作为额外参数传递

所以你需要

BlueZ 5.49或更高版本 使用-E选项运行Bluetooth守护程序
[/org/bluez/hci0/dev_B8_27_EB_15_3B_24]地址:B8:27:EB:15:3B:24地址类型:公共名称:raspberrypi别名:raspberrypi配对:0受信任:0被阻止:0 LegacyPairing:0已连接:1 UUIDs:适配器:/org/bluez/hci0服务已解决:0连接设备:/org/bluez/hci0/dev_B8_27_EB_15_3B_24输出如下。但我也不能配对?因为我这样做是为了以后与交换信息:但由于设备未连接/配对或whatever@PRVS编写此示例程序是为了演示在知道设备MAC地址时扫描设备的连接。当您从主机控制器或设备端启动连接时,应根据另一端的客户端代理自动接受代理运行。这样配对就通过了。你应该修改这里的代理,以便在两端都接受。我想这个问题的答案会帮助我理解:所以,我想在两个树莓pi之间建立一个连接,以便在它们之间发送消息。但是如果你知道我的意思的话,我想用C来做两端的。这个API有可能吗?@PRVS在用C或DBUS完成任务之前,您是否已经尝试过bluetoothctl?如果没有,请尝试配对Pi,并尝试使用bluetoothctl序列连接它们。如果完成,请在DBUS流中重复相同的操作。当你知道你想做什么时,C代码很简单!