许多开发者都在开发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。
更多信息的细节请阅读 此处(英文)