7个帖子/ 0新
最后一篇
Sbourahla.
离线
最后一次露面:5年5个月前
专家
加入:2015-02-25 09:51
读/写

您好,

我尝试开发一个用于控制LED的应用程序,我更改通用访问服务的特征“外观”以允许写入操作。它的工作,当我连接到蓝牙时,我可以更改值,当我读取它是正确的时。

现在我想在代码中实现一些次要更新,根据外观值,我不明白代码中的位置,我可以获得这个值以及如何测试它。我的应用程序基于SmartTag示例。

问候,

Sbourahla.
离线
最后一次露面:5年5个月前
专家
加入:2015-02-25 09:51
向上

向上

RVA.
离线
最后一次露面:9小时20分钟前
员工
加入:2014-02-07 14:10
嗨Sbourahla,

嗨Sbourahla,

我会尽快检查并回复您。

最好的问候,RVA

Sbourahla.
离线
最后一次露面:5年5个月前
专家
加入:2015-02-25 09:51
嗨RVA,

嗨RVA,

好的,谢谢,我继续寻找这个,我在文件“prf_utils.h”中找到了这个:

void prf_read_char_send(struct prf_con_info * con_info,
UINT16_T SHDL,UINT16_T EHDL,UINT16_T VALHDL)
{
struct gattc_read_cmd * req = ke_msg_alloc(gattc_read_cmd,ke_build_id(task_gattc,con_info-> conidx),
con_info-> prf_id,gattc_read_cmd);
//请求类型
req-> req_type = gattc_read;
req-> nb = 1;
req-> req.simple.offset = 0;
req-> req.simple.length = 0;
req-> req.simple.handle = Valhdl;

//向GATT发送请求
KE_MSG_SEND(REQ);
}

你认为我可以用这个读取属性/特征吗?

最好的祝福,

RVA.
离线
最后一次露面:9小时20分钟前
员工
加入:2014-02-07 14:10
嗨Sbourahla,

嗨Sbourahla,

有一个gapm_appearance_ind.在我们的BLE堆栈中的消息,当外观是可写的并由对等设备修改时触发的。

当对等设备修改设备外观时,事件触发。只有设备才会发生
外观是可写入属性数据库。

你需要做的是:
1.转到app_task_handlers.h,填写线“{gapm_appearance_ind,(ke_msg_func_t)gapm_appearance_ind_handler},“在Array App_Default_State
2.按照以下格式定义自己的消息处理程序:

int gapm_appearance_ind_handler(ke_msg_id_t const msgid,
struct gapm_appearance_ind const * param,
ke_task_id_t const dest_id,
ke_task_id_t const src_id)
{
if(ke_state_get(dest_id)== app_connected)
{
//检查Param以查看更改的外观值,并执行相应的LED控制
}
}

最好的问候,RVA

Sbourahla.
离线
最后一次露面:5年5个月前
专家
加入:2015-02-25 09:51
嗨RVA,

嗨RVA,

谢谢,我用SmartTag应用程序实现了这个,它的工作。现在我了解更多的BLE堆栈和SDK工作。由于条件“ke_state_get(dest_id)== app_connected的某些原因它不起作用。我认为这是因为我不使用良好的Android应用程序(SmartTag应用程序,所以我使用Standart BLE扫描Android)所以Status App_connected它永远不会定义。你觉得怎么样?

最好的祝福,

RVA.
离线
最后一次露面:9小时20分钟前
员工
加入:2014-02-07 14:10
嗨Sbourahla,

嗨Sbourahla,

我们相信。当发送外观写入CMD时,您可以检查设备是否仍处于应用程序侧的连接状态。

最好的问候,RVA