找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

查看: 3676|回复: 8

[CSR8系列] GATT Server 搭建

[复制链接]
连续签到天数:4天
签到总天数:179天
签到总奖励:3931金币
发表于 2018-2-7 02:00:04 | 显示全部楼层 |阅读模式

马上注册,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册  

×
基本步骤:
1. 定义 service 和 characteristic
  1.1 确定UUID,实验时避免重复即可,生产的话参考bluetooth.org已定义的profile
  1.2 编写GATT db 接口文件 xx_sever_db.dbi,参考已有的服务
  1.3 把xx_sever_db.dbi 文件include 到 sink_gatt_db.db 文件中
2. 注册 service
  2.1 sink_gatt_init.c initialiseOptionalServerTasks() 添加服务器初始化代码
  2.2 修改注册参数,确定消息处理函数
    xx_server->lib_task.handler = xx_server_ext_msg_handler;
    xx_server->app_task = appTask;
    /* Fill in the registration parameters */
    reg_params.start_handle = start_handle;
    reg_params.end_handle   = end_handle;
    reg_params.task = &xx_server->lib_task;

  2.3 初始化代码中注册服务器
         GattManagerRegisterServer(&reg_params)
3. 编写消息处理函数

static void xx_server_ext_msg_handler(Task task, MessageId id, Message msg) {
    GIASS_T *sk_service = (GIASS_T*)task;
    GATT_MANAGER_SERVER_ACCESS_IND_T *access_ind;
    switch (id)   {
        case GATT_MANAGER_SERVER_ACCESS_IND:       {
         switch (access_ind->handle)          {

4. 注意事项
   4.1 reg_params.start_handle 和 end_handle 采用 sink_gatt_db.h 中的定义
   4.2 xx_server_ext_msg_handler 中 access_ind->handle 使用 从 xx_sever_db.dbi 产生的 .h 中的定义,这两个命名空间是不同的。这就是 init 和access 函数放在不同.c文件的主要原因。
   4.3 修改 sink_gatt_db.db 或者 .dbi 文件之后需要修改设备的地址/名字。手机会保存设备上的服务信息,如果设备地址不变的话会产生莫名问题。



评分

参与人数 1金币 +100 收起 理由
52bluetooth + 100 赞一个!

查看全部评分

楼主热帖
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
连续签到天数:4天
签到总天数:179天
签到总奖励:3931金币
 楼主| 发表于 2018-2-7 04:23:16 | 显示全部楼层
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:737天
签到总奖励:5909金币
发表于 2018-2-7 09:52:23 | 显示全部楼层
謝謝分享有機會試試
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:14天
签到总奖励:67金币
发表于 2018-2-7 10:29:08 | 显示全部楼层
smagi 发表于 2018-2-6 20:23
详细可以参考 http://blog.csdn.net/wzz4420381/article/details/78359481

原文的博主?
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:4天
签到总天数:179天
签到总奖励:3931金币
 楼主| 发表于 2018-2-7 10:34:06 来自手机 | 显示全部楼层
不是,写了一点发现有博文可以参考,就添点注意事项
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:45天
签到总奖励:802金币
发表于 2023-6-2 09:57:42 | 显示全部楼层
我在第2.1的时候初始化后板子无法开机,是怎么回事呢?
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:45天
签到总奖励:802金币
发表于 2023-6-2 10:01:59 | 显示全部楼层
我在2.1时因为初始化导致板子无法开机时怎么回事呢?
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:45天
签到总奖励:802金币
发表于 2023-6-2 10:20:24 | 显示全部楼层
在2.1时因为初始化导致板子无法开机时怎么回事呢?我的初始化函数时这样的:C:\Users\15544\Desktop\sink初始化.pngC:\Users\15544\Desktop\GATT初始化.png
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

连续签到天数:1天
签到总天数:64天
签到总奖励:2015金币
发表于 2023-11-24 18:27:19 | 显示全部楼层
学习
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

小黑屋|手机版|我爱蓝牙网 - 52Bluetooth

GMT+8, 2024-4-29 19:59 , Processed in 0.265844 second(s), 24 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表