linux - 用于 Linux (Raspberry Pi) 的电话簿访问 (PBAP) 客户端

标签 linux bluetooth raspberry-pi bluez

我想通过蓝牙访问我的智能手机的联系人。这应该作为我使用树莓派的项目的第一步。我阅读了一些有关电话簿访问协议(protocol) (PBAP) 的内容。 但是我所能做的对我来说并不是很有帮助。我发现的最多的例子是旧的。

我已经成功配对并连接了我的智能手机 (OnePlus One)。我还可以看到支持 PBAP。我在 5.23-2+rpi1 版本中使用 bluez。

我找到了两个 PBAP 客户端示例,一个来自 obexd ( http://code.metager.de/source/xref/linux/bluetooth/obexd/test/pbap-client ),一个来自 bluez ( http://code.metager.de/source/xref/linux/bluetooth/bluez/test/pbap-client)。

如果我在 pi 上执行 obexd 示例,我会收到以下错误:

Creating Session
Traceback (most recent call last):
  File "pbap-client-obexd.py", line 110, in <module>
    session_path = client.CreateSession(sys.argv[1], { "Target": "PBAP" })
  File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 70, in __call__
    return self._proxy_method(*args, **keywords)
  File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 145, in __call__
    **keywords)
  File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.bluez.obex.Error.Failed: No adapter found

如果我执行 bluez 示例,我会收到以下错误:

Creating Session
Traceback (most recent call last):
  File "pbap-client-bluez.py", line 128, in <module>
    session_path = client.CreateSession(sys.argv[1], { "Target": "PBAP" })
  File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 70, in __call__
    return self._proxy_method(*args, **keywords)
  File "/usr/lib/python2.7/dist-packages/dbus/proxies.py", line 145, in __call__
    **keywords)
  File "/usr/lib/python2.7/dist-packages/dbus/connection.py", line 651, in call_blocking
    message, timeout)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownObject: Method "CreateSession" with signature "sa{ss}" on interface "org.bluez.obex.Client1" doesn't exist

你们有没有人有修复它的想法,一个实际的教程或其他示例?

谢谢

最佳答案

经过几个小时的搜索,我找到了一个名为 PyOBEX 的 python 库。它包含一些示例,例如PBAP-Client,一个通过蓝牙下载文件的例子等等。它还包含用于配对和连接的所有方法。对我来说是第一次尝试。

链接: https://bitbucket.org/dboddie/pyobex/overview

关于linux - 用于 Linux (Raspberry Pi) 的电话簿访问 (PBAP) 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37346210/

相关文章:

c++ - CMake 链接静态库和 Glib 错误

python - 有没有一种简单的方法可以区分运行 Fedora 12 的两个系统之间的网络设置差异?

iOS 蓝牙委托(delegate)连接功能未被调用

Android x86 蓝牙 macbook

python - 检查文件是否存在,如果不存在则创建它

python - ARM 上的 Tornado socket.error

c++ - 使用 C++ 排队多个 system() 命令

linux - 替换文件centos中的整行

Android 蓝牙快速设备发现

c# - 树莓派 CPU 温度