连接更新请求(connection update request)

如果slave不满意现有的连接参数, 比如间隔, 延迟等等, 可以向master提出自己希望的参数范围

连接终止(connection termination)

1. master跟slave都可以终止连接

2. 如果超时时间到, 连接也自动终止

测试模式(direct test mode)

1. 允许一个tester设备对任何收发模式, 任何频道的设备进行监测.

2. 推荐的设备是Anritsu MT8852B, 对RF的性能进行检测.

3. TI跟Anritsu有合作.

主机/控制器接口(Host/Controller Interface)

1. 使用了传统蓝牙的规定, 加入了低功耗的命令

2. 瘦层(thin layer) 不做任何操作, 只是逻辑上的

3. 用来给CC2540内部使用来进行低层跟高层之间的沟通.

4. 又称之为NPI, 在双芯片方案中, 利用标准接口, 比如UART, USB, SDIO等等host与controller沟通用.

主机(host)

1. host使用HCI API来与链路层跟物理层沟通

2. host的不同层用来控制消息, 事件消息跟传输数据.

逻辑链路控制跟适配协议(logical link controll and adaptation protocal)

1. 允许更高的层协议跟应用传输和接收23个byte的数据包.

2. 提供频道管理, 允许逻辑频道

3. 连接参数的更新

安全管理协议(Security Manger Protocal)

1. 实施认证跟秘钥管理

2. AES-128加密

3. 定义建立安全链接的协议

4. 与GAP共同管理设备间的关系: 配对/认证/绑定

通用访问配置(Generic Access Profile)

1. 定义连接相关(connection-related)的通用流程

a: 设备发现

b: 链接初始化

c: 链接管理

d: 连接终止

e: 安全特性初始化

配置角色(Profile Role)

1. GAP层在以下4个配置角色下工作:

a: 广播者(broadcaster) 一个无法连接的广告者(advertiser)

b: 观察者(observer) 一个不连接的扫描者(scanner)

c: 外设(Peripheral) 可连接的广告者, 连接成功后会成为master'

d: 中心设备(Central) 会扫描并连接后成为slave

例子: 温度感应(Broadcaster), 温度显示(Observer), 智能手表(Peripheral), 智能手机(Central)

配置多角色(Profile Multi-Roles)

BLE指定了一些角色是可以搭配一起实现的, 比如外设+广播, 外设+观察, 中心+广播

发现模式(Discoverable Modes)

1. GAP支持3中发现模式

a: 不被发现

b: 有限制被发现, 即进入待机状态(standby)前, 有一段时间是广告状态的.

c: 通用发现模式

2. GAP使用HCI打开或者停止广告

3. 外设可以送出可连接或者不可连接的广告内容.

4. 广播角色智能发送的广告内容中已经说明是不可连接的.

广告内容跟扫描回应数据(Advertisement and Scan Response Data)

1. GAP管理广告内容跟扫描回应包

2. BLE定义了一些广告内容

a: 设备服务(Device Services), 比如"I am a remote control"

b: 服务需求(Service Solicitation), 比如"I want a remote controller to talk to me"

c: 设备名

d: 是否能被发现的标示, 以及设备是否支持标准蓝牙, 或者只是BLE

e: 信号强弱

f: slave推荐的间隔范围

g: 制造商自定义的数据

配对(Pairing)

1. 配对能由中心设备或者外设发起

2. 配对期间, 两个设备会产生一个暂用的秘钥用来加密数据包.

3. 绑定(bonding)时, 一个永久秘钥会再两个设备中产生.

属性协议(Attribute Protocal)

1. 一个属性(attribute)会包含三个属性(properties): 句柄/类型/权限

2. ATT定义了读,写,跟发现属性

3. 给不同的attribute可以分配不同的读写权限, 并可以指定读写时候的安全策略

客户端/服务器架构(Client/Server Architecture)

1. server有数据, client可以使用这个数据(data)

2. server端使用attribute来呈现数据

3. client跟server跟GAP的中心设备/外设角色是独立的

4. 一个设备即可以使server也可以是client

属性表例子(Attribute Table Example)

1. 句柄: 属性在属性表的地址

2. 类型: 说明这个数据的类型, 可以参照SIG规定的UUID, 也可以自定义.

3. 权限: 权限

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

  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教程 1

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

  3. TI CC254x BLE教程 3

    通用属性配置(Generic Attribute Profiles) 1. 数据在services里面以特征字(characteristics)的形式展示出来 如你所见, 特征字包含属性(Proper ...

  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. 设置tomcat的编码为utf-8

    <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" ...

  2. Vue.2.0.5-混合

    基础 混合是一种灵活的分布式复用 Vue 组件的方式.混合对象可以包含任意组件选项.以组件使用混合对象时,所有混合对象的选项将被混入该组件本身的选项. 例子: // 定义一个混合对象 var myMi ...

  3. Eureka的故事,专注能让你看到别人看不到的事情

    有这么一句古老的箴言: 如果你手里有一把锤子,所有东西看上去都像钉子. 其实这句话已经是老调中的老调重弹了,我们程序员有很多锤子:OO.设计模式.语言(C, C++, Java, Python, Ru ...

  4. 解决download.msdn.microsoft.com无法正确解析而无法下载的问题

    不知何时,微软 MSDN 订阅软件下载服务IP解析有问题,总是在点击“下载”按钮之后无法打开. 想必又跟“国情”有关,我是使用联通宽带,没测试过电信的. 我是可以通过指定hosts entry来解决: ...

  5. ORA-19693: 已包括备份片段

    使用rman异机恢复数据时,报"ORA-19693: 已包括备份片段..."错误. 执行的rman命令: RMAN> run{ 2> allocate channel ...

  6. Starting MySQL...The server quit without updating PID file

    修改mysql的配置文件(my.cnf)后,再启动mysqld的时候报错: # service mysqld start Starting MySQL...The server quit withou ...

  7. Java基础之集合框架——使用真的的链表LinkedList<>(TryPolyLine)

    控制台程序. public class Point { // Create a point from its coordinates public Point(double xVal, double ...

  8. PostgreSQL Replication之第十二章 与Postgres-XC一起工作(1)

    在本章中,我们希望将我们的注意力集中在写可扩展,多主,同步,对称和PostgreSQL的称为Postgres-XC(PostgreSQL eXtensible Cluster)的透明复制方案.该项目的 ...

  9. Sublime 不自动打开上次未关闭的文件 设置方法

    { "font_size": 17, "hot_exit": false, "remember_open_files": false, &q ...

  10. 如何不切换windows登陆用户,更换用户名访问共享文件夹

    @echo offnet use * /del /ynet use \\192.168.2.1 /user:wr@echo off 先进行删除所有,然后在进行映射,按照部门来,不同的部门可能需要映射的 ...