从一个习惯的特征中读出

了解更多常见问题教程

7个职位/0个新职位
最后一篇文章
_阿斯梅塔
离线
最后一次见到:2天19小时前
已加入:2020-11-24 05:03
从一个习惯的特征中读出

你好,

我想知道如何将read poperty添加到自定义特征中,我已经向app\u peeripherra项目添加了一些自定义服务,我能够通知数据并通过app读取它们。现在我想为这些服务实现read功能,我参考了ADC val示例,但是当我从应用程序请求时,我没有看到任何值显示出来。让我用一个例子来解释一下,在app\u bass.c文件(电池服务器服务)中,一旦bass\u enable函数被调用,它就会启动一个计时器,一旦计时器过期,电池值就会用set\u battery\u level函数更新到GATT数据库。我想通过任何定制服务来实现这一点。我已经引用了SDK中的所有项目,但是没有发现任何具有显示值的read属性的自定义特征。

PM\U对话框
离线
最后一次见到:10小时58分钟前
工作人员
已加入:2018-02-08 11:03
嗨,阿斯梅塔,

嗨,阿斯梅塔,

抱歉耽误您的时间,祝您新年快乐。请查看在DA14531和DA14585/DA14586设备上创建自定义GATT配置文件特征从DA14531支持页。本教程旨在解释如何创建自定义服务,以及如何在特性中添加更好的属性。

谢谢,下午好

_阿斯梅塔
离线
最后一次见到:2天19小时前
已加入:2020-11-24 05:03
嗨,PM\U对话,

嗨,PM\U对话,

您在上面共享的教程只解释了如何使用notify/indicate发送数据。由于所有这些操作都在我们的DA14531端注册为写事件,因此我参考了ADC和其他几个示例来通知和指示,并成功地实现了相同的操作。我对阅读活动很感兴趣。据我所知,当从移动应用程序端发出读取请求时,我们的应用程序代码不会得到任何事件/中断。当我从用户端进行读取时,我希望看到在该特定特性上看到的值。我已经将read属性设置为characteristic,我想知道现在如何向它发送数据。

谢谢和问候,

_阿斯梅塔

PM\U对话框
离线
最后一次见到:10小时58分钟前
工作人员
已加入:2018-02-08 11:03
嗨,阿斯梅塔,

嗨,阿斯梅塔,

请看一下SDK的ble\u app\u外围示例。它位于projects\target\u apps\ble\u examples\ble\u app\u peripheral SDK path中。SVC1\u IDX\u ADC\u VAL\u 1\u CHAR具有读取和通知属性。一旦0x01写入控制点特性,那么应用程序将向设备发送通知。看看app\u adcval1\u timer\u cb\u handle()函数。“值”存储在req->value中。

谢谢,下午好

_阿斯梅塔
离线
最后一次见到:2天19小时前
已加入:2020-11-24 05:03
你好,

你好,

请阅读上面的查询,我已经实现了通知财产测试成功,很好用。我对这本书很感兴趣阅读这就是我们的要求。好的,下面是我提到的例子列表:

1)ble\应用程序\外围设备:服务3的特征3,已启用读取属性,但在读取请求完成时不传递任何数据。

2)应用程序前置程序报告程序:Bass服务,它使用read属性,但示例没有清楚地解释它们是如何执行的。

这个请求->值仅用于作为通知包的一部分发送,它不更新gatt数据库。下面是我所做的测试

使用notify每1秒发送一次步数数据,然后当我禁用notify并执行读取请求时,值字段显示为空。

我有附加e output with read and notify down below.

PM\U对话框
离线
最后一次见到:10小时58分钟前
工作人员
已加入:2018-02-08 11:03
嗨,阿斯梅塔,

嗨,阿斯梅塔,

我想我得到了你的要求。请参考SDK的ble\u app\u外围示例和“ADC Value 1”特性。在CUSTS1数据库中,请检查ADC值1特征值-SVC1\u IDX\u ADC\u VAL\u 1\u VAL:

根据attm\u db\u 128.h中的attm\u desc\u 128 struct属性描述,最后两个参数是元素的当前长度及其值。因此,如果要通过对等设备读取,应将值传递到SVC1\u IDX\u ADC\u VAL\u 1\u VAL。例如:

[SVC1_IDX_ADC_VAL_1_VAL]={SVC1_ADC_VAL_1_UUID_128,ATT_uid_128_LEN,PERM(RD,ENABLE)| PERM(NTF,ENABLE),DEF_SVC1_ADC_VAL_1_CHAR_LEN,2,(uint8_t*)“ab”},

您还可以将类型转换的值传递给(uint8\u t*)。特定特征值的长度为2个字节(DEF\ u SVC1\ u ADC\ u VAL\ u 1\ u CHAR\ LEN)。希望这有帮助!

谢谢,下午好

_阿斯梅塔
离线
最后一次见到:2天19小时前
已加入:2020-11-24 05:03
你好,

你好,

非常感谢,这很有帮助。当我请求读取时,我可以通过应用程序查看数据。非常感谢。