你好,
我试图开发一个控制LED的应用程序,我改变了通用访问服务的特征“外观”,以允许写操作。这是工作,当我连接到蓝牙,我可以改变值,当我读取它是正确的。
现在我想在代码中实现一些小更新的开/关LED取决于外观值,但我不明白在代码中我可以得到这个值和我如何可以测试它。我的应用程序是基于SmartTag的例子。
问候,
向上
嗨Sbourahla,
我会尽快检查并回复你。
最好的问候,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;
//发送请求给GATTke_msg_send(要求的);}
你认为我可以用这个读取属性/特征吗?
最好的问候,
有一个GAPM_APPEARANCE_IND当外观可写并被对等设备修改时,我们的ble堆栈中的消息被触发。
当对端设备修改设备外观时触发的事件。这只能发生在设备外观可写入属性数据库。
你需要做的是:1.转到app_task_handlers.h,填充行"{GAPM_APPEARANCE_IND (ke_msg_func_t) gapm_appearance_ind_handler}在数组app_default_state2.定义自己的消息处理程序如下格式:
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控制
}
谢谢,我用SmartTag应用实现了这个,这就是工作。现在我更了解BLE堆栈和SDk是如何工作的。由于某些原因,条件“ke_state_get(dest_id) == APP_CONNECTED)不工作。我认为这是因为我没有使用这个好的Android应用程序(SmartTag应用程序只在iOS上,所以我使用一个标准BLE扫描在Android上),所以状态APP_CONNECTED它从来没有定义。你觉得呢?
我们相信。当发送外观写cmd时,您可以在应用程序端检查设备是否仍处于连接状态。
向上
嗨Sbourahla,
我会尽快检查并回复你。
最好的问候,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(要求的);
}
你认为我可以用这个读取属性/特征吗?
最好的问候,
嗨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
嗨RvA,
谢谢,我用SmartTag应用实现了这个,这就是工作。现在我更了解BLE堆栈和SDk是如何工作的。由于某些原因,条件“ke_state_get(dest_id) == APP_CONNECTED)不工作。我认为这是因为我没有使用这个好的Android应用程序(SmartTag应用程序只在iOS上,所以我使用一个标准BLE扫描在Android上),所以状态APP_CONNECTED它从来没有定义。你觉得呢?
最好的问候,
嗨Sbourahla,
我们相信。当发送外观写cmd时,您可以在应用程序端检查设备是否仍处于连接状态。
最好的问候,RvA