首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SensorTag,使用gatttool检测按下的按钮

SensorTag,使用gatttool检测按下的按钮
EN

Stack Overflow用户
提问于 2014-05-08 14:31:12
回答 1查看 3K关注 0票数 1

我想检测一下是否使用gatttool在我的SensorTag上推了一个botton,但是我无法做到这一点。

指南 TI报告中,为了读取按下的按钮,您应该:

1)通过将值0x80写入AA62 (配置)属性来启用测试模式。

我的命令是这样的:

代码语言:javascript
复制
[CON][BC:6A:29:AE:CD:E5][LE]> char-write-req 0x67 80
[CON][BC:6A:29:AE:CD:E5][LE]> Characteristic value was written successfully

现在我应该处于测试模式,并且:

2)启用简单键通知

看一下Server.pdf蓝边库,似乎我必须在0x60中编写0100来实现这一点。但

代码语言:javascript
复制
 [CON][BC:6A:29:AE:CD:E5][LE]> char-write-req 0x60 0100
 [CON][BC:6A:29:AE:CD:E5][LE]> Characteristic Write Request failed: Attribute can't be written

我观察到0x61是可写的,并接受0100值,但我仍然无法检测是否按下了键。

有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-09 17:02:22

那份PDF文件可能过时了..。我刚刚尝试在我的SensorTag上使用gatttool,并使用以下命令获得按钮通知:char-write-req 0x6c 0100

我只会坚持使用用于SensorTag的TI wiki,因为它可能更有可能是最新的。wiki说,如果您想在按side按钮时获得通知,只需要执行“测试模式”步骤(因为通常情况下,它只会激活广告)。

另外,您可能需要弄清楚在您的特定设备上使用什么手柄,因为每个固件都会导致手柄移动。固件之间不应该改变的是UUID。尝试gatttool中的primarycharacteristics命令,以获取设备上服务的详细信息。

我的primary展示了这一点:

代码语言:javascript
复制
attr handle: 0x005e, end grp handle: 0x0068 uuid: f000aa50-0451-4000-b000-000000000000
attr handle: 0x0069, end grp handle: 0x006d uuid: 0000ffe0-0000-1000-8000-00805f9b34fb
attr handle: 0x006e, end grp handle: 0x0074 uuid: f000aa60-0451-4000-b000-000000000000

ffe0是简单密钥服务的UUID (尽管wiki说它是f000ffe0,但它不是我的)。所以,所有要查看的句柄都是从0x69到0x6d。

char-read-uuid 0x2902 0x69 0x6d将在此范围内显示所有CCC (客户端特性配置):

代码语言:javascript
复制
handle: 0x006c   value: 01 00 

将该句柄设置为0100将打开该服务的通知。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23544799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档