最近在做蓝牙相关的项目。方案公司给的文档是他们之前的文档,而给我们的方案是在他们修改之后的。所以文档对于我们来说,错漏很多。开发的过程不是很愉快。安卓的同事之前没做过蓝牙的项目,我也才发现很多东西自己知道但是解释不出来。比如我的UUIDString是"FFAE",安卓的同事也用"FFA1",结果有问题,我就叫他用"0000FFA1-0000-1000-8000-00805F9B34FB ",但是我也不知道为什么。
所以收集了一些资料整理如下:
蓝牙广播中对UUID的格式定义有三种16bit,32bit和12bit。
16bit和32bit和128bit之间的转换关系
128_bit_UUID = 16_bit_UUID * 2^96 + Bluetooth_Base_UUID
128_bit_UUID = 32_bit_UUID * 2^96 + Bluetooth_Base_UUID
其中 Bluetooth_Base_UUID定义为 00000000-0000-1000-8000-00805F9B34FB
所以用ios设备和安卓设备搜索出来的结果显示的是不一样的,但是结果并不妨碍我们的开发,比如:
安卓 ios
UUID=0000fff1-0000-1000-8000-00805f9b34fb fff1
UUID=0000fff2-0000-1000-8000-00805f9b34fb fff2
UUID=0000ffa1-0000-1000-8000-00805f9b34fb ffa1
UUID=0000ffa2-0000-1000-8000-00805f9b34fb ffa2
另外 蓝牙的相关服务名称及ID 可以查询:
//基础ID
服务名称:Base GUID
服务编码:{00000000-0000-1000-8000-00805F9B34FB}
// GATT 配置
服务名称:GAP
服务编码:{00001800-0000-1000-8000-00805F9B34FB}
服务名称:GATT
服务编码:{00001801-0000-1000-8000-00805F9B34FB}
服务名称:IMMEDIATE ALERT
服务编码:{00001802-0000-1000-8000-00805F9B34FB}
服务名称:LINK LOSS
服务编码:{00001803-0000-1000-8000-00805F9B34FB}
服务名称:TX POWER
服务编码:{00001804-0000-1000-8000-00805F9B34FB}
// GAP 服务
服务名称:HEALTH THERMOMETER
服务编码:{00001809-0000-1000-8000-00805F9B34FB}
服务名称:DEVICE INFORMATION
服务编码:{0000180A-0000-1000-8000-00805F9B34FB}
服务名称:HEART RATE
服务编码:{0000180D-0000-1000-8000-00805F9B34FB}
服务名称:Phone Alert Status Service
服务编码:{0000180E-0000-1000-8000-00805F9B34FB}
服务名称:Battery Service
服务编码:{0000180F-0000-1000-8000-00805F9B34FB}
服务名称:Blood Pressure
服务编码:{00001810-0000-1000-8000-00805F9B34FB}
服务名称:Human Interface Device
服务编码:{00001812-0000-1000-8000-00805F9B34FB}
服务名称:Scan Parameters
服务编码:{00001813-0000-1000-8000-00805F9B34FB}
服务名称:Running Speed and Cadence
服务编码:{00001814-0000-1000-8000-00805F9B34FB}
服务名称:Automation IO
服务编码:{00001815-0000-1000-8000-00805F9B34FB}
服务名称:CYCLING Speed and Cadence
服务编码:{00001816-0000-1000-8000-00805F9B34FB}
服务名称:Pulse Oximeter
服务编码:{00001817-0000-1000-8000-00805F9B34FB}
服务名称:CYCLING Power
服务编码:{00001818-0000-1000-8000-00805F9B34FB}
服务名称:Location and Navigation Service 服务编码:{00001819-0000-1000-8000-00805F9B34FB}
服务名称:Continous Glucose Measurement Service
服务编码:{0000181A-0000-1000-8000-00805F9B34FB}
服务名称:USER DATA
服务编码:{0000181C-0000-1000-8000-00805F9B34FB}
服务名称:TEMPERATURE MEASUREMENT
服务编码:{00002A1C-0000-1000-8000-00805F9B34FB}
服务名称:TEMPERATURE TYPE
服务编码:{00002A1D-0000-1000-8000-00805F9B34FB}
服务名称:INTERMEDIATE TEMPERATURE
服务编码:{00002A1E-0000-1000-8000-00805F9B34FB}
服务名称:TEMPERATURE in Celsius
服务编码:{00002A1F-0000-1000-8000-00805F9B34FB}
服务名称:TEMPERATURE in Fahrenheit
服务编码:{00002A20-0000-1000-8000-00805F9B34FB}
服务名称:MEASUREMENT INTERVAL
服务编码:{00002A21-0000-1000-8000-00805F9B34FB}
服务名称:Boot Keyboard Input Report
服务编码:{00002A22-0000-1000-8000-00805F9B34FB}
服务名称:System ID
服务编码:{00002A23-0000-1000-8000-00805F9B34FB}
服务名称:Model Number String
服务编码:{00002A24-0000-1000-8000-00805F9B34FB}
服务名称:Serial Number String
服务编码:{00002A25-0000-1000-8000-00805F9B34FB}
服务名称:Firmware Revision String
服务编码:{00002A26-0000-1000-8000-00805F9B34FB}
服务名称:Hardware Revision String
服务编码:{00002A27-0000-1000-8000-00805F9B34FB}
服务名称:Software Revision String
服务编码:{00002A28-0000-1000-8000-00805F9B34FB}
服务名称:Manufacturer Name String
服务编码:{00002A29-0000-1000-8000-00805F9B34FB}
服务名称:IEEE 11073-20601 Regulatory
服务编码:{00002A2A-0000-1000-8000-00805F9B34FB}
服务名称:Current Time
服务编码:{00002A2B-0000-1000-8000-00805F9B34FB}
服务名称:Elevation
服务编码:{00002A2C-0000-1000-8000-00805F9B34FB}
服务名称:Latitude
服务编码:{00002A2D-0000-1000-8000-00805F9B34FB}
服务名称:Longitude
服务编码:{00002A2E-0000-1000-8000-00805F9B34FB}
服务名称:Position 2D
服务编码:{00002A2F-0000-1000-8000-00805F9B34FB}
服务名称:Position 3D
服务编码:{00002A30-0000-1000-8000-00805F9B34FB}
服务名称:Scan Refresh
服务编码:{00002A31-0000-1000-8000-00805F9B34FB}
服务名称:Boot Keyboard Output Report
服务编码:{00002A32-0000-1000-8000-00805F9B34FB}
服务名称:Boot Mouse Input Report
服务编码:{00002A33-0000-1000-8000-00805F9B34FB}
服务名称:Glucose Measurement Context
服务编码:{00002A34-0000-1000-8000-00805F9B34FB}
服务名称:Blood Pressure Measurement
服务编码:{00002A35-0000-1000-8000-00805F9B34FB}
服务名称:Intermediate Cuff Pressure
服务编码:{00002A36-0000-1000-8000-00805F9B34FB}
服务名称:HEART RATE MEASUREMENT
服务编码:{00002A37-0000-1000-8000-00805F9B34FB}
服务名称:BODY SENSOR LOCATION
服务编码:{00002A38-0000-1000-8000-00805F9B34FB}
服务名称:HEART RATE CONTROL POINT
服务编码:{00002A39-0000-1000-8000-00805F9B34FB}
服务名称:Removable
服务编码:{00002A3A-0000-1000-8000-00805F9B34FB}
服务名称:Service Required
服务编码:{00002A3B-0000-1000-8000-00805F9B34FB}
服务名称:Scientific Temperature in Celsius
服务编码:{00002A3C-0000-1000-8000-00805F9B34FB}
服务名称:String
服务编码:{00002A3D-0000-1000-8000-00805F9B34FB}
服务名称:Network Availability
服务编码:{00002A3E-0000-1000-8000-00805F9B34FB}
服务名称:Alert Status
服务编码:{00002A3F-0000-1000-8000-00805F9B34FB}
服务名称:Ringer Control Point
服务编码:{00002A40-0000-1000-8000-00805F9B34FB}
服务名称:Ringer Setting
服务编码:{00002A41-0000-1000-8000-00805F9B34FB}
服务名称:Alert Category ID Bit Mask
服务编码:{00002A42-0000-1000-8000-00805F9B34FB}
服务名称:Alert Category ID
服务编码:{00002A43-0000-1000-8000-00805F9B34FB}
服务名称:Alert Notification Control Point
服务编码:{00002A44-0000-1000-8000-00805F9B34FB}
服务名称:Unread Alert Status
服务编码:{00002A45-0000-1000-8000-00805F9B34FB}
服务名称:New Alert
服务编码:{00002A46-0000-1000-8000-00805F9B34FB}
服务名称:Supported New Alert Category
服务编码:{00002A47-0000-1000-8000-00805F9B34FB}
服务名称:Supported Unread Alert Category
服务编码:{00002A48-0000-1000-8000-00805F9B34FB}
服务名称:Blood Pressure Feature
服务编码:{00002A49-0000-1000-8000-00805F9B34FB}
服务名称:HID Information
服务编码:{00002A4A-0000-1000-8000-00805F9B34FB}
服务名称:Report Map
服务编码:{00002A4B-0000-1000-8000-00805F9B34FB}
服务名称:HID Control Point
服务编码:{00002A4C-0000-1000-8000-00805F9B34FB}
服务名称:Report
服务编码:{00002A4D-0000-1000-8000-00805F9B34FB}
服务名称:Protocol Mode
服务编码:{00002A4E-0000-1000-8000-00805F9B34FB}
服务名称:Scan Interval Window
服务编码:{00002A4F-0000-1000-8000-00805F9B34FB}
服务名称:PnP ID
服务编码:{00002A50-0000-1000-8000-00805F9B34FB}
服务名称:Glucose Features
服务编码:{00002A51-0000-1000-8000-00805F9B34FB}
服务名称:Record Access Control Point
服务编码:{00002A52-0000-1000-8000-00805F9B34FB}
服务名称:RSC Measurement
服务编码:{00002A53-0000-1000-8000-00805F9B34FB}
服务名称:RSC Feature
服务编码:{00002A54-0000-1000-8000-00805F9B34FB}
服务名称:SC CONTROL POINT
服务编码:{00002A55-0000-1000-8000-00805F9B34FB}
服务名称:Digital Input
服务编码:{00002A56-0000-1000-8000-00805F9B34FB}
服务名称:Digital Output
服务编码:{00002A57-0000-1000-8000-00805F9B34FB}
服务名称:Analog Input
服务编码:{00002A58-0000-1000-8000-00805F9B34FB}
服务名称:Analog Output
服务编码:{00002A59-0000-1000-8000-00805F9B34FB}
服务名称:Aggregate Input
服务编码:{00002A5A-0000-1000-8000-00805F9B34FB}
服务名称:CSC MEASUREMENT
服务编码:{00002A5B-0000-1000-8000-00805F9B34FB}
服务名称:CSC FEATURE
服务编码:{00002A5C-0000-1000-8000-00805F9B34FB}
服务名称:SENSOR LOCATION
服务编码:{00002A5D-0000-1000-8000-00805F9B34FB}
服务名称:Pulse Oximetry Spot-check Measurement
服务编码:{00002A5E-0000-1000-8000-00805F9B34FB}
服务名称:Pulse Oximetry Continuous Measurement
服务编码:{00002A5F-0000-1000-8000-00805F9B34FB}
服务名称:Pulse Oximetry Pulsatile Event
服务编码:{00002A60-0000-1000-8000-00805F9B34FB}
服务名称:Pulse Oximetry Features
服务编码:{00002A61-0000-1000-8000-00805F9B34FB}
服务名称:Pulse Oximetry Control Point
服务编码:{00002A62-0000-1000-8000-00805F9B34FB}
服务名称:Cycling Power Measurement Characteristic
服务编码:{00002A63-0000-1000-8000-00805F9B34FB}
服务名称:Cycling Power Vector Characteristic
服务编码:{00002A64-0000-1000-8000-00805F9B34FB}
服务名称:Cycling Power Feature Characteristic
服务编码:{00002A65-0000-1000-8000-00805F9B34FB}
服务名称:Cycling Power Control Point Characteristic
服务编码:{00002A66-0000-1000-8000-00805F9B34FB}
服务名称:Location and Speed Characteristic
服务编码:{00002A67-0000-1000-8000-00805F9B34FB}
服务名称:Navigation Characteristic
服务编码:{00002A68-0000-1000-8000-00805F9B34FB}
服务名称:Position Quality Characteristic
服务编码:{00002A69-0000-1000-8000-00805F9B34FB}
服务名称:LN Feature Characteristic
服务编码:{00002A6A-0000-1000-8000-00805F9B34FB}
服务名称:LN Control Point Characteristic
服务编码:{00002A6B-0000-1000-8000-00805F9B34FB}
服务名称:CGM Measurement Characteristic
服务编码:{00002A6C-0000-1000-8000-00805F9B34FB}
服务名称:CGM Features Characteristic
服务编码:{00002A6D-0000-1000-8000-00805F9B34FB}
服务名称:CGM Status Characteristic
服务编码:{00002A6E-0000-1000-8000-00805F9B34FB}
服务名称:CGM Session Start Time Characteristic
服务编码:{00002A6F-0000-1000-8000-00805F9B34FB}
服务名称:Application Security Point Characteristic
服务编码:{00002A70-0000-1000-8000-00805F9B34FB}
服务名称:CGM Specific Ops Control Point Characteristic
服务编码:{00002A71-0000-1000-8000-00805F9B34FB}
服务名称:Glass Identity
服务编码:{F96647CF-7F25-4277-843D-F407B4192F8B}
// GATT 属性类型
服务名称:Primary Service
服务编码:{00002800-0000-1000-8000-00805F9B34FB}
服务名称:Secondary Service
服务编码:{00002801-0000-1000-8000-00805F9B34FB}
服务名称:Include
服务编码:{00002802-0000-1000-8000-00805F9B34FB}
服务名称:Characteristic
服务编码:{00002803-0000-1000-8000-00805F9B34FB}
// GATT CHARACTERISTIC 描述符
服务名称:Characteristic Extended Properties
服务编码:{00002900-0000-1000-8000-00805F9B34FB}
服务名称:Characteristic User Description
服务编码:{00002901-0000-1000-8000-00805F9B34FB}
服务名称:Client Characteristic Configuration
服务编码:{00002902-0000-1000-8000-00805F9B34FB}
服务名称:Server Characteristic Configuration
服务编码:{00002903-0000-1000-8000-00805F9B34FB}
服务名称:Characteristic Format
服务编码:{00002904-0000-1000-8000-00805F9B34FB}
服务名称:Characteristic Aggregate Format
服务编码:{00002905-0000-1000-8000-00805F9B34FB}
服务名称:Valid Range
服务编码:{00002906-0000-1000-8000-00805F9B34FB}
服务名称:External Report Reference
服务编码:{00002907-0000-1000-8000-00805F9B34FB}
服务名称:Report Reference
服务编码:{00002908-0000-1000-8000-00805F9B34FB}
// GATT CHARACTERISTIC 类型
服务名称:Device Name
服务编码:{00002A00-0000-1000-8000-00805F9B34FB}
服务名称:Appearance
服务编码:{00002A01-0000-1000-8000-00805F9B34FB}
服务名称:Peripheral Privacy Flag
服务编码:{00002A02-0000-1000-8000-00805F9B34FB}
服务名称:Reconnection Address
服务编码:{00002A03-0000-1000-8000-00805F9B34FB}
服务名称:Peripheral Preferred Connection Parameters
服务编码:{00002A04-0000-1000-8000-00805F9B34FB}
服务名称:Service Changed
服务编码:{00002A05-0000-1000-8000-00805F9B34FB}
服务名称:Alert Level
服务编码:{00002A06-0000-1000-8000-00805F9B34FB}
服务名称:Tx Power Level
服务编码:{00002A07-0000-1000-8000-00805F9B34FB}
服务名称:Date Time
服务编码:{00002A08-0000-1000-8000-00805F9B34FB}
服务名称:Day of Week
服务编码:{00002A09-0000-1000-8000-00805F9B34FB}
服务名称:Day Date Time
服务编码:{00002A0A-0000-1000-8000-00805F9B34FB}
服务名称:Exact Time 100
服务编码:{00002A0B-0000-1000-8000-00805F9B34FB}
服务名称:Exact Time 256
服务编码:{00002A0C-0000-1000-8000-00805F9B34FB}
服务名称:DST Offset
服务编码:{00002A0D-0000-1000-8000-00805F9B34FB}
服务名称:Time Zone
服务编码:{00002A0E-0000-1000-8000-00805F9B34FB}
服务名称:Local Time Information
服务编码:{00002A0F-0000-1000-8000-00805F9B34FB}
服务名称:Secondary Time Zone
服务编码:{00002A10-0000-1000-8000-00805F9B34FB}
服务名称:Time with DST
服务编码:{00002A11-0000-1000-8000-00805F9B34FB}
服务名称:Time Accuracy
服务编码:{00002A12-0000-1000-8000-00805F9B34FB}
服务名称:Time Source
服务编码:{00002A13-0000-1000-8000-00805F9B34FB}
服务名称:Reference Time Information
服务编码:{00002A14-0000-1000-8000-00805F9B34FB}
服务名称:Time Broadcast
服务编码:{00002A15-0000-1000-8000-00805F9B34FB}
服务名称:Time Update Control Point
服务编码:{00002A16-0000-1000-8000-00805F9B34FB}
服务名称:Time Update State
服务编码:{00002A17-0000-1000-8000-00805F9B34FB}
服务名称:Glucose Measurement
服务编码:{00002A18-0000-1000-8000-00805F9B34FB}
服务名称:Battery Level
服务编码:{00002A19-0000-1000-8000-00805F9B34FB}
服务名称:Battery Power State
服务编码:{00002A1A-0000-1000-8000-00805F9B34FB}
服务名称:Battery Level State
服务编码:{00002A1B-0000-1000-8000-00805F9B34FB}
服务名称:Key Service
服务编码:{0000FFE0-0000-1000-8000-00805F9B34FB}
服务名称:Key Service Characteristic
服务编码:{0000FFE1-0000-1000-8000-00805F9B34FB}
// TI Sensor TAG Device
服务名称:UUID_IRT_SERV
服务编码:{F000AA00-0451-4000-B000-000000000000}
服务名称:UUID_IRT_DATA
服务编码:{F000AA01-0451-4000-B000-000000000000} // ObjectLSB:ObjectMSB:AmbientLSB:AmbientMSB
服务名称:UUID_IRT_CONF
服务编码:{F000AA02-0451-4000-B000-000000000000} // 0: disable, 1: enable
服务名称:UUID_IRT_PERI
服务编码:{F000AA03-0451-4000-B000-000000000000} // Period in tens of milliseconds
服务名称:UUID_ACC_SERV
服务编码:{F000AA10-0451-4000-B000-000000000000}
服务名称:UUID_ACC_DATA
服务编码:{F000AA11-0451-4000-B000-000000000000}
服务名称:UUID_ACC_CONF
服务编码:{F000AA12-0451-4000-B000-000000000000} // 0: disable, 1: enable
服务名称:UUID_ACC_PERI
服务编码:{F000AA13-0451-4000-B000-000000000000} // Period in tens of milliseconds
服务名称:UUID_HUM_SERV
服务编码:{F000AA20-0451-4000-B000-000000000000}
服务名称:UUID_HUM_DATA
服务编码:{F000AA21-0451-4000-B000-000000000000}
服务名称:UUID_HUM_CONF
服务编码:{F000AA22-0451-4000-B000-000000000000} // 0: disable, 1: enable
服务名称:UUID_HUM_PERI
服务编码:{F000AA23-0451-4000-B000-000000000000} // Period in tens of milliseconds
服务名称:UUID_MAG_SERV
服务编码:{F000AA30-0451-4000-B000-000000000000}
服务名称:UUID_MAG_DATA
服务编码:{F000AA31-0451-4000-B000-000000000000}
服务名称:UUID_MAG_CONF
服务编码:{F000AA32-0451-4000-B000-000000000000} // 0: disable, 1: enable
服务名称:UUID_MAG_PERI
服务编码:{F000AA33-0451-4000-B000-000000000000} // Period in tens of milliseconds
服务名称:UUID_BAR_SERV
服务编码:{F000AA40-0451-4000-B000-000000000000}
服务名称:UUID_BAR_DATA
服务编码:{F000AA41-0451-4000-B000-000000000000}
服务名称:UUID_BAR_CONF
服务编码:{F000AA42-0451-4000-B000-000000000000} // 0: disable, 1: enable
服务名称:UUID_BAR_CALI
服务编码:{F000AA43-0451-4000-B000-000000000000} // Calibration characteristic
服务名称:UUID_BAR_PERI
服务编码:{F000AA44-0451-4000-B000-000000000000} // Period in tens of milliseconds
服务名称:UUID_GYR_SERV
服务编码:{F000AA50-0451-4000-B000-000000000000}
服务名称:UUID_GYR_DATA
服务编码:{F000AA51-0451-4000-B000-000000000000}
服务名称:UUID_GYR_CONF
服务编码:{F000AA52-0451-4000-B000-000000000000} // 0: disable, bit 0: enable x, bit 1: enable y, bit 2: enable z
服务名称:UUID_GYR_PERI
服务编码:{F000AA53-0451-4000-B000-000000000000} // Period in tens of milliseconds
服务名称:TEST_SERVICE
服务编码:{F000AA60-0451-4000-B000-000000000000}
服务名称:TEST_DATA
服务编码:{F000AA61-0451-4000-B000-000000000000}
服务名称:TEST_CONFIG
服务编码:{F000AA62-0451-4000-B000-000000000000} // Bit 7: Enable Test Mode; Bit 0-1 LED BitMask
服务名称:Connection Control Service
服务编码:{F000CCC0-0451-4000-B000-000000000000}
服务名称:Connection Parameters
服务编码:{F000CCC1-0451-4000-B000-000000000000}
服务名称:Request Connection Parameters
服务编码:{F000CCC2-0451-4000-B000-000000000000}
服务名称:Disconnect Request
服务编码:{F000CCC3-0451-4000-B000-000000000000}
服务名称:OAD Service
服务编码:{F000FFC0-0451-4000-B000-000000000000}
服务名称:OAD Image Identify
服务编码:{F000FFC1-0451-4000-B000-000000000000}
服务名称:OAD Image Block
服务编码:{F000FFC2-0451-4000-B000-000000000000}’)
转自 https://blog.csdn.net/chy555chy/article/details/52230651?locationNum=5