Bluetooth LE on Raspbian

混江龙づ霸主 提交于 2019-11-30 22:49:35

First off, I spoke with a colleague about my configuration and for Raspbian (or more specifically, Debian) he recommended the following configuration settings:

./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-library --with-systemdsystemunitdir=/lib/systemd/system --with-systemduserunitdir=/usr/lib/systemd

Afterward, upon further inspection, here is how I was able to successfully connect. So what was happening was that the device I was trying to connect to (an NRF-based BLE device) required the LE address flag to be set to 'random'. See below:

gatttool -t random -b EA:FB:B5:CE:B0:13 -I

Then the result:

[EA:FB:B5:CE:B0:13][LE]> connect
Attempting to connect to EA:FB:B5:CE:B0:13
Connection successful
[EA:FB:B5:CE:B0:13][LE]> characteristics
handle: 0x0002, char properties: 0x0a, char value handle: 0x0003, uuid: 00002a00
-0000-1000-8000-00805f9b34fb

Huzzah! Also, there may be a need to set the security level to something lower than high:

[EA:FB:B5:CE:B0:13][LE]> sec-level medium

From my experience with Bluez 5.15

  1. Ensure you have no connections to the BLE device (check with hcitool con).
  2. Do not run hcitool lecc.
  3. Start gatttool like in your question.
  4. In gatttool run connect command. If the command hangs, then press button on the device (i.e. sometimes needed when connecting to SensorTag).

I believe earlier versions of Bluez required hcitool lecc step, but it is not the case anymore.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!