自定义配置文件:读取特性

7个帖子/ 0个新
最后发表
jamartin
离线
最后看到:5年9个月前
加入:2016-07-05十六
自定义配置文件:读取特性

我试图创建一个应用程序,作为一个串口连接的服务器。为此,我创建了一个自定义配置文件,具有两个特征:
Tx:从服务器向客户端发送1字节的数据。
Rx:从客户端向服务器端发送1字节的数据。

我遵循了教程4(创建自定义配置文件),但它只解释了如何创建可写入的特征。
显然,Tx需要读取,但我似乎找不到任何例子,如何从网站上或在示例项目中读取特性。

我也不能使用sample128,因为它是为SDK 3设计的,我使用的是SDK 5。
你能给我指出一些正确的方向吗?

谢谢。

设备:
MT_dialog
离线
最后看到:1年3个月前
工作人员
加入:2015-06-08 34
嗨jamartin,

嗨jamartin,

通常对于传输,使用可通知特性,例如在服务器端的DSPS应用程序,它使用通知将数据发送到中央,你也可以看看app_ble_peripheral项目,它也使用可通知特性将数据发送到中央。

由于MT_dialog

jamartin
离线
最后看到:5年9个月前
加入:2016-07-05十六
我已经审核了ble_app

我回顾了ble_app_peripheral示例,它定义了许多读+通知特性。然而,不幸的是,每个特征的处理程序函数都是空的。所以我可以看到需要写什么函数,但我不确定如何开始向客户端发送数据。(在ios上暂时使用浅蓝色)。正如代码目前所示,试图从一个特征中读取将返回“无值”。我需要在处理函数中做什么来将数据发送到客户端?我必须与内核交互吗?我是否能够一次发送1个字节,或者内核等待更多的数据可用,并将数据以多个字节的数据包发送给客户端?

一个详细的解释或例子将非常感激,因为我是新的这一点。

MT_dialog
离线
最后看到:1年3个月前
工作人员
加入:2015-06-08 34
嗨jamartin,

嗨jamartin,

ble_app_peripheral具有以下功能,用户应该从中央写入控制点特征,一旦在外围写入处理程序user_custs1_ctrl_wr_ind_handler()(向应用程序指示已写入指定的特征)将被触发。该函数将触发一个计时器,当时间流逝时,计时器的处理程序将被调用app_adcval1_timer_cb_handler()。计时器处理程序将分配一个通知消息CUSTS1_VAL_NTF_REQ,该消息包括要发送到中心的数据并将其发送到cust1配置文件。custs1_task.c中的custs1_val_ntf_req_handler()将处理该消息,并将通知命令发送到堆栈,从而发送到中央。中央为了接收这类通知,需要启用它们。我希望上面的解释足以让你开始。

由于MT_dialog

jamartin
离线
最后看到:5年9个月前
加入:2016-07-05十六
谢谢,这非常

谢谢,这对我很有帮助。我将看看是否可以修改ble_app_peripheral项目以满足我的需求。

justinturley
离线
最后看到:5年6个月前
加入:2016-06-19 23:55
你好,

你好,

我也有一个类似的问题,这个帖子回答了部分问题,所以谢谢你。我还想了解更多关于通知操作的信息。

我知道Central(客户端)设备必须启用通知,以允许服务器推送数据。是否有一个检查我(服务器)需要执行,以知道通知是否已被客户端启用?

谢谢,

贾斯汀

MT_dialog
离线
最后看到:1年3个月前
工作人员
加入:2015-06-08 34
嗨justinturley,

嗨justinturley,

是的,您可以使用attmdb_att_get_value()函数的notify属性读取特征,并检查返回的值是否等于PRF_CLI_START_NTF。如果这意味着中心已经启用了特征,并且当中心写入你的可通知特征时,你会得到应用程序的指示,请查看下一篇文章http://support.dialog-semiconductor.com/bug-report-multi-periodic-appeas..。

由于MT_dialog