gpt4 book ai didi

c - Bluez编程

转载 作者:太空狗 更新时间:2023-10-29 16:53:25 37 4
gpt4 key购买 nike

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

最佳答案

您可能想查看 client 中的 main.c 文件最新的 Bluez 源代码的文件夹。它是 bluetoothctl 工具的源代码。也运行它。源代码准确地显示了他们如何使用 GDBus,包括代理、代理、API 中描述的调用方法(/doc folder)等等。它在 C 中并使用高级 API。

我建议您单步执行代码,因为我花了 2 周的时间不断尝试理解 C 中的 Bluez 以及没有文档的事实,但是当我阅读那个 main.c 文件时,我一天之内就准备好了。阅读正确的 Dbus API 文档,更重要的是阅读概念。一些对我有帮助的文档:

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

这些包含了对gdbus 的所有调用和main.c 文件中的对象,并很好地解释了它们。 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,因此浪费时间尝试适应您的代码可能并不明智,而只是从中选择您需要的东西。

关于c - Bluez编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29767053/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com