Articles of bluez

Raspbian上的蓝牙LE

我使用以下configuration从源代码安装了bluez-5.15: $ ./configure –prefix=/usr –mandir=/usr/share/man –sysconfdir=/etc \ –localstatedir=/var –libexecdir=/lib –disable-systemd 然后,我必须手动将gatttool复制到/ usr / local / bin目录中 $ sudo cp attrib/gatttool /usr/local/bin/ 我重新启动了树莓派,并尝试以下连接到我的BLE设备: $ sudo hciconfig hci0 up $ sudo hcitool lescan LE Scan … EA:FB:B5:CE:B0:13 DfuTarg $ sudo hcitool lewladd EA:FB:B5:CE:B0:13 $ sudo hcitool lecc EA:FB:B5:CE:B0:13 Could not create connection: Input/output error 那么我试着用gattool连接: $ gatttool […]

如何用D-Bus获取设备名称?

我在Linux上用C ++开发了一个应用程序,它与蓝牙设备(如蓝牙套接字或扬声器)进行交互。 我使用D-Bus命令来获取配对设备的列表: dbus-send –system –dest=org.bluez –print-reply $BTADAPTER org.bluez.Adapter.ListDevices 它返回: method return sender=:1.0 -> dest=:1.90 reply_serial=2 array [ object path "/org/bluez/489/hci0/dev_00_1F_C5_75_45_5E" object path "/org/bluez/489/hci0/dev_F0_13_C3_00_A1_08" object path "/org/bluez/489/hci0/dev_00_11_12_30_76_21" object path "/org/bluez/489/hci0/dev_00_11_12_30_76_22" object path "/org/bluez/489/hci0/dev_00_11_12_30_76_23" object path "/org/bluez/489/hci0/dev_00_11_12_30_76_24" ] 这是伟大的,但我不仅需要MAC,但也需要设备的名称(如“linvor”或“GT-I9300”)。 请帮助我一个正确的方式来获得这些名字。

在Linux上直接控制HCI设备(绕过蓝牙驱动程序)

我需要直接控制一个HCI设备,而不需要Linux驱动程序/内核干扰。 例如,当创build到外设的LE连接时,驱动程序正在独立地发送“LE连接更新”命令,我想避免这种情况。 我虽然有两种方法来解决这个问题: configuration蓝牙驱动程序以某种方式禁用对HCI设备的干扰(类似于hciattach上的-r标志),然后使用常规的AF_BLUEOOTH套接字来控制HCI设备。 禁用这个特定的HCI设备,但保留父字符设备并直接连接到它。 到目前为止,我还没有成功find如何实施这些方法的方法。 我还应该提到,我仍然需要一个不同的HCI设备来“正常”地使用系统,所以完全禁用蓝牙驱动程序不是一个select。

Linux中的bluetooth / bluetooth.h在哪里?

我想build立基于BlueZ的交stream文件,但在我的系统似乎没有bluetooth.h文件。 fatal error: bluetooth/bluetooth.h: No such file or directory 我相信蓝牙适配器运行正常,我已经成功地build立了蓝牙。 更新 对于我的情况,我在/ user / include / bluetooth文件夹中find了bluetooth.h

使用BlueZ堆栈作为外设时错误的负载

我试图在这个问题上遵循davidgyoung提供的步骤。 这里是我使用的命令: hciconfig hci0 up hciconfig hci0 noleadv hcitool -i hci0 cmd 0x08 0x0008 48 45 4c 4c 4f 57 4f 52 4c 44 hciconfig hci0 leadv 这给了我这个输出: LE set advertise enable on hci0 returned status 12 < HCI Command: ogf 0x08, ocf 0x0008, plen 10 48 45 4C 4C 4F 57 4F 52 4C […]

蓝牙LE信号强度Linux

有没有什么办法可以通过蓝牙在linux上devise得到近信号强度? 或者任何好的库的nodejs,PHP或单声道(我知道一些C + +或Python,但宁愿说远离他们),如果一个工具不存在,但会很容易写 谢谢

蓝牙低功耗:使用BlueZ堆栈作为外设(具有自定义服务和特性)

我试图在Linux机器上使用BlueZ堆栈来创build一个具有自定义服务和特性的GATT服务器。 最终目标是使用任何中央设备(例如iOS或Android设备)连接到GATT服务器,发现服务和特征,并处理特征中的数据。 例: 包含3个特征的1个服务的外围设备。 服务uuid​​ = 0xFFFF 字符1 uuid = 0xAAAA,属性=可读 字符2 uuid = 0xBBBB,属性=可读写 字符3 uuid = 0xCCCC,属性=通知 从中央设备,我应该看到外围设备,连接到它并发现一个具有三个特征(0xAAAA,0xBBBB,0xCCCC)的服务(0xFFFF)。 然后我应该可以读取0xAAAA的值,读取和写入0xBBBB的值,并在0xCCCC上启用通知。 请注意,我知道存在类似的问题 ,但仅解释如何将外设用作广告客户。 另一个解决的问题解释了如何创build一个GATT服务器,但没有解释如何使用特性的属性(例如可读,通知等),或者我错过了一些东西。 先谢谢你。

在Linux的C blueZ上进行蓝牙配对

在使用BlueZ蓝牙库编写的程序中,我找不到任何有关如何在Linux上配对蓝牙设备的参考。 我已经设法做一个HCI级别的查询,以获得设备连同RSSI水平(在设备发现期间),但目前我坚持这一点。 我看到一个build议,使用DBUS api的blueZ-simple-agent – 但有什么办法可以避免这种情况,只是使用一些C级的方法从BlueZ?

我怎样才能连接到Linux上的蓝牙4.0LE的FitBit Zip与蓝色?

我购买了FitBit zip。 此设备使用蓝牙4.0 LE。 我想至less通过蓝色连接到它。 如果这是成功的,我想看看有多less协议,我可以找出。 我正在使用集成了对蓝牙4.0的支持的联想P500 Ideapad。 它似乎工作(种) 当我做: hcitool lescan 我能够find设备的蓝牙地址,它(尽pipe可能不相关)是:CF:D9:24:DB:F4:7B 现在,我读了另一个问题: 低功耗蓝牙:在Linux中侦听通知/指示 ,我可以侦听通知和其他协议function。 我已经使用旧的蓝牙,但我没有蓝牙LE的经验。 我试图使用hcitool lecc或gatttool连接到设备卡住了。 连接超时,似乎在Linux机器上将蓝牙保持在不良状态。 我能够通过重新加载蓝牙相关的内核模块来解决这个问题。 任何提示都表示赞赏。 我正在尝试最新的bluez。

Bluez:做广告服务/ gatt服务器的例子?

目标 我正在开发一个运行Linux的简单设备。 这是BLE能力,我目前使用蓝色5.8。 我想用iPhone触发此设备上的操作。 什么已经工作: 我可以让iPhone“看”设备。 iPhone也连接到设备。 我在linux上设置蓝牙设备(感谢这个问题 ): # activate bluetooth hciconfig hci0 up # set advertise data: "hello world" hcitool -i hci0 cmd 0x08 0x0008 48 45 4c 4c 4f 57 4f 52 4c 44 # start advertising as connectable hciconfig hci0 leadv 0 iOS代码很简单: – (int) scanForPeripherals { if (self->centralManager.state != CBCentralManagerStatePoweredOn) […]