Bluetooth Service Classes and Device Classes
2012-04-28 17:35
363 查看
http://www.bluetooth.org/Technical/AssignedNumbers/baseband.htm
Bluetooth Baseband
The General- and Device-Specific Inquiry Access Codes (DIACs)
The Inquiry Access Code is the first level of filtering when finding Bluetooth devices and services. The main purpose of defining multiple IACs is to limit the number of responses that are received when
scanning devices within range.
Table 1: The Inquiry Access Codes
The Limited Inquiry Access Code (LIAC) is only intended to be used for limited time periods in scenarios where both sides have been explicitly caused to enter this state, usually by user action. For further explanation
of the use of the LIAC, please refer to the Generic Access Profile.
In contrast it is allowed to be continuously scanning for the General Inquiry Access Code (GIAC) and respond whenever inquired.
The Class of Device/Service field
The Class of Device/Service (CoD) field has a variable format. The format is indicated using the 'Format Type field' within the CoD. The length of the Format Type field is variable and ends with two bits different
from '11'. The version field starts at the least significant bit of the CoD and may extend upwards.
In the 'format #1' of the CoD (Format Type field = 00), 11 bits are assigned as a bit-mask (multiple bits can be set) each bit corresponding to a high level generic category of service class. Currently 7 categories
are defined. These are primarily of a 'public service' nature. The remaining 11 bits are used to indicate device type category and other device-specific characteristics.
Any reserved but otherwise unassigned bits, such as in the Major Service Class field, should be set to 0.
![](http://www.bluetooth.org/DocMan/handlers/image.ashx?doc_id=206)
Figure 1: The Class of Device/Service field (first format type). Please note the order in which the octets are sent on the air and stored in memory. Bit number 0 is sent first on the air.
Major Service Classes
The Major and Minor classes are intended to define a general family of devices with which any particular implementation wishes to be associated. No assumptions should be made about specific functionality or characteristics
of any application based solely on the assignment of the Major or Minor device class.
Table 2: Major Service Classes
[Ref #1 See Generic Access Profile (Please refer to the Generic Access Profile within the respective Core
Specification)]
Major Device Classes
The Major Class segment is the highest level of granularity for defining a Bluetooth Device. The main function of a device is used to determine the major class grouping. There are 32 different possible major
classes. The assignment of this Major Class field is defined in Table 1.3.
Table 3: Major Device Classes
[Ref #2: Used where a more specific Major Device Class code is not suited (but only as specified in this document). Devices that do not have a major class code assigned can use the all-1 code until 'classified']
The Minor Device Class field
The 'Minor Device Class field' (bits 7 to 2 in the CoD), are to be interpreted only in the context of the Major Device Class (but independent of the Service Class field). Thus the meaning of the bits may change,
depending on the value of the 'Major Device Class field'. When the Minor Device Class field indicates a device class, then the primary device class should be reported, e.g. a cellular phone that can also work as a cordless handset should use 'Cellular' in
the minor device class field.
Minor Device Class field - Computer Major Class
Table 4: Sub Device Class field for the 'Computer' Major Class
Minor Device Class field - Phone Major Class
Table 5: Sub Device Classes for the 'Phone' Major Class
Minor Device Class field - LAN/Network Access Point Major Class
Table 6: The LAN/Network Access Point Load Factor field
The exact loading formula is not standardized. It is up to each LAN/Network Access Point implementation to determine what internal conditions to report as a utilization percentage. The only requirement is that the
number reflects an ever-increasing utilization of communication resources within the box. As a recommendation, a client that locates multiple LAN/Network Access Points should attempt to connect to the one reporting the lowest load.
Table 7: Reserved sub-field for the LAN/Network Access Point
Minor Device Class field - Audio/Video Major Class
Table 8: Sub Device Classes for the 'Audio/Video' Major Class
Minor Device Class field - Peripheral Major Class
Table 9: The Peripheral Major Class keyboard/pointing device field
Bits 6 and 7 independently specify mouse, keyboard or combo mouse/keyboard devices. These may be combined with the lower bits in a multifunctional device.
Table 10: Minor Class bits 2 to 5 for Peripheral Major Class
Minor Device Class field - Imaging Major Class
Table 11: The Imaging Major Class bits 4 to 7
Bits 4 to 7 independantly specify display, camera, scanner or printer. These may be combined in a multifunctional device.
Table 12: The Imaging Major Class bits 2 and 3
Bits 2 and 3 are reserved
Minor Device Class field - Wearable Major Class
The Minor Class segment is the lowest level of granularity for defining a Bluetooth Device. There are 64 different possible minor classes.
Minor Device Class field - Toy Major Class
Minor Device Class field - Health
Assigned Numbers - References
Bluetooth Baseband
The General- and Device-Specific Inquiry Access Codes (DIACs)
The Inquiry Access Code is the first level of filtering when finding Bluetooth devices and services. The main purpose of defining multiple IACs is to limit the number of responses that are received when
scanning devices within range.
# | LAP value | Usage |
---|---|---|
0 | 0x9E8B33 | General/Unlimited Inquiry Access Code (GIAC) |
1 | 0x9E8B00 | Limited Dedicated Inquiry Access Code (LIAC) |
2‑63 | 0x9E8B01-0x9E8B32, 0x9E8B34-0x9E8B3F | RESERVED FOR FUTURE USE |
The Limited Inquiry Access Code (LIAC) is only intended to be used for limited time periods in scenarios where both sides have been explicitly caused to enter this state, usually by user action. For further explanation
of the use of the LIAC, please refer to the Generic Access Profile.
In contrast it is allowed to be continuously scanning for the General Inquiry Access Code (GIAC) and respond whenever inquired.
The Class of Device/Service field
The Class of Device/Service (CoD) field has a variable format. The format is indicated using the 'Format Type field' within the CoD. The length of the Format Type field is variable and ends with two bits different
from '11'. The version field starts at the least significant bit of the CoD and may extend upwards.
In the 'format #1' of the CoD (Format Type field = 00), 11 bits are assigned as a bit-mask (multiple bits can be set) each bit corresponding to a high level generic category of service class. Currently 7 categories
are defined. These are primarily of a 'public service' nature. The remaining 11 bits are used to indicate device type category and other device-specific characteristics.
Any reserved but otherwise unassigned bits, such as in the Major Service Class field, should be set to 0.
Figure 1: The Class of Device/Service field (first format type). Please note the order in which the octets are sent on the air and stored in memory. Bit number 0 is sent first on the air.
Major Service Classes
The Major and Minor classes are intended to define a general family of devices with which any particular implementation wishes to be associated. No assumptions should be made about specific functionality or characteristics
of any application based solely on the assignment of the Major or Minor device class.
Bit no | Major Service Class |
---|---|
13 | Limited Discoverable Mode [Ref #1] |
14 | (reserved) |
15 | (reserved) |
16 | Positioning (Location identification) |
17 | Networking (LAN, Ad hoc, ...) |
18 | Rendering (Printing, Speaker, ...) |
19 | Capturing (Scanner, Microphone, ...) |
20 | Object Transfer (v-Inbox, v-Folder, ...) |
21 | Audio (Speaker, Microphone, Headset service, ...) |
22 | Telephony (Cordless telephony, Modem, Headset service, ...) |
23 | Information (WEB-server, WAP-server, ...) |
[Ref #1 See Generic Access Profile (Please refer to the Generic Access Profile within the respective Core
Specification)]
Major Device Classes
The Major Class segment is the highest level of granularity for defining a Bluetooth Device. The main function of a device is used to determine the major class grouping. There are 32 different possible major
classes. The assignment of this Major Class field is defined in Table 1.3.
12 | 11 | 10 | 9 | 8 | Major Device Class |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | Miscellaneous [Ref #2] |
0 | 0 | 0 | 0 | 1 | Computer (desktop,notebook, PDA, organizers, .... ) |
0 | 0 | 0 | 1 | 0 | Phone (cellular, cordless, payphone, 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, keyboards, ..... ) |
0 | 0 | 1 | 1 | 0 | Imaging (printing, 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, specific device code not specified |
X | X | X | X | X | All other values reserved |
[Ref #2: Used where a more specific Major Device Class code is not suited (but only as specified in this document). Devices that do not have a major class code assigned can use the all-1 code until 'classified']
The Minor Device Class field
The 'Minor Device Class field' (bits 7 to 2 in the CoD), are to be interpreted only in the context of the Major Device Class (but independent of the Service Class field). Thus the meaning of the bits may change,
depending on the value of the 'Major Device Class field'. When the Minor Device Class field indicates a device class, then the primary device class should be reported, e.g. a cellular phone that can also work as a cordless handset should use 'Cellular' in
the minor device class field.
Minor Device Class field - Computer Major Class
7 | 6 | 5 | 4 | 3 | 2 | Minor Device Class bit no of CoD |
---|---|---|---|---|---|---|
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 | Server-class computer |
0 | 0 | 0 | 0 | 1 | 1 | Laptop |
0 | 0 | 0 | 1 | 0 | 0 | Handheld PC/PDA (clam shell) |
0 | 0 | 0 | 1 | 0 | 1 | Palm sized PC/PDA |
0 | 0 | 0 | 1 | 1 | 0 | Wearable computer (Watch sized) |
X | X | X | X | X | X | All other values reserved |
Minor Device Class field - Phone Major Class
7 | 6 | 5 | 4 | 3 | 2 | Minor Device Class bit no of CoD |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | Uncategorized, code for device not assigned |
0 | 0 | 0 | 0 | 0 | 1 | Cellular |
0 | 0 | 0 | 0 | 1 | 0 | Cordless |
0 | 0 | 0 | 0 | 1 | 1 | Smart phone |
0 | 0 | 0 | 1 | 0 | 0 | Wired modem or voice gateway |
0 | 0 | 0 | 1 | 0 | 1 | Common ISDN Access |
X | X | X | X | X | X | All other values reserved |
Minor Device Class field - LAN/Network Access Point Major Class
7 | 6 | 5 | Minor Device Class bit no of CoD |
---|---|---|---|
0 | 0 | 0 | Fully available |
0 | 0 | 1 | 1 - 17% utilized |
0 | 1 | 0 | 17 - 33% utilized |
0 | 1 | 1 | 33 - 50% utilized |
1 | 0 | 0 | 50 - 67% utilized |
1 | 0 | 1 | 67 - 83% utilized |
1 | 1 | 0 | 83 - 99% utilized |
1 | 1 | 1 | No service available |
X | X | X | All other values reserved |
The exact loading formula is not standardized. It is up to each LAN/Network Access Point implementation to determine what internal conditions to report as a utilization percentage. The only requirement is that the
number reflects an ever-increasing utilization of communication resources within the box. As a recommendation, a client that locates multiple LAN/Network Access Points should attempt to connect to the one reporting the lowest load.
4 | 3 | 2 | Minor Device Class bit no of CoD |
---|---|---|---|
0 | 0 | 0 | Uncategorized (use this value if no other apply) |
X | X | X | All other values reserved |
Minor Device Class field - Audio/Video Major Class
7 | 6 | 5 | 4 | 3 | 2 | Minor Device Class bit no of CoD |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | Uncategorized, code not assigned |
0 | 0 | 0 | 0 | 0 | 1 | Wearable Headset Device |
0 | 0 | 0 | 0 | 1 | 0 | Hands-free Device |
0 | 0 | 0 | 0 | 1 | 1 | (Reserved) |
0 | 0 | 0 | 1 | 0 | 0 | Microphone |
0 | 0 | 0 | 1 | 0 | 1 | Loudspeaker |
0 | 0 | 0 | 1 | 1 | 0 | Headphones |
0 | 0 | 0 | 1 | 1 | 1 | Portable Audio |
0 | 0 | 1 | 0 | 0 | 0 | Car audio |
0 | 0 | 1 | 0 | 0 | 1 | Set-top box |
0 | 0 | 1 | 0 | 1 | 0 | HiFi Audio Device |
0 | 0 | 1 | 0 | 1 | 1 | VCR |
0 | 0 | 1 | 1 | 0 | 0 | Video Camera |
0 | 0 | 1 | 1 | 0 | 1 | Camcorder |
0 | 0 | 1 | 1 | 1 | 0 | Video Monitor |
0 | 0 | 1 | 1 | 1 | 1 | Video Display and Loudspeaker |
0 | 1 | 0 | 0 | 0 | 0 | Video Conferencing |
0 | 1 | 0 | 0 | 0 | 1 | (Reserved) |
0 | 1 | 0 | 0 | 1 | 0 | Gaming/Toy |
X | X | X | X | X | X | All other values reserved |
Minor Device Class field - Peripheral Major Class
7 | 6 | Minor Device Class bit no of CoD |
---|---|---|
0 | 0 | Not Keyboard / Not Pointing Device |
0 | 1 | Keyboard |
1 | 0 | Pointing device |
1 | 1 | Combo keyboard/pointing device |
Bits 6 and 7 independently specify mouse, keyboard or combo mouse/keyboard devices. These may be combined with the lower bits in a multifunctional device.
5 | 4 | 3 | 2 | Minor Device Class bit no of CoD |
---|---|---|---|---|
0 | 0 | 0 | 0 | Uncategorized device |
0 | 0 | 0 | 1 | Joystick |
0 | 0 | 1 | 0 | Gamepad |
0 | 0 | 1 | 1 | Remote control |
0 | 1 | 0 | 0 | Sensing device |
0 | 1 | 0 | 1 | Digitizer tablet |
0 | 1 | 1 | 0 | Card Reader (e.g. SIM Card Reader) |
0 | 1 | 1 | 1 | Digital Pen |
1 | 0 | 0 | 0 | Handheld scanner for bar-codes, RFID, etc. |
1 | 0 | 0 | 1 | Handheld gestural input device (e.g., "wand" form factor) |
X | X | X | X | All other values reserved |
Minor Device Class field - Imaging Major Class
7 | 6 | 5 | 4 | Minor Device Class bit no of CoD |
---|---|---|---|---|
X | X | X | 1 | Display |
X | X | 1 | X | Camera |
X | 1 | X | X | Scanner |
1 | X | X | X | Printer |
X | X | X | X | All other values reserved |
Bits 4 to 7 independantly specify display, camera, scanner or printer. These may be combined in a multifunctional device.
3 | 2 | Minor Device Class bit no of CoD |
---|---|---|
0 | 0 | Uncategorized, default |
X | X | All other values reserved |
Bits 2 and 3 are reserved
Minor Device Class field - Wearable Major Class
The Minor Class segment is the lowest level of granularity for defining a Bluetooth Device. There are 64 different possible minor classes.
7 | 6 | 5 | 4 | 3 | 2 | Minor Device Class bit no of CoD |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 1 | Wrist Watch |
0 | 0 | 0 | 0 | 1 | 0 | Pager |
0 | 0 | 0 | 0 | 1 | 1 | Jacket |
0 | 0 | 0 | 1 | 0 | 0 | Helmet |
0 | 0 | 0 | 1 | 0 | 1 | Glasses |
X | X | X | X | X | X | All other values reserved |
7 | 6 | 5 | 4 | 3 | 2 | Minor Device Class bit no of CoD |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 1 | Robot |
0 | 0 | 0 | 0 | 1 | 0 | Vehicle |
0 | 0 | 0 | 0 | 1 | 1 | Doll / Action Figure |
0 | 0 | 0 | 1 | 0 | 0 | Controller |
0 | 0 | 0 | 1 | 0 | 1 | Game |
X | X | X | X | X | X | All other values reserved |
7 | 6 | 5 | 4 | 3 | 2 | Minor Device Class bit no of CoD |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | Undefined |
0 | 0 | 0 | 0 | 0 | 1 | Blood Pressure Monitor |
0 | 0 | 0 | 0 | 1 | 0 | Thermometer |
0 | 0 | 0 | 0 | 1 | 1 | Weighing Scale |
0 | 0 | 0 | 1 | 0 | 0 | Glucose Meter |
0 | 0 | 0 | 1 | 0 | 1 | Pulse Oximeter |
0 | 0 | 0 | 1 | 1 | 0 | Heart/Pulse Rate Monitor |
0 | 0 | 0 | 1 | 1 | 1 | Health Data Display |
0 | 0 | 1 | 0 | 0 | 0 | Step Counter |
0 | 0 | 1 | 0 | 0 | 1 | Body Composition Analyzer |
0 | 0 | 1 | 0 | 1 | 0 | Peak Flow Monitor |
0 | 0 | 1 | 0 | 1 | 1 | Medication Monitor |
0 | 0 | 1 | 1 | 0 | 0 | Knee Prosthesis |
0 | 0 | 1 | 1 | 0 | 1 | Ankle Prosthesis |
0 | 0 | 1 | 1 | 1 | 0 | Generic Health Manager |
0 | 0 | 1 | 1 | 1 | 1 | Personal Mobility Device |
X | X | X | X | X | X | All other values reserved |
相关文章推荐
- WinCE Service.exe and Device.exe 服务与设备
- WinCE Service.exe and Device.exe 服务与设备 .
- Java --- Bluetooth Device & Service Discovery Code examples
- Bluetooth in Android 4.2 and 4.3(三):Enable Bluetooth
- Development environment and tools of device driver(一)
- IO Manager and Device Driver
- HP笔记本 no bootable device insert boot disk and press any key
- android studio 打包发布签名后的apk文件时出现Error:Execution failed for task ':app:transformClassesAndResourcesWi
- Install andConfigure OpenStack Dashboard Service (Horizon)
- Configuring Windows Time Service - Jim DeVries' Infrastructure and Technology Blog
- Activity, Service,Task, Process and Thread之间的关系
- WorkflowInvoker,WorkflowApplication and WorkflowServiceHost
- icvSetWeightsAndClasses
- 多线程获取线程返回值---Future And CompletionService
- How to use Spring @Component, @Repository, @Service and @Controller Annotations?
- MOSS and Repoting service
- 7.1. Talking to Device Files (writes and IOCTLs)}
- Angular2 series – Component, Directive, Pipe and Service
- 新瓶旧酒ASP.NET AJAX(9) - 客户端脚本编程(Sys.Net命名空间下的WebServiceProxy、WebServiceError、Generated Proxy Classes以及调用WebService、PageMethod)