工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->综合电路图->综合电路图->谈cypress BLE custom profile的编写

谈cypress BLE custom profile的编写

作者:angelazhang 时间:2015-08-14

随着智能家居和智能可穿戴市场的兴起和无线通信技术的发展,越来越多智能设备均采用了BLE蓝牙的方式进行通信,其中cypress的PSOC BLE产品集成了BLE,其集成度高,体积小、整体成本低,开发周期快,非常适合智能家居和智能可穿戴市场的需求,受到越来越多的客户使用并认可,在开发过程中,如果客户使用cypress的PSOC BLE做标准化的应用场景profile的开发,客户可以直接使用模板进行开发,但如果客户需要开发定制化的profile应用,如触摸感应、RGB LED Control等应用场景,则需要客户自行编写custom profile。

针对上述问题,本文主要通过对如何定义服务、定义特征和定义描述符的介绍,阐述了如何定义一个定制的BLE profile,同时通过用CypressPSOC4 BLE的定制RGB LED Control的案例进行了简要的描述。


一 介绍

BLE是一个被SIG蓝牙特别兴趣小组引进的一个极低功耗的无线标准,BLE的物理层,协议栈和profile架构设计和优化用于最大化的减少BLE的功率消耗。类似经典蓝牙,BLE工作在2.4G ISM频段,但只有1Mbps的带宽。

Cypress PSOC4 BLE是一个可编程嵌入式SoC,单芯片集成了BLE,可编程模拟和数字外围功能,存储和ARM cotex-M0微处理器。


二、标准服务和定制服务

服务是一个特征的集合,用来定义一个特定的功能。这里有两种类型的服务,第一个是标准的服务,一些常见的BLE应用已经被蓝牙联盟组织所定义,如心率监测,体温检测,血压测量,和通知报警灯。完整的标准服务列表可以在Bluetooth Developer Portal上找到。

第二种类型服务是定制服务。这种服务类型,如命名所述,是一个定义为定制的应用,而且不是普遍的认知。定制服务可以被任何正在开发的BLE应用所阐述。


三、定义一个定制的BLE profile

一个定制的BLE profile由定制服务和特征组成,同样包括标准服务和特征。


3.1定义服务

当创建一个定制BLE应用时,第一件事情是分析这个应用需要的功能集合。每个功能都可以被定制服务来表现,定制的服务可以用来得到任何数据请求。

例如,一个功能需要可以控制红色、绿色和蓝色集合在一起的RGB LED。这个功能可以由一个叫做RGB LED Control定制的服务来实现。其他功能还包括可以读到房间的湿度或温度。图1显示了一个这样的应用案例,定义了一个定制服务实现这三个功能。

图1 定义定制服务


在RGB LED Control案例中,你不需要创建四个不同的定制服务去控制四个RGB LED的颜色值(红、率、蓝和亮度)。功能是去控制RGB LED的值,一个服务将可以满足。当服务已经被定义时,分配通用唯一标识(UUIDs)到三个服务的任何一个可以唯一的识别他们,这些UUIDs是一个用于定制服务的128位的值。


3.2定义特征

下一步,你需要定义每个服务的特征。下面介绍几个术语:

数据值:数据值描述数据传输的类型和长度。支持的数据类型包括无符号字节,有符号字节、字、字符串和数组等。

性质:性质描述了数据接入。可以提供的选择包括广播、读、写、无延迟写、通知、有符号写和可写附属。

许可:许可描述了数据的接入许可。许可设置提供了加密、验证和授权。

UUID: UUID值唯一的识别特征。

在RGB LED Control案例,定义的特征发送四个字节的一组数组,一个字节定义每一个RGB LED的颜色值,和一个控制亮度的字节。特征的定义取决于数据的应用解释。这个特征的性质是写,因为GATT客户端写一个新的RGB LED值到GATT服务器。

类似的,你可以加另一个特征,可以提供2个字节温度信息,这个数据来自于电路板上用于监视LED过热的传感器。图2提供了上述的特征描述。

图2 在服务中定义特征


3.3定义描述符

依靠特征可以增加描述符,这些描述符提供给客户关于特征的信息。它们还可以通过GATT客户端设备用来使能或禁用通知或指示。

图3显示了一个在定制特征下的描述符案例,在这个案例中,一个描述符,被称为客户端特征配置,被GATT客户端用来使能或取消通知或指示。这个是在支持通知和指示下的特征。另一个案例描述符是特征用户描述符,提供一个字符串,通过这个字符串特征可以以人类可读的格式来识别。


图3 在特征里面定义描述符



评论

技术专区