新从淘宝上买了个Orico BT4的USB Dongle,主要是用来测试BLE设备,但是发现Ubuntu下的hcitool/gatttool没有显示版本的命令。忽然意识到这个不起眼的命令也是有作用的。
找了半天,发现是需要从BlueZ的deb中去分析出来。
$ dpkg -s bluez | grep -i "version"
Version: 5.48-0ubuntu3.1
官网上最新版是5.49,Ubuntu 18.04LTS自带5.48(Dec, 2017)的够新了。
测试
之前从咸鱼上找的PCA10028,nRF51422AC。上电后,用hcitool/gatttool测试了一下。
$ sudo hcitool lescan
LE Scan ...
D1:D9:19:88:35:A3 Button
D1:D9:19:88:35:A3 (unknown)
sudo gatttool -b D1:D9:19:88:35:A3 -I
[D1:D9:19:88:35:A3][LE]> connect
Attempting to connect to D1:D9:19:88:35:A3
[D1:D9:19:88:35:A3][LE]> primary
Command Failed: Disconnected
不清楚为何会拒绝连接。后来发现这套工具太老了,被人唾弃了。虽然使用以下语句可以正常连接,但是经常会断开连接。
sudo gatttool -b D1:D9:19:88:35:A3 -I -t random
[D1:D9:19:88:35:A3][LE]> connect
Attempting to connect to D1:D9:19:88:35:A3
Connection successful
[D1:D9:19:88:35:A3][LE]> primary
[D1:D9:19:88:35:A3][LE]> included
Error: Find included services failed: Request attribute has encountered an unlikely error
网友评论