在电脑或手机上,搜寻和连接蓝牙设备时,不同的蓝牙设备显示的图标是不同的,比如搜到或连接上的设备是一个蓝牙键盘,显示的就会是键盘图标,如果搜索到的设备是一个手柄,显示的就是一个手柄图标。
显示的图标是根据搜到或连接上的设备类型信息而显示的,这个信息就是COD(class of device)信息。这个信息是在Discovery过程中搜索周围的蓝牙设备时,搜索方从被搜到的设备那里得到的。然后依据COD来判断设备类型,决定显示什么样的图标。
在进行蓝牙产品开发时,通过设置这个信息,就可以显示跟你的产品相匹配的图标。注意这个COD信息主要使用在BR/EDR经典蓝牙上。对于BLE,一般使用的的是广播数据中有两个字节的appearance,而不是三个字节的COD信息。
具体的Class of Device信息介绍如下。
COD信息由四部分组成:
- A Major Service Classes bitfield // 主要服务类型
- A Major Device Class enumerated value // 主要设备类型
- The Minor Device Classes // 次要设备类型
- A fixed value of 0b00 in the two least significant bits // 固定的最低两位bit的值为0
主要设备类型不同,次要设备类型值的含义也不同。
COD信息的结构定义如下:

Major Service Classes
Last Modified: 2022-05-25
| Bit |
Class of Device Major Service Class |
| 13 |
Limited Discoverable Mode |
| 14 |
LE audio |
| 15 |
Reserved for future use |
| 16 |
Positioning (Location identification) |
| 17 |
Networking (LAN, Ad hoc, ...) |
| 18 |
Rendering (Printing, Speakers, ...) |
| 19 |
Capturing (Scanner, Microphone, ...) |
| 20 |
Object Transfer (vInbox, vFolder, ...) |
| 21 |
Audio (Speaker, Microphone, Headset service, ...) |
| 22 |
Telephony (Cordless telephony, Modem, Headset service, ...) |
| 23 |
Information (WEBserver, WAPserver, ...) |
这个是每个位表示一种类型。
Major Device Classes
| 12 |
11 |
10 |
9 |
8 |
Major Device Class |
| 0 |
0 |
0 |
0 |
0 |
Miscellaneous |
| 0 |
0 |
0 |
0 |
1 |
Computer (desktop, notebook, PDA, organizer, ...) |
| 0 |
0 |
0 |
1 |
0 |
Phone (cellular, cordless, pay phone, modem, ...) |
| 0 |
0 |
0 |
1 |
1 |
LAN/Network Access point |
| 0 |
0 |
1 |
0 |
0 |
Audio/Video (headset, speaker, stereo, video display, VCR, ...) |
| 0 |
0 |
1 |
0 |
1 |
Peripheral (mouse, joystick, keyboard, ...) |
| 0 |
0 |
1 |
1 |
0 |
Imaging (printer, scanner, camera, display, ...) |
| 0 |
0 |
1 |
1 |
1 |
Wearable |
| 0 |
1 |
0 |
0 |
0 |
Toy |
| 0 |
1 |
0 |
0 |
1 |
Health |
| 1 |
1 |
1 |
1 |
1 |
Uncategorized: device code not specified |
Minor Device Class field – Computer Major Class
如果主要设备类型是电脑,次要设备类型信息如下:
| 7 |
6 |
5 |
4 |
3 |
2 |
Minor Device Class |
| 0 |
0 |
0 |
0 |
0 |
0 |
Uncategorized, code for device not assigned |
| 0 |
0 |
0 |
0 |
0 |
1 |
Desktop workstation |
| 0 |
0 |
0 |
0 |
1 |
0 |
Serverclass computer |
| 0 |
0 |
0 |
0 |
1 |
1 |
Laptop |
| 0 |
0 |
0 |
1 |
0 |
0 |
Handheld PC/PDA (clamshell) |
| 0 |
0 |
0 |
1 |
0 |
1 |
Palmsize PC/PDA |

蓝牙设备在搜索和连接时会显示与其类型匹配的图标,这基于设备的COD(ClassofDevice)信息。COD包含主要服务类、主要设备类、次要设备类以及固定值,用于识别设备类型如键盘、手柄等。在蓝牙产品开发中,通过设置COD可定制显示图标。对于BLE设备,使用的是Appearance信息。文章还详细列举了各类设备类型的COD编码。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



