当前位置: 首页 > news >正文

西安网站维护兼职wordpress输入密码访问

西安网站维护兼职,wordpress输入密码访问,本地建站工具,名聚优品一家只做正品的网站本文主要描述了沁恒蓝牙mesh SDK的蓝牙数据收发接口,以及应用层的回调函数解析以及模型传递 这里写目录标题 1. 数据收发接口1.1【发送数据】1.2 【数据接收】 2. 应用层模型分析 1. 数据收发接口 1.1【发送数据】 /*(1)接口1 */ /*接口一&…

本文主要描述了沁恒蓝牙mesh SDK的蓝牙数据收发接口,以及应用层的回调函数解析以及模型传递

这里写目录标题

  • 1. 数据收发接口
    • 1.1【发送数据】
    • 1.2 【数据接收】
  • 2. 应用层模型分析

1. 数据收发接口

1.1【发送数据】

/*=====================(1)接口1 ==================================*/
/*接口一:沁恒厂家封装的函数接口*/
int vendor_model_srv_send(uint16_t addr, uint8_t *pData, uint16_t len);  //  目的地址、数据、长度-> vendor_message_srv_send_trans(); // 只发送,无应答-> adv_srv_trans_send();-> bt_mesh_model_send();  // lib 库,数据发送
/*
注意通过调用 vendor_model_srv_send 函数,可以将数据发送给指定地址,可以是组地址,也可以是单播地址。
例程的应用层发送次数为 5 次,如果实际使用环境较复杂,可以提高发送次数,保证传输成功率TTL 是默认是 3,如果网络较大,应把默认值根据需要转发的次数改大。
*//*=====================(2)接口2 ==================================*/
/*接口二:蓝牙 mesh 协议栈 lib库接口*/
int bt_mesh_model_send( struct bt_mesh_model *model,struct bt_mesh_msg_ctx *ctx, struct net_buf_simple *msg,const struct bt_mesh_send_cb *cb, void *cb_data );

1.2 【数据接收】

当模型收到数据,首先进入初始化模型的操作码对应处理函数,随后会在处理函数中调用回调函数上报给应用层

  • 接收 MESH 数据 :协议栈收到 MESH 数据后,会调用 vendor_model_srv_rsp_handler 回调函数通知应用

以demo为例,自定义模型以及初始化的过程为: 以 adv_vendor工程为例

<font color='blue'> ****</font>/*(1)定义模型应用密钥和订阅地址----注意:组地址的范围是0xc000-0xffff*/
uint16_t vnd_model_srv_keys[CONFIG_MESH_MOD_KEY_COUNT_DEF] = {BLE_MESH_KEY_UNUSED};   /*一个模型一个key*/
uint16_t vnd_model_srv_groups[CONFIG_MESH_MOD_GROUP_COUNT_DEF] = {BLE_MESH_ADDR_UNASSIGNED};  /*一个模型可被分到6个组中*//*(2)定义透传模型的op操作码*/
#define OP_VENDOR_MESSAGE_TRANSPARENT_CFM    BLE_MESH_MODEL_OP_3(0xCB, CID_WCH)   /*0xcb07d7*/
#define OP_VENDOR_MESSAGE_TRANSPARENT_WRT    BLE_MESH_MODEL_OP_3(0xCC, CID_WCH)   /*0xcc07d7*/
#define OP_VENDOR_MESSAGE_TRANSPARENT_ACK    BLE_MESH_MODEL_OP_3(0xCD, CID_WCH)	  /*0xcd07d7*/
#define OP_VENDOR_MESSAGE_TRANSPARENT_IND    BLE_MESH_MODEL_OP_3(0xCE, CID_WCH)
#define OP_VENDOR_MESSAGE_TRANSPARENT_MSG    BLE_MESH_MODEL_OP_3(0xCF, CID_WCH)/*(3)定义op对应的处理函数*/
const struct bt_mesh_model_op vnd_model_srv_op[] = {{OP_VENDOR_MESSAGE_TRANSPARENT_MSG, 0, vendor_message_srv_trans}, /*长度为0表示数据的长度非固定值,op操作码以及对应的处理函数*/{OP_VENDOR_MESSAGE_TRANSPARENT_WRT, 0, vendor_message_srv_write},{OP_VENDOR_MESSAGE_TRANSPARENT_ACK, 0, vendor_message_srv_ack},BLE_MESH_MODEL_OP_END,
};/*(4) 定义模型配置字 */
struct bt_mesh_vendor_model_srv vendor_model_srv = {.srv_tid.trans_tid = 0xFF,/*应用层注册的此模型内操作码回调函数,收到op的数据后,执行op对应的处理函数,处理完数据后,应用层注册的此模型内操作码回调函数*/ .handler = vendor_model_srv_rsp_handler, 
};/*(5)自定义加载模型*/
struct bt_mesh_model vnd_models[] = {BLE_MESH_MODEL_VND_CB(CID_WCH, BLE_MESH_MODEL_ID_WCH_SRV, vnd_model_srv_op,          /* op对应的处理函数*/NULL, vnd_model_srv_keys,		   /* 模型应用密钥 */vnd_model_srv_groups, 	   /* 和订阅地址 */&vendor_model_srv,         /* 模型配置字 */NULL),
};/*(6)初始化以及模型数据传递的过程*/
void App_Init();-> vendor_model_srv_init(vnd_models);   {vendor_model_srv->model = vnd_models} /*将自定义的模型传递到 vendor_model_srv->model 中*/

1️⃣ 接收到的数据是如何通知到应用层的?

  1. 应用层初始化中注册应用层事件处理函数
    void App_Init() {
    App_TaskID = TMOS_ProcessEventRegister(App_ProcessEvent);
    }
  2. 通过模型以及代码框架配置,mesh网络节点收到数据时会调用应用层注册的回调函数 vendor_model_srv_rsp_handler(),在该回调函数中解析收到的蓝牙数据包指令,根据解析的结果有不同事件,从而启动不同的 服务函数。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-US4A4CtM-1690340820581)(pic/image-20230721165027864.png)]

2. 应用层模型分析

自定义模型结构体:bt_mesh_model

自定义模型加载接口为结构体数组:vnd_models[],其中 vnd_models[7] 的元素 =
vendor_model_srv,在 vendor_model_srv中定义了 handler 函数 模型服务回调函数 vendor_model_srv_rsp_handler

在这里插入图片描述

http://www.yayakq.cn/news/84561/

相关文章:

  • 找资料的免费网站关于实验室建设的英文网站
  • 网站后台权限管理河南天元建设公司网站
  • 荣县住房和城乡建设厅网站宜宾移动网站建设
  • 网站建设需要什么内容html模板引擎
  • 黄岩网站建设兼职怎样做能让招聘网站记住密码
  • 江西网站建设开发湖南省交通建设质量安全监督管理局网站
  • 网站如何做seo规划有没有专门做ppt的网站吗
  • 做刷单网站违法吗2022年网络热点事件舆情案例
  • wordpress模板原创站内优化网站怎么做
  • 网站开发流程记住吧纵横seo助手
  • 小蘑菇网站建设软件wordpress二次元 插件
  • 商务网站建设实验报告网络优化方案案例
  • 沙田镇仿做网站wordpress插件 自动翻译
  • 加强门户网站建设通知网站制作的合同
  • 广州做网站如何广西网站建设公司哪家好
  • .net做网站用什么的多中天建设网站
  • 做网站首选智投未来1有趣的网站知乎
  • 个人站长网站seo网络推广优化
  • 我们提供的网站建设公关
  • 简述企业网站推广的策略网络销售如何推广
  • 网站新闻收录问题网页美工设计教学设计
  • 做外贸网站多久更新wordpress文章批量删除
  • cms傻瓜式建站系统做网站的时候想要满屏
  • 报价网站系统seo搜索引擎优化包邮
  • 宁波网站推广排名苏州做网站推广的
  • 如何建设网站推广平台江西工厂网站建设
  • 陕西网络公司网站建设四省网站建设
  • 无锡网站建设方案托管手机微信的网站案例
  • 光伏电站建设的国家网站wp上的wordpress
  • 重庆微信网站开发百度采购网