当前位置: 首页 > news >正文

UUID----私有服务与公有服务

一、什么是公有UUID和私有UUID

公有 = 官方身份证,大家都认识,直接用短号码。
私有 = 自己印的身份证,先把模板交给协议栈备案(sd_ble_uuid_vs_add),然后用短号码 + 类型

二、基础UUID、服务UUID、特性UUID

三、UUID的配置

1、公有服务UUID设置

公有服务UUID:你只需要填一个 16 位数字(服务 UUID)

BLE_UUID_BLE_ASSIGN(ble_uuid, BLE_UUID_BATTERY_SERVICE); // 0x180F
  • 你只写了一个 16 位数字0x180F

  • 没有“基础 UUID”出现。

  • 特性 UUID(如0x2A19)是在添加特性时单独填的,也是 16 位数字。

公共服务的特性UUID:

static ret_code_t battery_level_char_add(ble_bas_t * p_bas, const ble_bas_init_t * p_bas_init) { // ... memset(&add_char_params, 0, sizeof(add_char_params)); add_char_params.uuid = BLE_UUID_BATTERY_LEVEL_CHAR; // <--- 这里就是特性 UUID // ... }

2、私有服务UUID设置

私有服务:你需要填一个 128 位数组(基础 UUID)+ 多个 16 位数字(服务 UUID 和特性 UUID)

步骤 1:填基础 UUID(128 位数组)

ble_uuid128_t base_uuid = {LBS_UUID_BASE}; // 这里是一堆 0x23,0xD1,...

步骤 2:把这个 128 位数组注册给协议栈

sd_ble_uuid_vs_add(&base_uuid, &p_lbs->uuid_type);

步骤 3:填服务 UUID(16 位数字)

ble_uuid.uuid = LBS_UUID_SERVICE; // 比如 0x1523 ble_uuid.type = p_lbs->uuid_type; // 告诉协议栈用刚才那个 128 位数组去扩展

私有服务的特性UUID:

add_char_params.uuid = LBS_UUID_LED_CHAR; // 比如 0x1525 add_char_params.uuid_type = p_lbs->uuid_type; // 同样用那个类型

四、解释

四、一句话总结区别

  • 公有服务:只填 16 位数字(服务 UUID 和特性 UUID),协议栈自带基础 UUID 模板。

  • 私有服务:先填一个 128 位数组(基础 UUID),再填多个 16 位数字(服务 UUID 和特性 UUID),并告诉协议栈它们属于同一个基础 UUID。

http://www.jsqmd.com/news/600195/

相关文章:

  • 2026年4月成都货车租赁中心优质厂家推荐 - 优质品牌商家
  • Z-Image-Turbo-rinaiqiao-huiyewunv应用场景:二次元IP定制化绘图、同人创作、角色设定图生成
  • [特殊字符] 第14课:无重复字符的最长子串
  • 2026年评价高的成型糕点生产设备用户口碑推荐厂家 - 品牌宣传支持者
  • uMatrix 开源贡献终极指南:7步轻松参与高级网络请求过滤器开发
  • Mac一键部署OpenClaw:千问3.5-9B镜像快速体验方案
  • VCS编译优化全攻略:从-pcmakeprof时间分析到partition配置技巧
  • 极客时间管理:OpenClaw+Qwen3-32B实现日历智能调度
  • Gemma-3-12b-it镜像一键部署:快速体验OpenClaw自动化能力
  • OpenClaw模型监控:实时跟踪Qwen2.5-VL-7B的token消耗与响应时间
  • Pixel Couplet Gen惊艳案例:生成‘算法如春水,Bug似冬雪融’科技风春联
  • 从 99.8% 到 14.9%!Paperxie 降 AIGC:本科生论文通关的「隐形 buff」
  • 如何评估网站SEO优化的合理价格
  • 如何参与Makie.jl开源项目:贡献指南和社区支持
  • Mac用户专享:OpenClaw本地化部署百川2-13B-4bits全流程实录
  • python pypy
  • 从 99.8% 到 14.9%!Paperxie 降重 / 降 AIGC:本科生毕业论文的 “救命神器” 全拆解
  • Ostrakon-VL-8B图文对话实战:上传厨房照片→提问卫生问题→获取结构化反馈
  • Spring IOC 注解进阶:@Bean 管理第三方 Bean,@Import 拆分配置,@Value 注入资源(Spring系列5)
  • MMA8452Q加速度计嵌入式驱动与低功耗事件检测实战
  • 2026年4月四川平面塑料模板高性价比厂家推荐 - 优质品牌商家
  • 告别论文 “红标警告”!Paperxie 四大降重降 AIGC 功能:让本科生毕业通关率飙升
  • 实时手机检测-通用入门必看:上传图片→自动标注→坐标导出全流程
  • 2026年比较好的深圳仓储货架/仓储货架推荐品牌厂家 - 品牌宣传支持者
  • OpenClaw性能调优:加速Kimi-VL-A3B-Thinking多模态响应速度
  • Mac端Jmeter从零到一:新手入门与接口压测实战
  • 双向链表的实现与优势
  • 极客必备:OpenClaw+Qwen3.5-9B打造个人CLI增强工具集
  • Cisco Expressway Release X15.5.0 - 统一通信网关
  • 嵌入式C语言实现面向对象编程的实践指南