通用属性配置(Generic Attribute Profiles)

1. 数据在services里面以特征字(characteristics)的形式展示出来

如你所见, 特征字包含属性(Properties), 值(Value), 跟若干描述(Descriptor)

上面的截图描述了, 句柄在40的类型为0x2803的GATT特征字声明UUID中, 权限为只读, 里面的值又包含了

0xFFE1: 简单键值对自定义UUID

0x0029: 对应句柄41

0x10: 对应权限为notify

再看句柄41

类型是0xFFE1, 权限为0, 值为0

另外, 句柄42规定, 它的值如果是0x0000, 就是无notify, 如果改成0x0001, 就会开始notify

service的定义规则会将一堆的句柄放在一起, 作为一个service, 直到另一个的service定义出现, 不然会被当做同一个service, 比如上面的例子的40-42都是属于句柄39这个service.

客户端命令

1. 当两个BLE设备进入连接状态, GATT客户端可以做下面的事儿:

a: 用UUID发现特征字

b: 读特征字的值

c: 写特征字的值

2. 一个GATT server设备可以在客户端无动作的情况下, 自动发送:

a: 通知(Notification), 无回应

b: 指示(Indication), client必须响应才会继续发送

TI CC254x BLE教程 3的更多相关文章

  1. TI CC254x BLE教程 4

    TI的CC254x芯片 1. SoC 2. RF收发器+8051MCU 128/256KB Code空间. 3. Master或者Slave 4. 可编程flash 5. 8KB SRAM 6. 全软 ...

  2. TI CC254x BLE教程 2

    连接更新请求(connection update request) 如果slave不满意现有的连接参数, 比如间隔, 延迟等等, 可以向master提出自己希望的参数范围 连接终止(connectio ...

  3. TI CC254x BLE教程 1

    约定, 第一次翻译这种东西, 专有名词的翻译原则还是不太清楚, 总之涉及有可能误解的词, 都用双语, 如果是简单的, 直接英文或者中文, 取决于我是否能找到中文合适的词来翻译. 何为BLE: 1. 是 ...

  4. 【转】TI蓝牙BLE 协议栈代码学习

    BLE就是低功率蓝牙.要着重了解两种设备: dual-mode双模设备:简单说就是向下兼容. single-mode单模设备:仅仅支持BLE.   关于开发主要讲的是单模设备,它可以只靠纽扣电池即可持 ...

  5. BLE教程 - 官方tutorial翻译

    关键术语和概念 1. Generic Attribute Profile(GATT)GATT配置文件是一个通用规范,用于在BLE链路上发送和接收被称为"属性"的数据块.目前所有的B ...

  6. TI CC2541 BLE协议栈蓝牙MAC 地址

    在Flash中有一块只读区域,从地址0x780E开始,蓝牙的MAC以小端方式存放在里面. 在TI的Peripheral例程里面,添加一个特征值,只读属性,6字节长度(蓝牙MAC长度为48-bit,6字 ...

  7. BLE资料应用笔记 -- 持续更新

    BLE资料应用笔记 -- 持续更新 BLE 应用笔记 小书匠 简而言之,蓝牙无处不在,易于使用,低耗能和低使用成本.'让我们'更深入地探索这些方面吧. 蓝牙无处不在-,您可以在几乎每一台电话.笔记本电 ...

  8. BLE资料应用笔记 -- 持续更新(转载)

    简而言之,蓝牙无处不在,易于使用,低耗能和低使用成本.’让我们’更深入地探索这些方面吧. 蓝牙无处不在—,您可以在几乎每一台电话.笔记本电脑 .台式电脑和平板电脑中找到蓝牙.因此,您可以便利地连接键盘 ...

  9. TI低功耗蓝牙(BLE)介绍

    TI低功耗蓝牙(BLE)介绍 本文档翻译和修改自参考资料:CC2540Bluetooth Low Energy Software Developer’s Guide (Rev. B),部分图片直接引用 ...

随机推荐

  1. NSOperationQueue 多线程

    staticNSOperationQueue * queue; - (void)viewDidLoad { [superviewDidLoad]; queue = [[NSOperationQueue ...

  2. LeetCode Perfect Squares

    原题链接在这里:https://leetcode.com/problems/perfect-squares/ 题目: Given a positive integer n, find the leas ...

  3. ubuntu 更新 rtl8192cu 驱动

    ubuntu 更新 rtl8192cu 驱动 手上有个 tplink wr823n 的 usb 无线网卡,在 windows 下工作正常,但在 linux 上的比较差,速度没有 windows 上的快 ...

  4. postgresql 死锁处理

    缘起 遇到一个奇怪的现象,select和delete表时正常执行,但truncate和drop表时会一直运行,也不报错. 原因 "drop table " 和 "trun ...

  5. configure: error: C++ compiler cannot create executables

    今天装虚拟机LNMP环境 安装报错:configure: error: C++ compiler cannot create executables 这是因为 gcc 组件不完整,执行安装 yum i ...

  6. 修改RMAN list命令输出的时间格式

    根据需要,修改rman list命令输出结果的时间显示 $ rman target / Recovery Manager: Release - Production on Wed Jul :: Cop ...

  7. openSuSE DNS SERVER CONFIG

    system:openSuSE 12.3(much better and frendly than the 12.1 in network config)1,network config,attent ...

  8. java提高篇(九)-----详解匿名内部类

    在java提高篇-----详解内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意的事项.如何初始 ...

  9. 学习jsp(3)

    HttpServletRequest和HttpServletResponse: response.setContentType("text/html;charset=UTF-8") ...

  10. Leetcode: Self Crossing

    You are given an array x of n positive numbers. You start at point (0,0) and moves x[0] metres to th ...