ESP BLE 相关问题汇总(不定期更新)

本文详细介绍了如何在ESP32的ESP_BLE平台上配置128位UUID,并提供了一个实例,展示了如何在一个服务中添加多个特征值。适合ESP BLE开发者理解和实践。
Python3.8

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

此篇博客汇总 ESP BLE 相关问题。

1 如何配置自定义 128 位 UUID

直接将对应服务或特性对应的 UUID 长度从 ESP_UUID_LEN_16 改成 ESP_UUID_LEN_128,然后修改对应 UUID 即可。以 IDF tag v4.3 的 ble_spp_server 为例,将 ble_spp_server_demo.c 的 221 行

    [SPP_IDX_SPP_STATUS_VAL]                 =
    {{ESP_GATT_AUTO_RSP}, {ESP_UUID_LEN_16, (uint8_t *)&spp_status_uuid, ESP_GATT_PERM_READ,
    SPP_STATUS_MAX_LEN,sizeof(spp_status_val), (uint8_t *)spp_status_val}},

修改为

    [SPP_IDX_SPP_STATUS_VAL]                 =
    {{ESP_GATT_AUTO_RSP}, {ESP_UUID_LEN_128, (uint8_t *)uuid_test, ESP_GATT_PERM_READ,
    SPP_STATUS_MAX_LEN,sizeof(spp_status_val), (uint8_t *)spp_status_val}},

对应的 uuid_test 为:

static const uint8_t uuid_test[16] = {0x74,0x7a,0x06,0xbd,0xe6,0x6c,0xaa,0xb7,0x75,0x44,0x56,0xfa,0x01,0xa3,0x8c,0xd5};

上述修改完成后编译烧写固件至 ESP32 ,使用手机上的 nRF connect 搜索到 ESP_SPP_SERVER 设备并连接,连接成功后可以看到已经成功自定义对应特征的 UUID,如下:
在这里插入图片描述

2 gatt_server 如何一个服务增加多个特征值

可以参考 ESP 论坛里的这篇帖子:gatt_server 如何一个服务增加多个特征值

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值