![没有用于配对的蓝牙引脚选项](https://linux22.com/image/897739/%E6%B2%A1%E6%9C%89%E7%94%A8%E4%BA%8E%E9%85%8D%E5%AF%B9%E7%9A%84%E8%93%9D%E7%89%99%E5%BC%95%E8%84%9A%E9%80%89%E9%A1%B9.png)
更新
似乎可以与模块配对并通信没有使用引脚,但到目前为止只使用gatttool
。我仍在学习 BLE,我不清楚这是否是正常功能(例如低安全性默认模式),或者我使用的模块(JDY-08 / BT05 / HM-10 样式 BLE 串行)是否可能不兼容并且只是不使用设置的引脚。
通过 Ubuntu Mate 中的默认连接工具
我在联想 P50 上运行 Ubuntu Mate。我正在探索 BT05 BLE 模块,但由于我认为 Ubuntu 中可能存在错误,我无法连接到该设备。我连接设备的步骤如下:
- 从蓝牙菜单中,我选择“设置新设备”。
- 我从列表中选择设备
- 然后继续,选择“配对设备”
- 屏幕上出现“正在配对...”字样。
- 几分钟后,消息变为“添加设备失败”。
- 在任何时候都没有提示我输入配对所需的 6 位密码。
该引脚是自定义的,操作系统无法推断(强制 10^6 种可能性不足),所以我需要能够在连接到设备时输入它。这个问题可能相关。命令找到这里是一种可能的解决方案,但到目前为止,仍然没有通过图形用户界面与蓝牙设备通信的方法。
通过bluetoothctl
bluetoothctl
声称连接(不使用自定义引脚)。(这个问题有助于理解bluetoothctl
正在做什么)。但是,一旦设备配对,似乎就无法读取/写入特性?
φ bluetoothctl
[bluetooth]# agent on
Agent registered
[bluetooth]# default-agent
Default agent request successful
[bluetooth]# scan on
[NEW] Device [address] [name]
[bluetooth]# scan off
[bluetooth]# pair [address]
Attempting to pair with [address]
[CHG] Device [address] Paired: yes
Pairing successful
[name]# info [address]
Device [address]
Name: [name]
Alias: [name]
Paired: yes
Trusted: yes
Blocked: no
Connected: yes
LegacyPairing: no
UUID: Generic Access Profile ([ID1])
UUID: Generic Attribute Profile ([ID2])
UUID: Device Information ([ID3])
UUID: Unknown ([ID4])
Modalias: bluetooth:[number]
[name]# list-attributes
[no attributes]
例如,基于这教程中,我希望特性和属性在配对后变得可用。
通过hcitool
和gatttool
我是能够连接到模块并使用命令hcitool
和访问相关属性gatttool
。这也是没有一枚别针。
φ sudo hcitool -i hci0 lescan --duplicates | grep 'earlybird'
[ADDRESS] [NAME]
φ gatttool -i hci0 -b [ADDRESS] -I
[ADDRESS][LE]> connect
Attempting to connect to [ADDRESS]
Connection successful
[ADDRESS][LE]> primary
attr handle: 0x0001, end grp handle: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb
attr handle: 0x000c, end grp handle: 0x000f uuid: 00001801-0000-1000-8000-00805f9b34fb
attr handle: 0x0010, end grp handle: 0x0022 uuid: 0000180a-0000-1000-8000-00805f9b34fb
attr handle: 0x0023, end grp handle: 0xffff uuid: 0000ffe0-0000-1000-8000-00805f9b34fb
[ADDRESS][LE]> included
No included services found for this range
[ADDRESS][LE]> characteristics
handle: 0x0002, char properties: 0x02, char value handle: 0x0003, uuid: 00002a00-0000-1000-8000-00805f9b34fb
...
handle: 0x0024, char properties: 0x1e, char value handle: 0x0025, uuid: 0000ffe1-0000-1000-8000-00805f9b34fb
答案1
实际上,您链接的帖子是相同的,因为它们也没有 PIN 选项,第二张图片来自其他人。我会在终端中尝试,将您的 BT05 设备置于配对模式
echo -e "power on\n scan on" |bluetoothctl
然后,您应该会看到一个带有 MAC 地址和名称的新设备的引用,使用终端中显示的 MAC 地址,或者您可以输入前几个数字,然后使用 TAB 键自动完成
pair {MAC}
trust {MAC}
connect {MAC}
如果运气好的话,它会配对或要求您输入 PIN。如果这不起作用,请安装 Blueman
sudo apt install blueman
看看它是否允许您使用 6 位 PIN,因为这是 16.04 版 gnome-bluetooth 的一个错误