“How to scan BLE devices”的版本间的差异

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

2019年12月26日 (四) 15:04的版本

如何扫描 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>
连接 BLE 设备:
一旦识别出BLE设备,就可以使用 GATTTOOL 发现,读取和修改其特性(见附件)。
GATTTOOL 提供两种工作模式:交互式和非交互式

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