如何扫描BLE设备
来自百问网嵌入式Linux wiki
目录
如何扫描 BLE 设备
- 本页列出了扫描、连接和显示 BLE 设备信息的操作示例。 BLE代表低功耗蓝牙
需要的软件包
- bluez5
配置
- 修改配置文件 /etc/udev/rules.d/10-local.rules 让蓝牙自动启动:
# Set bluetooth power up
ACTION=="add", KERNEL=="hci0", RUN+="/usr/bin/hciconfig hci0 up
一些实用命令
- Bluez 默认提供一些工具来分析蓝牙网络。
- hciconfig 配置hci连接
- hcitool 进行扫描、查找设备、连接到设备、管理设备列表。设备可能是正常或低能耗模式。
- gatttool 用于BLE设备管理
连接BLE设备的步骤
- 扫描附近所有可见的低功耗蓝牙设备的命令:
Board $> hciconfig hci0 up
Board $> hcitool lescan
- 扫描可用的BLE设备:
Board $> hcitool lewladd <BLE_MAC_ADDRRESS>
- 将 BLE 设备添加到白名单中(可选):
Board $> hcitool lecc <BLE_MAC_ADDRESS>
GATTTOOL 交互模式
Board $> gatttool -b <MAC Address> --interactive
- 在交互模式下,可以使用下面的命令:
- connect:连接到指定的设备
- primary:禁用所有主要属性
- char-read-hnd <handle> 读取指定的句柄/属性值
- char-write-cmd <handle> <value>修改句柄值
GATTTOOL 非交互模式:
- 在非交互模式下,命令是一一发出的。在每个命令中,GATTTOOL 都会尝试连接设备、操作和断开与设备的连接。
- 以下是几个示例:
Board $> gatttool -b <Mac Address> --primary
Board $> gatttool -b <MAC Address> --characteristics
Board $> gatttool -b <MAC Address> --char-read
Board $> gatttool -b <MAC Address> --char-desc