ST17H66低功耗蓝牙SOC开发(5)——simpleBlePeripheral私有服务修改

本文介绍了ST17H66低功耗蓝牙SOC中私有服务的修改,涉及GATT协议的Service、UUID和回调函数。通过修改UUID定义、服务属性、服务列表、读写回调以及Notify上报,实现私有服务的定制。建议初学者先理解代码功能,再进行修改。
摘要由CSDN通过智能技术生成

3、通用属性协议(GATT)

GATT是用Attribute Protocol(属性协议)定义的一个Service(服务)框架。框架定义了Service及其的Characteristics的格式和规范。规范定义了包含add(发现)、read(读)、write(写)、notify(通知)、indicate(指示)的characteristics。

为实现配置文件(Profile)的设备定义了两种角色:客户端(Client)、服务器(Server)。simpleBlePeripheral工程就是将BLE配置为Server角色。

3.1、规范(Profile)

Profile可以理解为一种规范,官方SIG将规范分为两类:标准蓝牙规范(公有服务),非标准蓝牙规范(私有服务)。

3.2、服务(Service)

服务可以理解为一个功能模块,例如,电量服务、系统信息服务,在需要使用时添加对应的服务即可。每个服务里面按照规范格式,包含一个或多个characteristic特征值。每个具体的特征值就是最终与客户端(例如,手机APP)通信的目标。

3.3、通用唯一标识符(UUID)

UUID用来标识服务里的service和characteristic,UUID按长度分为16bit和128bit两种。在与客户端通讯过程中,客户端会通过UUID来识别与之对应的数据通道(handle)。

4、私有服务的修改

现在结合代码讲解BLE私有服务。

开发者在学习和修改私有服务的过程中,推荐按照以下顺序一步步修改,可以避免遗漏。

(1)UUID定义

此部分为定义的Service UUID和Characteristic UUID。修改只需要修改对应的宏定义即可。

// Simple GATT Profile Service UUID: 0xFFF0
CONST uint8 simpleProfileServUUID[ATT_BT_UUID_SIZE] =
{ 
	LO_UINT16(SIMPLEPROFILE_SERV_UUID), HI_UINT16(SIMPLEPROFILE_SERV_UUID)
};

// Characteristic 1 UUID: 0xFFF3
CONST uint8 simpleProfilechar1UUID[ATT_BT_UUID_SIZE] =
{ 
	LO_UINT16(SIMPLEPROFILE_CHAR1_UUID), HI_UINT16(SIMPLEPROFILE_CHAR1_UUID)
};

// Characteristic 2 UUID: 0xFFF4
CONST uint8 simpleProfilechar2UUID[ATT_BT_UUID_SIZE] =
{ 
	LO_UINT16(SIMPLEPROFILE_CHAR2_UUID), HI_UINT16(SIMPLEPROFILE_CHAR2_UUID)
};

(2)服务属性定义

修改时需要注意每一条characteristic的属性(properties)的修改,如果属性里面包含notify属性,则需要多一条GCC配置。

// Simple Profile Service attribute
static CONST gattAttrType_t simpleProfileService = { ATT_BT_UUID_SIZE, simp
  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
ST17H66是一款低功耗蓝牙System on Chip(SoC开发平台。低功耗蓝牙(Low Energy Bluetooth,LE Bluetooth)技术可以在设备之间进行低功耗的无线通信,适用于物联网(Internet of Things,IoT)和传感器应用。ST17H66 SoC具有以下特点和功能。 首先,ST17H66拥有低功耗特性,可以显著延长设备的电池寿命。他采用了BLE技术,该技术相比传统蓝牙技术具有更低的功耗。在低功耗模式下,设备只需要非常少的能量来保持通信,可以有效地减少能耗并提高设备的使用时间。 其次,ST17H66具有强大的通信性能。它支持蓝牙5.1标准,具有更稳定和高速的数据传输能力。无论是传输数据、收发消息还是进行音频传输,ST17H66都可以提供可靠的连接和高质量的通信体验。 此外,ST17H66拥有丰富的接口和功能。它提供了多达,方便开发人员根据应用需求进行灵活设计和开发。此外,它还集成了一些传感器和基础设施,使开发过程更加简单和高效。 最后,ST17H66还具有高安全性。它支持数据加密和认证机制,可以保护用户数据的隐私和安全。这对于涉及敏感信息的应用非常重要,如金融、医疗和智能家居等领域。 总结来说,ST17H66低功耗蓝牙SoC开发平台具有低功耗、高通信性能、丰富的接口和功能以及高安全性等特点。它是一个可靠、高效和灵活的解决方案,适用于各种物联网和传感器应用的开发
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WHMTBYY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值