许多开发者都在开发BLE Peripheral设备,当中往往包含本文要着急介绍的Device Information Service(DIS)服务,它是对设备的制作商,设备软硬件版本控制,生产信息披露的一个非常好的方式。因此也建议大家在开发时都加入这个由SIG定义的标准服务。
在bluetooth sig官方网站上,查看Device Information Service显示如下信息。
Specification Name | Specification Type | Assign Number | Specification Level |
DeviceInformation | Org.bluetooth.service.device_information | 0x180a | Adopted |
它的16位短UUID是0x180A,用于公开设备制造商的信息,不依赖任何其他服务可独立存在。一个设备上只能有一个实例。在经典蓝牙和LE上都得到支持。
DIS服务包含以下特征值
编号 | 特征值 | UUID | 实例 | 描述 |
1 | Manufacturer Name | 0x2A29 | Newbit Studio | 设备制造商的名称,写设备制造商为外界所熟识的名称 |
2 | Model Number | 0x2A24 | MI_Scale | 由设备制造商定义,建议写为某个产品的型号 |
3 | Serial Number | 0x2A25 | AAAA-S032-4321 | 由制造商定义的产品编号,为每个产品赋一唯一的编号,可以按实际应用定义自己产品SN的格式。 |
4 | Hardware Revision | 0x2A27 | 0.9.0 | 产品的硬件编号,建议使用三位数以点相隔,分别表示主版本号,副版本号,发行编号(偶数发行,奇数调试) |
5 | Firmware Revision | 0x2A26 | BLE-1.4.0 | BLE协议栈通常由IC原厂提供,建议可以写该应用程序建立所使用的协议栈版本 |
6 | Software Revision | 0x2A27 | 0.9.0 | 应用软件版本号,建议使用三位数以点相隔,分别表示主版本号,副版本号,发行编号(偶数发行,奇数调试) |
7 | System ID | 0x2A23 | - | 包含OUI( Oranizationally Unique Identifier)和一个由制造商为该产品编排的唯一编号 |
8 | IEEE 11073-20601 Regulatory Certification Data List | 0x2A2A | - | 设备要求的一个混合结构体,长度不定。这里的数据通常用于监管或者认证。 |
9 | PnP ID | 0x2A50 | - | 包含由国标组织颁给制造商的编号,制造商定义的产品ID,由制造商定义的产品版本信息 |
以上9个特征值并非都要包含到设备上,但越全面越好,若受限于代码空间,或者公司暂未加入国际组织,可以优先将Manufacturer Name, Model Number, Serial Number, HW Revision, SW Revision, System ID包含进来,其他System ID中的OUI可以没用IC原厂的编号。如TI公司的OUI便可取0x000D。
更多信息的细节请阅读 此处(英文)