侧边栏壁纸
  • 累计撰写 15 篇文章
  • 累计创建 3 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

android 蓝牙uuid说明

天马
2022-11-09 / 0 评论 / 0 点赞 / 916 阅读 / 2,032 字 / 正在检测是否收录...

蓝牙RFCOMM数据(SPP 串口)通信

来看看在蓝牙中为啥会用到UUID。
在蓝牙协议中,UUID被用来标识蓝牙设备所提供的服务,并非是标识蓝牙设备本身哦,一个蓝牙设备可以提供多种服务,比如A2DP(蓝牙音频传输)、HEADFREE(免提)、PBAP(电话本)、SPP(串口通信)等等,每种服务都对应一个UUID,其中在蓝牙协议栈里,这些默认提供的profile是都有对应的UUID的,也就是默认的UUID,比如SPP00001101-0000-1000-8000-00805F9B34FB就是一个非常著名的UUID,基本上所有的蓝牙板不修改的话都是这个值,所以,如果是与一个蓝牙开发板进行串口通信,而蓝牙侧又不是自己可以控制的,就可以试试这个值。

当然,我们进行串口通信的开发,一般都会自己同时开发两侧,因为串口传递的数据就是数据流,没有格式之说,具体发送的数据的意义需要自己来定义,就是说自己定义规则,这就要求一端发送的数据,另一端可以理解。两者的通信基于socket进行实现,所以必须有一端做服务端,另一端做客户端。

再来说下,android里进行蓝牙串口通信的接口,以android端作为客户端为例,也就是对方蓝牙设备作为server端,等着android端来连接。
那么android端需要通过

public BluetoothSocket createRfcommSocketToServiceRecord (UUID uuid)

这个接口创建一个socket,通过这个socket来进行connect()连接,而uuid就类型用来指定socket对应的端口

而server端必须也有在这个UUID上创建好server端socket上监听才可以成功连接上,两者用的UUID必须一样才可以。

所以UUID的用处就在这里。

这是一些常用的uuud说明

ample Services
0000180d-0000-1000-8000-00805f9b34fb    Heart Rate Service\
0000180a-0000-1000-8000-00805f9b34fb    Device Information Service\
Sample Characteristics.
00002a37-0000-1000-8000-00805f9b34fb    Heart Rate Measurement\
00002a29-0000-1000-8000-00805f9b34fb    Manufacturer Name String

GATT Services
00001800-0000-1000-8000-00805f9b34fb    GenericAccess\
00001801-0000-1000-8000-00805f9b34fb    GenericAttribute

GATT Declarations
00002800-0000-1000-8000-00805f9b34fb    Primary Service\
00002801-0000-1000-8000-00805f9b34fb    Secondary Service\
00002802-0000-1000-8000-00805f9b34fb    Include\
00002803-0000-1000-8000-00805f9b34fb    Characteristic

GATT Descriptors
00002900-0000-1000-8000-00805f9b34fb    Characteristic Extended Properties\
00002901-0000-1000-8000-00805f9b34fb    Characteristic User Description\
00002902-0000-1000-8000-00805f9b34fb    Client Characteristic Configuration\
00002903-0000-1000-8000-00805f9b34fb    Server Characteristic Configuration\
00002904-0000-1000-8000-00805f9b34fb    Characteristic Presentation Format\
00002905-0000-1000-8000-00805f9b34fb    Characteristic Aggregate Format\
00002906-0000-1000-8000-00805f9b34fb    Valid Range\
00002907-0000-1000-8000-00805f9b34fb    External Report Reference Descriptor\
00002908-0000-1000-8000-00805f9b34fb    Report Reference Descriptor

GATT Characteristics
00002a00-0000-1000-8000-00805f9b34fb    Device Name\
00002a01-0000-1000-8000-00805f9b34fb    Appearance\
00002a02-0000-1000-8000-00805f9b34fb    Peripheral Privacy Flag\
00002a03-0000-1000-8000-00805f9b34fb    Reconnection Address\
00002a04-0000-1000-8000-00805f9b34fb    PPCP\
00002a05-0000-1000-8000-00805f9b34fb    Service Changed

GATT Service UUIDs
00001802-0000-1000-8000-00805f9b34fb    Immediate Alert\
00001803-0000-1000-8000-00805f9b34fb    Link Loss\
00001804-0000-1000-8000-00805f9b34fb    Tx Power\
00001805-0000-1000-8000-00805f9b34fb    Current Time Service\
00001806-0000-1000-8000-00805f9b34fb    Reference Time Update Service\
00001807-0000-1000-8000-00805f9b34fb    Next DST Change Service\
00001808-0000-1000-8000-00805f9b34fb    Glucose\
00001809-0000-1000-8000-00805f9b34fb    Health Thermometer\
0000180a-0000-1000-8000-00805f9b34fb    Device Information\
0000180b-0000-1000-8000-00805f9b34fb    Network Availability\
0000180d-0000-1000-8000-00805f9b34fb    Heart Rate\
0000180e-0000-1000-8000-00805f9b34fb    Phone Alert Status Service\
0000180f-0000-1000-8000-00805f9b34fb    Battery Service\
00001810-0000-1000-8000-00805f9b34fb    Blood Pressure\
00001811-0000-1000-8000-00805f9b34fb    Alert Notification Service\
00001812-0000-1000-8000-00805f9b34fb    Human Interface Device\
00001813-0000-1000-8000-00805f9b34fb    Scan Parameters\
00001814-0000-1000-8000-00805f9b34fb    Running Speed and Cadence\
00001816-0000-1000-8000-00805f9b34fb    Cycling Speed and Cadence\
00001818-0000-1000-8000-00805f9b34fb    Cycling Power\
00001819-0000-1000-8000-00805f9b34fb    Location and Navigation

GATT Characteristic UUIDs
00002a06-0000-1000-8000-00805f9b34fb    Alert Level\
00002a07-0000-1000-8000-00805f9b34fb    Tx Power Level\
00002a08-0000-1000-8000-00805f9b34fb    Date Time\
00002a09-0000-1000-8000-00805f9b34fb    Day of Week\
00002a0a-0000-1000-8000-00805f9b34fb    Day Date Time\
00002a0c-0000-1000-8000-00805f9b34fb    Exact Time 256\
00002a0d-0000-1000-8000-00805f9b34fb    DST Offset\
00002a0e-0000-1000-8000-00805f9b34fb    Time Zone\
00002a0f-0000-1000-8000-00805f9b34fb    Local Time Information\
00002a11-0000-1000-8000-00805f9b34fb    Time with DST\
00002a12-0000-1000-8000-00805f9b34fb    Time Accuracy\
00002a13-0000-1000-8000-00805f9b34fb    Time Source\
00002a14-0000-1000-8000-00805f9b34fb    Reference Time Information\
00002a16-0000-1000-8000-00805f9b34fb    Time Update Control Point\
00002a17-0000-1000-8000-00805f9b34fb    Time Update State\
00002a18-0000-1000-8000-00805f9b34fb    Glucose Measurement\
00002a19-0000-1000-8000-00805f9b34fb    Battery Level\
00002a1c-0000-1000-8000-00805f9b34fb    Temperature Measurement\
00002a1d-0000-1000-8000-00805f9b34fb    Temperature Type\
00002a1e-0000-1000-8000-00805f9b34fb    Intermediate Temperature\
00002a21-0000-1000-8000-00805f9b34fb    Measurement Interval\
00002a22-0000-1000-8000-00805f9b34fb    Boot Keyboard Input Report\
00002a23-0000-1000-8000-00805f9b34fb    System ID\
00002a24-0000-1000-8000-00805f9b34fb    Model Number String\
00002a25-0000-1000-8000-00805f9b34fb    Serial Number String\
00002a26-0000-1000-8000-00805f9b34fb    Firmware Revision String\
00002a27-0000-1000-8000-00805f9b34fb    Hardware Revision String\
00002a28-0000-1000-8000-00805f9b34fb    Software Revision String\
00002a29-0000-1000-8000-00805f9b34fb    Manufacturer Name String\
00002a2a-0000-1000-8000-00805f9b34fb    IEEE 11073-20601 Regulatory Certification Data List\
00002a2b-0000-1000-8000-00805f9b34fb    Current Time\
00002a31-0000-1000-8000-00805f9b34fb    Scan Refresh\
00002a32-0000-1000-8000-00805f9b34fb    Boot Keyboard Output Report\
00002a33-0000-1000-8000-00805f9b34fb    Boot Mouse Input Report\
00002a34-0000-1000-8000-00805f9b34fb    Glucose Measurement Context\
00002a35-0000-1000-8000-00805f9b34fb    Blood Pressure Measurement\
00002a36-0000-1000-8000-00805f9b34fb    Intermediate Cuff Pressure\
00002a37-0000-1000-8000-00805f9b34fb    Heart Rate Measurement\
00002a38-0000-1000-8000-00805f9b34fb    Body Sensor Location\
00002a39-0000-1000-8000-00805f9b34fb    Heart Rate Control Point\
00002a3e-0000-1000-8000-00805f9b34fb    Network Availability\
00002a3f-0000-1000-8000-00805f9b34fb    Alert Status\
00002a40-0000-1000-8000-00805f9b34fb    Ringer Control Point\
00002a41-0000-1000-8000-00805f9b34fb    Ringer Setting\
00002a42-0000-1000-8000-00805f9b34fb    Alert Category ID Bit Mask\
00002a43-0000-1000-8000-00805f9b34fb    Alert Category ID\
00002a44-0000-1000-8000-00805f9b34fb    Alert Notification Control Point\
00002a45-0000-1000-8000-00805f9b34fb    Unread Alert Status\
00002a46-0000-1000-8000-00805f9b34fb    New Alert\
00002a47-0000-1000-8000-00805f9b34fb    Supported New Alert Category\
00002a48-0000-1000-8000-00805f9b34fb    Supported Unread Alert Category\
00002a49-0000-1000-8000-00805f9b34fb    Blood Pressure Feature\
00002a4a-0000-1000-8000-00805f9b34fb    HID Information\
00002a4b-0000-1000-8000-00805f9b34fb    Report Map\
00002a4c-0000-1000-8000-00805f9b34fb    HID Control Point\
00002a4d-0000-1000-8000-00805f9b34fb    Report\
00002a4e-0000-1000-8000-00805f9b34fb    Protocol Mode\
00002a4f-0000-1000-8000-00805f9b34fb    Scan Interval Window\
00002a50-0000-1000-8000-00805f9b34fb    PnP ID\
00002a51-0000-1000-8000-00805f9b34fb    Glucose Feature\
00002a52-0000-1000-8000-00805f9b34fb    Record Access Control Point\
00002a53-0000-1000-8000-00805f9b34fb    RSC Measurement\
00002a54-0000-1000-8000-00805f9b34fb    RSC Feature\
00002a55-0000-1000-8000-00805f9b34fb    SC Control Point\
00002a5b-0000-1000-8000-00805f9b34fb    CSC Measurement\
00002a5c-0000-1000-8000-00805f9b34fb    CSC Feature\
00002a5d-0000-1000-8000-00805f9b34fb    Sensor Location\
00002a63-0000-1000-8000-00805f9b34fb    Cycling Power Measurement\
00002a64-0000-1000-8000-00805f9b34fb    Cycling Power Vector\
00002a65-0000-1000-8000-00805f9b34fb    Cycling Power Feature\
00002a66-0000-1000-8000-00805f9b34fb    Cycling Power Control Point\
00002a67-0000-1000-8000-00805f9b34fb    Location and Speed\
00002a68-0000-1000-8000-00805f9b34fb    Navigation\
00002a69-0000-1000-8000-00805f9b34fb    Position Quality\
00002a6a-0000-1000-8000-00805f9b34fb    LN Feature\
00002a6b-0000-1000-8000-00805f9b34fb    LN Control Point");
ServiceDiscoveryServerServiceClassID_UUID = '{00001000-0000-1000-8000-00805F9B34FB}'
BrowseGroupDescriptorServiceClassID_UUID = '{00001001-0000-1000-8000-00805F9B34FB}'
PublicBrowseGroupServiceClass_UUID = '{00001002-0000-1000-8000-00805F9B34FB}'

#蓝牙串口服务
SerialPortServiceClass_UUID = '{00001101-0000-1000-8000-00805F9B34FB}'

LANAccessUsingPPPServiceClass_UUID = '{00001102-0000-1000-8000-00805F9B34FB}'

#拨号网络服务
DialupNetworkingServiceClass_UUID = '{00001103-0000-1000-8000-00805F9B34FB}'

#信息同步服务
IrMCSyncServiceClass_UUID = '{00001104-0000-1000-8000-00805F9B34FB}'

SDP_OBEXObjectPushServiceClass_UUID = '{00001105-0000-1000-8000-00805F9B34FB}'

#文件传输服务
OBEXFileTransferServiceClass_UUID = '{00001106-0000-1000-8000-00805F9B34FB}'

IrMCSyncCommandServiceClass_UUID = '{00001107-0000-1000-8000-00805F9B34FB}'
SDP_HeadsetServiceClass_UUID = '{00001108-0000-1000-8000-00805F9B34FB}'
CordlessTelephonyServiceClass_UUID = '{00001109-0000-1000-8000-00805F9B34FB}'
SDP_AudioSourceServiceClass_UUID = '{0000110A-0000-1000-8000-00805F9B34FB}'
SDP_AudioSinkServiceClass_UUID = '{0000110B-0000-1000-8000-00805F9B34FB}'
SDP_AVRemoteControlTargetServiceClass_UUID = '{0000110C-0000-1000-8000-00805F9B34FB}'
SDP_AdvancedAudioDistributionServiceClass_UUID = '{0000110D-0000-1000-8000-00805F9B34FB}'
SDP_AVRemoteControlServiceClass_UUID = '{0000110E-0000-1000-8000-00805F9B34FB}'
VideoConferencingServiceClass_UUID = '{0000110F-0000-1000-8000-00805F9B34FB}'
IntercomServiceClass_UUID = '{00001110-0000-1000-8000-00805F9B34FB}'

#蓝牙传真服务
FaxServiceClass_UUID = '{00001111-0000-1000-8000-00805F9B34FB}'

HeadsetAudioGatewayServiceClass_UUID = '{00001112-0000-1000-8000-00805F9B34FB}'
WAPServiceClass_UUID = '{00001113-0000-1000-8000-00805F9B34FB}'
WAPClientServiceClass_UUID = '{00001114-0000-1000-8000-00805F9B34FB}'

#个人局域网服务
PANUServiceClass_UUID = '{00001115-0000-1000-8000-00805F9B34FB}'

#个人局域网服务
NAPServiceClass_UUID = '{00001116-0000-1000-8000-00805F9B34FB}'

#个人局域网服务
GNServiceClass_UUID = '{00001117-0000-1000-8000-00805F9B34FB}'

DirectPrintingServiceClass_UUID = '{00001118-0000-1000-8000-00805F9B34FB}'
ReferencePrintingServiceClass_UUID = '{00001119-0000-1000-8000-00805F9B34FB}'
ImagingServiceClass_UUID = '{0000111A-0000-1000-8000-00805F9B34FB}'
ImagingResponderServiceClass_UUID = '{0000111B-0000-1000-8000-00805F9B34FB}'
ImagingAutomaticArchiveServiceClass_UUID = '{0000111C-0000-1000-8000-00805F9B34FB}'
ImagingReferenceObjectsServiceClass_UUID = '{0000111D-0000-1000-8000-00805F9B34FB}'
SDP_HandsfreeServiceClass_UUID = '{0000111E-0000-1000-8000-00805F9B34FB}'
HandsfreeAudioGatewayServiceClass_UUID = '{0000111F-0000-1000-8000-00805F9B34FB}'
DirectPrintingReferenceObjectsServiceClass_UUID = '{00001120-0000-1000-8000-00805F9B34FB}'
ReflectedUIServiceClass_UUID = '{00001121-0000-1000-8000-00805F9B34FB}'
BasicPringingServiceClass_UUID = '{00001122-0000-1000-8000-00805F9B34FB}'
PrintingStatusServiceClass_UUID = '{00001123-0000-1000-8000-00805F9B34FB}'

#人机输入服务
HumanInterfaceDeviceServiceClass_UUID = '{00001124-0000-1000-8000-00805F9B34FB}'

HardcopyCableReplacementServiceClass_UUID = '{00001125-0000-1000-8000-00805F9B34FB}'

#蓝牙打印服务
HCRPrintServiceClass_UUID = '{00001126-0000-1000-8000-00805F9B34FB}'

HCRScanServiceClass_UUID = '{00001127-0000-1000-8000-00805F9B34FB}'
CommonISDNAccessServiceClass_UUID = '{00001128-0000-1000-8000-00805F9B34FB}'
VideoConferencingGWServiceClass_UUID = '{00001129-0000-1000-8000-00805F9B34FB}'
UDIMTServiceClass_UUID = '{0000112A-0000-1000-8000-00805F9B34FB}'
UDITAServiceClass_UUID = '{0000112B-0000-1000-8000-00805F9B34FB}'
AudioVideoServiceClass_UUID = '{0000112C-0000-1000-8000-00805F9B34FB}'
SIMAccessServiceClass_UUID = '{0000112D-0000-1000-8000-00805F9B34FB}'
PnPInformationServiceClass_UUID = '{00001200-0000-1000-8000-00805F9B34FB}'
GenericNetworkingServiceClass_UUID = '{00001201-0000-1000-8000-00805F9B34FB}'
GenericFileTransferServiceClass_UUID = '{00001202-0000-1000-8000-00805F9B34FB}'
GenericAudioServiceClass_UUID = '{00001203-0000-1000-8000-00805F9B34FB}'
GenericTelephonyServiceClass_UUID = '{00001204-0000-1000-8000-00805F9B34FB}'

0

评论区