Skip to content

产品与规格

本文档介绍产品(SPU)与规格(SKU)的概念及其在智能设备中的应用。

基本概念

产品(SPU)

产品(SPU,Standard Product Unit) 是指功能相同的一类设备,不区分具体规格。

  • 同一产品下的设备,核心功能完全一致
  • APP 可以使用相同的控制逻辑和界面
  • 用户无需关心具体是哪个规格

示例:

产品说明
智能门锁 X100一款支持指纹、密码、卡片的智能门锁
智能猫眼 M200一款支持视频通话的智能猫眼

规格(SKU)

规格(SKU,Stock Keeping Unit) 是指产品的具体配置,区分外观、性能等差异。

  • 同一产品下可以有多个规格
  • 规格之间的差异通常是外观、材质、性能参数等
  • 这些差异不影响核心功能

示例:

产品规格差异
智能门锁 X100X100-BK黑色款
智能门锁 X100X100-SV银色款
智能门锁 X100X100-GD金色款
智能猫眼 M200M200-1080P1080P 分辨率
智能猫眼 M200M200-2K2K 分辨率

型号

型号是"某产品的某规格"的泛称。当我们说"某个型号"时,指的是一个具体的产品规格组合。

例如:"X100-BK"是智能门锁 X100 的黑色款型号。

划分原则

什么应该作为规格区分

以下差异应通过不同规格来区分:

类型示例
外观颜色、材质、尺寸
性能参数分辨率、电池容量、存储空间
配置等级标准版、高配版、旗舰版

核心判断标准: 这些差异在设备出厂后固定不变,且不影响核心功能。

什么不应该作为规格区分

以下差异不应该通过规格来区分,而应该通过设备能力字段来判断:

类型示例原因
可选模块是否有摄像头、是否有 WiFi 模块模块化设计,可能后期加装
功能开关是否启用某功能可通过固件配置
传感器配置是否有指纹模块、是否有人脸识别影响功能可用性,需动态判断

为什么模块化配置不用规格区分?

考虑一个模块化智能门锁:

  • 基础版:指纹 + 密码
  • 升级版:指纹 + 密码 + 摄像头
  • 完整版:指纹 + 密码 + 摄像头 + WiFi

如果用规格区分,会导致:

  1. 规格数量爆炸(颜色 × 模块组合)
  2. 用户后期加装模块后,规格信息与实际不符
  3. APP 需要维护复杂的规格 → 功能映射表

正确做法是:通过设备能力字段动态判断设备具备哪些模块。

协议中的应用

BLE 广播

BLE 广播中只包含产品ID(deviceProductId):

  • APP 据此判断设备类型,展示对应图标和名称
  • 同一产品的不同规格使用相同的产品ID

设备信息响应

设备信息响应中包含型号(model):

  • 型号标识具体的产品规格
  • 用于售后服务、固件升级等场景

设备能力

设备的模块化能力通过专门的能力字段返回:

protobuf
message DeviceCapabilities {
  bool has_camera = 1;        // 是否有摄像头
  bool has_wifi = 2;          // 是否有 WiFi 模块
  bool has_fingerprint = 3;   // 是否有指纹模块
  bool has_face = 4;          // 是否有人脸识别
  bool has_nfc = 5;           // 是否有 NFC 读卡器
  // ...
}

APP 应根据能力字段动态调整界面和功能,而非根据规格硬编码。

总结

概念说明协议字段
产品功能相同的一类设备deviceProductId
规格产品的具体配置(外观、性能等)-
型号某产品的某规格(泛称)model
设备能力模块配置,决定可用功能DeviceCapabilities

设计原则

  • 产品决定"能做什么":同一产品的设备功能一致
  • 规格决定"长什么样":外观、性能参数等静态差异
  • 能力字段决定"有什么":模块化配置等动态差异

物联网设备通信协议文档