7个帖子/ 0个新
最后发表
sbourahla
离线
最后看到:5年10个月前
专家
加入:2015-02-25 09:51
读/写

你好,

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

现在我想在代码中实现一些小更新的开/关LED取决于外观值,但我不明白在代码中我可以得到这个值和我如何可以测试它。我的应用程序是基于SmartTag的例子。

问候,

sbourahla
离线
最后看到:5年10个月前
专家
加入:2015-02-25 09:51
向上

向上

RvA
离线
最后看到:3天14小时前
工作人员
加入:2014-02-07 14:10
嗨Sbourahla,

嗨Sbourahla,

我会尽快检查并回复你。

最好的问候,RvA

sbourahla
离线
最后看到:5年10个月前
专家
加入:2015-02-25 09:51
嗨RvA,

嗨RvA,

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

Void prf_read_char_send(struct prf_con_info* con_info,
Uint16_t shdl、ehdl、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_type = GATTC_READ;
申请- > nb = 1;
申请- > req.simple。抵消= 0;
申请- > req.simple。长度= 0;
申请- > req.simple。处理= valhdl;

//发送请求给GATT
ke_msg_send(要求的);

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

最好的问候,

RvA
离线
最后看到:3天14小时前
工作人员
加入: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}在数组app_default_state
2.定义自己的消息处理程序如下格式:

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)
//检查参数,查看修改后的外观值,并做相应的LED控制

最好的问候,RvA

sbourahla
离线
最后看到:5年10个月前
专家
加入:2015-02-25 09:51
嗨RvA,

嗨RvA,

谢谢,我用SmartTag应用实现了这个,这就是工作。现在我更了解BLE堆栈和SDk是如何工作的。由于某些原因,条件“ke_state_get(dest_id) == APP_CONNECTED)不工作。我认为这是因为我没有使用这个好的Android应用程序(SmartTag应用程序只在iOS上,所以我使用一个标准BLE扫描在Android上),所以状态APP_CONNECTED它从来没有定义。你觉得呢?

最好的问候,

RvA
离线
最后看到:3天14小时前
工作人员
加入:2014-02-07 14:10
嗨Sbourahla,

嗨Sbourahla,

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

最好的问候,RvA