Bluez编程

Som*_*ken 9 c bluetooth arduino bluez

我正在使用USB蓝牙适配器在我的Raspberry Pi上使用BlueZ进行编程.我需要能够以编程方式连接到Arduino BT,问题是Arduino的蓝牙模块仍在使用传统配对,因此每当我尝试打开设备的套接字时,我都会得到一个Permission Denied.如何通过BlueZ发送PIN码来完成配对请求?

Zim*_*ano 13

您可能想要查看最新Bluez源代码main.c客户端文件夹中的文件.这是bluetoothctl工具的源代码.也跑吧.源代码确切地显示了它们如何使用GDBus,包括代理,代理,API(/ doc文件夹)中描述的调用方法等等.它在C中并使用高级API.

我建议你逐步完成代码,因为我花了两个星期无休止地试图理解C语言中的Bluez以及没有文档的事实,但是当我读到main.c文件时,我已经准备好了一天.阅读适当的Dbus API文档,更重要的是概念.一些帮助我的文件:

gdbus工具:https: //developer.gnome.org/gio/stable/gdbus.html

它们包含对main.c文件中gdbus和对象的所有调用,并对它们进行了很好的解释. https://developer.gnome.org/gio/stable/gdbus-convenience.html

D-Feet,一种在您的系统上检查和了解Dbus的宝贵工具.尝试检查/ bluez总线. https://wiki.gnome.org/action/show/Apps/DFeet?action=show&redirect=DFeet

要么

sudo apt-get install d-feet

没有太多的教程,但值得阅读以理解一些概念,因为bluetoothctl工具符合他们在这里想说的内容. http://dbus.freedesktop.org/doc/dbus-tutorial.html

bluetoothctl创建了一个交互式shell,因此浪费时间尝试适合您的代码可能并不明智,只需从中选择您需要的内容即可.