蓝牙基础介绍

news2024/11/27 0:36:46

目录
一、概述(Overview
二、框架结构(Frame Structure
三、蓝牙协议(Bluetooth Protocol

一、概述(Overview

什么是蓝牙?就像你们大多数人想知道任何你从未听说过的事情时所做的那样。。。试试维基百科。
它(http://en.wikipedia.org/wiki/Bluetooth)如下所示。

蓝牙是一种专有的开放式无线技术标准,用于在固定和移动设备之间进行短距离数据交换(使用2400–2480 MHz ISM波段的短波长无线电传输),从而创建具有高度安全性的个人局域网(PANs)。由电信供应商爱立信(telecoms vendor Ericsson)于1994年创建,[1]最初被认为是RS-232数据电缆的无线替代品(wireless alternative)。它可以连接多个设备,从而克服同步(synchronization)问题。

要理解任何一种通信技术,你都应该能够回答有关它的几个基本问题。换句话说,如果你能回答以下问题,我想说你已经对它有了一些大致的了解。

是有线通信吗?还是无线通信?
如果是无线通信,它使用的波长(频率)范围是什么?
典型的传输范围是什么?(它能走多远)?
您可以发送和接收的典型数据速率(rate )是多少?
典型的连接拓扑(connection topology)是什么?(是一对一连接?还是一对多连接?等等)

你能从我上面引用的维基百科定义中找到这些问题的答案吗?让我们逐一解决每一个问题。

是有线通信吗?还是无线通信?=>这就是“无线通信”。
如果是无线通信,它使用什么样的波长(频率)范围?
=>它是2400~2800兆赫的频率范围,称为ISM(工业科学医学)频带。

典型的沟通范围是什么?(它能走多远)?===>它通常是几米的范围(不过维基百科的定义并没有明确说明这个范围)

您可以发送和接收的典型数据速率是多少?===>一开始,它的最大数据速率为1Mbps,现在大多为2,3Mbps(EDR)。最近的规范定义了用于更高数据速率的技术。

典型的连接拓扑是什么?(是一对一连接?还是一对多连接?等等)===它支持一对一和一对多的连接。

典型的蓝牙应用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、框架结构(Frame Structure

在任何类型的无线通信中,了解底层机制(underlying mechanism)的第一步是了解物理层帧结构(physical layer frame structure)和调制方案(the modulation scheme)。

1、实际通信中的跳频(Frequency Hopping in Real Communication)
蓝牙物理数据占用1MHz的射频带宽(RF bandwidth,),但蓝牙通信所需的实际频率范围超过80MHz。

这是因为发送器(sender)和接收器(reciever)在大约80兆赫的范围内为每一帧改变其通信信道(频率)。这种改变每次传输频率的方式被称为“跳频”。

每个信道(channel 的总体频率分配如下:
在这里插入图片描述
为了给你一些真实的跳频过程,我用信号分析仪(signal analyzer)捕捉到了真实的蓝牙通信信号。(用普通的模拟频谱分析仪(analog spectrum analyzer)很难捕捉到这种画面,你必须使用矢量频谱分析仪(vector spectrum analyzer)。但即使有矢量频谱分析仪,也不容易让设备捕捉到整个跳跃范围。你需要至少80 Mhz带宽的矢量频谱分析仪)
在这里插入图片描述
2、框架结构(Frame Structure

现在让我们看看时域(time domain)中的基本传输单元(时隙或帧结构/Slot or Frame structure)。蓝牙插槽由三个主要组件(接入码、报头和有效负载/Access Code, Header and Payload)组成,如下所示。时隙的基本长度为366 us,根据有效载荷的长度,它可以扩展到1.622 ms或2.87 ms。

接入码(Access Code)和报头(Header)总是以GFSK进行调制,有效载荷(Payload)部分根据分组类型以三种不同方法之一(GFSK、1/4π DQPSK、8DPSK)进行调制。

以下是最传统的蓝牙插槽结构的框架结构。使用此结构可以实现的最大数据速率(data rate)为1Mbps,并且此结构在整个插槽中使用GFSK调制方案。
在这里插入图片描述
以下是用于高数据速率蓝牙时隙结构的帧结构。有了这种结构,根据有效载荷的调制方案(modulation scheme),您可以实现最大2MHz或3MHz。接入码和报头部分仍然使用GFSK调制方案,并且有效载荷部分对于2Mbps数据速率使用1/4π DQPSK,对于3Mbps使用8 DPSK。与前一个相比,您将在这个结构中看到两个额外的部分。

第一个附加组件是“防护时间(Guardtime)”。在该结构中,接入码和报头部分使用GFSK,而有效载荷部分使用DQPSK/8 DPSK。这意味着调制方案在一个时隙内发生变化。这个保护时间是为了给发射机(transmitter )一些时间来切换调制方案。

另一个附加组件是“同步(Sync)”部分。在任何基于I/Q的调制中,采样定时(sampling timing)都是非常重要的。“同步”是参考信号(reference signal)的一部分,因此接收器可以获得正确的定时参考。
在这里插入图片描述
3、调制(Modulation)

当您阅读前面关于插槽结构的部分时,您可能会注意到蓝牙插槽中使用了三种不同的调制方案。我将在本节中简要介绍(snapshot)这三种不同的调制方案。我认为每种情况下都有典型的星座(typical constellation)就足够了。

第一个是GFSK调制,在I/Q坐标(I/Q coordinate)中,你会看到很多点围绕着一个圆的周长(perimetor)。
在这里插入图片描述
以下是1/4π DQPSK的样本星座图。如果你看到右侧的星座,它看起来与8 PSK完全相同,但如果你显示你会注意到的点的轨迹(trajectory),则没有一条路径通过(0,0)点。这对放大器的效率(amplifier effieciency)和电池消耗(battery consumption)都有好处。在正常的QPSK情况下,每个点的绝对坐标携带信息,但在DQPSK中,两个连续点之间的相位差(角度差)携带信息。
在这里插入图片描述
在这里插入图片描述
以下是1/4π DQPSK的样本星座图。如果你看到右侧的星座,它看起来与8 PSK完全相同,也与1/4 DQPSK相同,但如果你显示点的轨迹,你会注意到与1/4 DQPSK不同的模式。但在这种情况下,仅仅通过观察星座几乎不可能找到8 PSK和8 DPSK之间的区别。
在这里插入图片描述
在这里插入图片描述
三、蓝牙协议(Bluetooth Protocol

1、总体状态转换(Overal State Transition
蓝牙通信的总体状态流程(state flow)如下。当你看到这种循环状态图(circular state diagram)时,你最好选择起点和终点之一。否则,你将继续在各状态之间循环,你的眼球将无休止地旋转—:)。

例如,我只是将“待机(Stand by)”作为第一个点,将“Tx/Rx”作为终点,然后沿着红色箭头标记的路径行进。

当你打开蓝牙设备时,它将进入待机模式(stand by mode)并开始“查询(inquire)”。(这就像向所有方向广播一条消息,说“有人在听我说话吗?如果有,请告诉我你的地址”。通过这个过程,设备可能会从多个设备获得响应。如果它找到任何想要连接的设备,它会向设备发送寻呼消息(Paging message),说:“我想连接你”。如果它得到了另一方的接受,双方将通过一个复杂的步骤进入连接模式(connected mode),这将在下一节中描述。

一旦处于连接模式,双方都可以发送(transmit)和接收(receive)数据。但是,如果长时间没有数据可以传输或接收怎么办?如果他们在这段时间里保持清醒,就会浪费大量的电池电量。为了减少电池寿命的浪费,蓝牙支持三个级别的节能模式(energy saving mode),称为嗅探(Sniff)、保持( Hold)、驻车(Park)。

在嗅探模式(Sniff mode)下,设备仍然保持与微微网(蓝牙设备之间的网络)的同步(synchronization),但Tx/Rx周期会减少。这个周期被称为“嗅探间隔(Sniff Interval)”,这个间隔是可编程的,取决于应用。

在保持模式(Hold mode)下,只有设备中的内部时钟(internal clock)在运行。因此,在这种模式下,数据传输是不可能的,但如果需要数据传输,它可以很快切换到活动模式。此HOLD(保持)模式可以由主控(Master)或从控(Slave)启动。

在驻车模式(Park mode)下,设备仍然保持与微微网(蓝牙设备之间的网络)的同步,但不会发送/接收任何数据。该设备甚至释放其MAC地址,它只是周期性地醒来听主控说话。如果它从Master收到任何请求数据事务的信号,它必须再次进行连接过程。恢复连接需要更长的时间/过程,但它最节省能源。
在这里插入图片描述
2、总体协议序列(Overall Protocol Sequence
在这里插入图片描述
以下是wiki.wireshark.org-Bluetooth1.cap中的一个蓝牙协议日志(log)示例。只需先查看整个序列,并根据您的兴趣深入了解每条消息中的详细参数。
在这里插入图片描述
(1) Command Inquiry

Bluetooth HCI H4
[Direction: Sent (0x00)]
HCI Packet Type: HCI Command (0x01)
Bluetooth HCI Command - Inquiry
Command Opcode: Inquiry (0x0401)
0000 01… … … = ogf: Link Control Commands (0x0001)
… …00 0000 0001 = ocf: 0x0001
Parameter Total Length: 5
LAP: 0x9e8b33
Inquiry Length: 16
Num Responses: 0

(2) Command Status (Inquiry)

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Command Status
Event Code: Command Status (0x0f)
Parameter Total Length: 4
Status: Pending (0x00)
Number of Allowed Command Packets: 1
Command Opcode: Inquiry (0x0401)

(3) Inquiry Result

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Inquiry Result
Event Code: Inquiry Result (0x02)
Parameter Total Length: 15
Number of responses: 1
BD_ADDR:000e:6d:072efa (MurataMa_07:2e:fa)
Page Scan Repetition Mode: R1 (0x01)
Page Scan Period Mode: P0 (0x00)
Page Scan Mode: Mandatory Page Scan Mode (0x00)
Class of Device: 0x420204 (Phone - services: Telephony, Networking)
.100 0010 1101 1101 = Clock Offset: 0x42dd

(4) Inquiry Complete

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Inquiry Complete
Event Code: Inquiry Complete (0x01)
Parameter Total Length: 1
Status: Success (0x00)

(5) Remote Name Request

Bluetooth HCI H4
[Direction: Sent (0x00)]
HCI Packet Type: HCI Command (0x01)
Bluetooth HCI Command - Remote Name Request
Command Opcode: Remote Name Request (0x0419)
0000 01… … … = ogf: Link Control Commands (0x0001)
… …00 0001 1001 = ocf: 0x0019
Parameter Total Length: 10
BD_ADDR:000e:6d:072efa (MurataMa_07:2e:fa)
Page Scan Repetition Mode: R1 (0x01)
Page Scan Mode: Mandatory Page Scan Mode (0x00)
.000 0000 0000 0000 = Clock Offset: 0x0000 (0 ms)
0… … … … = Clock_Offset_Valid_Flag: false (0)

(6) Command Status (Remote Name Request)

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Command Status
Event Code: Command Status (0x0f)
Parameter Total Length: 4
Status: Pending (0x00)
Number of Allowed Command Packets: 1
Command Opcode: Remote Name Request (0x0419)

(7) Remote Name Req Complete

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Remote Name Req Complete
Event Code: Remote Name Req Complete (0x07)
Parameter Total Length: 255
Status: Page Timeout (0x04)
BD_ADDR:000e:6d:072efa (MurataMa_07:2e:fa)
Remote Name:

(8) Connect Request

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Connect Request
Event Code: Connect Request (0x04)
Parameter Total Length: 10
BD_ADDR:000e:6d:072efa (MurataMa_07:2e:fa)
Class of Device: 0x6a0204 (Phone - services: Telephony, Audio, Capturing, Networking)
Link Type: ACL connection (Data Channels) (0x01)

(9) Accept Connection Request

Bluetooth HCI H4
[Direction: Sent (0x00)]
HCI Packet Type: HCI Command (0x01)
Bluetooth HCI Command - Accept Connection Request
Command Opcode: Accept Connection Request (0x0409)
0000 01… … … = ogf: Link Control Commands (0x0001)
… …00 0000 1001 = ocf: 0x0009
Parameter Total Length: 7
BD_ADDR:000e:6d:072efa (MurataMa_07:2e:fa)
Role: Remain Slave (0x01)

(10) Command Status (Accept Connection Request)

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Command Status
Event Code: Command Status (0x0f)
Parameter Total Length: 4
Status: Pending (0x00)
Number of Allowed Command Packets: 1
Command Opcode: Accept Connection Request (0x0409)

(11) PIN Code Request

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - PIN Code Request
Event Code: PIN Code Request (0x16)
Parameter Total Length: 6
BD_ADDR:000e:6d:072efa (MurataMa_07:2e:fa)

(12) PIN Code Request Reply

Bluetooth HCI H4
[Direction: Sent (0x00)]
HCI Packet Type: HCI Command (0x01)
Bluetooth HCI Command - PIN Code Request Reply
Command Opcode: PIN Code Request Reply (0x040d)
0000 01… … … = ogf: Link Control Commands (0x0001)
… …00 0000 1101 = ocf: 0x000d
Parameter Total Length: 23
BD_ADDR:000e:6d:072efa (MurataMa_07:2e:fa)
PIN Code Length: 4
PIN Code: 1234

(13) Command Complete (PIN Code Request Reply)

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Command Complete
Event Code: Command Complete (0x0e)
Parameter Total Length: 10
Number of Allowed Command Packets: 1
Command Opcode: PIN Code Request Reply (0x040d)
0000 01… … … = ogf: Link Control Commands (0x0001)
… …00 0000 1101 = ocf: 0x000d
Status: Success (0x00)
BD_ADDR:000e:6d:072efa (MurataMa_07:2e:fa)

(14) Connect Complete

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Connect Complete
Event Code: Connect Complete (0x03)
Parameter Total Length: 11
Status: Authentication Failure (0x05)
Connection Handle: 0x0029
BD_ADDR:000e:6d:072efa (MurataMa_07:2e:fa)
Link Type: ACL connection (Data Channels) (0x01)
Encryption Mode: Encryption Disabled (0x00)

(15) Connect Request

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Connect Request
Event Code: Connect Request (0x04)
Parameter Total Length: 10
BD_ADDR:000e:6d:072efa (MurataMa_07:2e:fa)
Class of Device: 0x6a0204 (Phone - services: Telephony, Audio, Capturing, Networking)
Link Type: ACL connection (Data Channels) (0x01)

(16) Accept Connection Request

Bluetooth HCI H4
[Direction: Sent (0x00)]
HCI Packet Type: HCI Command (0x01)
Bluetooth HCI Command - Accept Connection Request
Command Opcode: Accept Connection Request (0x0409)
0000 01… … … = ogf: Link Control Commands (0x0001)
… …00 0000 1001 = ocf: 0x0009
Parameter Total Length: 7
BD_ADDR:000e:6d:072efa (MurataMa_07:2e:fa)
Role: Remain Slave (0x01)

(17) Command Status (Accept Connection Request)

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Command Status
Event Code: Command Status (0x0f)
Parameter Total Length: 4
Status: Pending (0x00)
Number of Allowed Command Packets: 1
Command Opcode: Accept Connection Request (0x0409)

(18) PIN Code Request

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - PIN Code Request
Event Code: PIN Code Request (0x16)
Parameter Total Length: 6
BD_ADDR:000e:6d:072efa (MurataMa_07:2e:fa)

(19) PIN Code Request Reply

Bluetooth HCI H4
[Direction: Sent (0x00)]
HCI Packet Type: HCI Command (0x01)
Bluetooth HCI Command - PIN Code Request Reply
Command Opcode: PIN Code Request Reply (0x040d)
0000 01… … … = ogf: Link Control Commands (0x0001)
… …00 0000 1101 = ocf: 0x000d
Parameter Total Length: 23
BD_ADDR:000e:6d:072efa (MurataMa_07:2e:fa)
PIN Code Length: 4
PIN Code: 1234

(20) Command Complete (PIN Code Request Reply)

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Command Complete
Event Code: Command Complete (0x0e)
Parameter Total Length: 10
Number of Allowed Command Packets: 1
Command Opcode: PIN Code Request Reply (0x040d)
0000 01… … … = ogf: Link Control Commands (0x0001)
… …00 0000 1101 = ocf: 0x000d
Status: Success (0x00)
BD_ADDR:000e:6d:072efa (MurataMa_07:2e:fa)

(21) Link Key Notification

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Link Key Notification
Event Code: Link Key Notification (0x18)
Parameter Total Length: 23
BD_ADDR:000e:6d:072efa (MurataMa_07:2e:fa)
Link Key: ec596f3306bba9e53d7b72de47c1404a
Key Type: Combination Key (0x00)

(22) Connect Complete

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Connect Complete
Event Code: Connect Complete (0x03)
Parameter Total Length: 11
Status: Success (0x00)
Connection Handle: 0x002a
BD_ADDR:000e:6d:072efa (MurataMa_07:2e:fa)
Link Type: ACL connection (Data Channels) (0x01)
Encryption Mode: Encryption only for point-to-point packets (0x01)

(23) Write Link Policy Settings

Bluetooth HCI H4
[Direction: Sent (0x00)]
HCI Packet Type: HCI Command (0x01)
Bluetooth HCI Command - Write Link Policy Settings
Command Opcode: Write Link Policy Settings (0x080d)
0000 10… … … = ogf: Link Policy Commands (0x0002)
… …00 0000 1101 = ocf: 0x000d
Parameter Total Length: 4
Connection Handle: 0x002a
… … … …1 = Enable Master Slave Switch: true (1)
… … … …1. = Enable Hold Mode: true (1)
… … … .1… = Enable Sniff Mode: true (1)
… … … 1… = Enable Park Mode: true (1)

(24) Page Scan Repetition Mode Change

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Page Scan Repetition Mode Change
Event Code: Page Scan Repetition Mode Change (0x20)
Parameter Total Length: 7
BD_ADDR:000e:6d:072efa (MurataMa_07:2e:fa)
Page Scan Repetition Mode: R1 (0x01)

(25) Command Complete (Write Link Policy Settings)

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Command Complete
Event Code: Command Complete (0x0e)
Parameter Total Length: 6
Number of Allowed Command Packets: 1
Command Opcode: Write Link Policy Settings (0x080d)
0000 10… … … = ogf: Link Policy Commands (0x0002)
… …00 0000 1101 = ocf: 0x000d
Status: Success (0x00)
Connection Handle: 0x002a

(26) Change Connection Packet Type

Bluetooth HCI H4
[Direction: Sent (0x00)]
HCI Packet Type: HCI Command (0x01)
Bluetooth HCI Command - Change Connection Packet Type
Command Opcode: Change Connection Packet Type (0x040f)
0000 01… … … = ogf: Link Control Commands (0x0001)
… …00 0000 1111 = ocf: 0x000f
Parameter Total Length: 4
Connection Handle: 0x002a
… … … …0. = Packet Type 2-DH1: false (0)
… … … .0… = Packet Type 3-DH1: false (0)
… … … 1… = Packet Type DM1: true (1)
… … …1 … = Packet Type DH1: true (1)
… …0 … … = Packet Type 2-DH3: false (0)
… …0. … … = Packet Type 3-DH3: false (0)
… .1… … … = Packet Type DM3: true (1)
… 1… … … = Packet Type DH3: true (1)
…0 … … … = Packet Type 2-DH5: false (0)
…0. … … … = Packet Type 3-DH5: false (0)
.1… … … … = Packet Type DM5: true (1)
1… … … … = Packet Type DH5: true (1)

(27) Max Slots Change

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Max Slots Change
Event Code: Max Slots Change (0x1b)
Parameter Total Length: 3
Connection Handle: 0x002a
Maximum Number of Slots: 5

(28) Command Status (Change Connection Packet Type)

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Command Status
Event Code: Command Status (0x0f)
Parameter Total Length: 4
Status: Pending (0x00)
Number of Allowed Command Packets: 1
Command Opcode: Change Connection Packet Type (0x040f)

(29) Remote Name Request

Bluetooth HCI H4
[Direction: Sent (0x00)]
HCI Packet Type: HCI Command (0x01)
Bluetooth HCI Command - Remote Name Request
Command Opcode: Remote Name Request (0x0419)
0000 01… … … = ogf: Link Control Commands (0x0001)
… …00 0001 1001 = ocf: 0x0019
Parameter Total Length: 10
BD_ADDR:000e:6d:072efa (MurataMa_07:2e:fa)
Page Scan Repetition Mode: R1 (0x01)
Page Scan Mode: Mandatory Page Scan Mode (0x00)
.000 0000 0000 0000 = Clock Offset: 0x0000 (0 ms)
0… … … … = Clock_Offset_Valid_Flag: false (0)

(30) Connection Packet Type Changed

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Connection Packet Type Changed
Event Code: Connection Packet Type Changed (0x1d)
Parameter Total Length: 5
Status: Success (0x00)
Connection Handle: 0x002a
Usable packet types: DM1 HV1 2-DH1
… … … …0. = ACL Link Type 2-DH1: False (0)
… … … .0… = ACL Link Type 3-DH1: False (0)
… … … 1… = ACL Link Type DM1: True (1)
… … …1 … = ACL Link Type DH1: True (1)
… …0 … … = ACL Link Type 2-DH3: False (0)
… …0. … … = ACL Link Type 3-DH3: False (0)
… .1… … … = ACL Link Type DM3: True (1)
… 1… … … = ACL Link Type DH3: True (1)
…0 … … … = ACL Link Type 2-DH5: False (0)
…0. … … … = ACL Link Type 3-DH5: False (0)
.1… … … … = ACL Link Type DM5: True (1)
1… … … … = ACL Link Type DH5: True (1)
… … …0. … = SCO Link Type HV1: False (0)
… … .0… … = SCO Link Type HV2: False (0)
… … 0… … = SCO Link Type HV3: False (0)

(31) Command Status (Remote Name Request)

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Command Status
Event Code: Command Status (0x0f)
Parameter Total Length: 4
Status: Pending (0x00)
Number of Allowed Command Packets: 1
Command Opcode: Remote Name Request (0x0419)

(32) Remote Name Request

Bluetooth HCI H4
[Direction: Sent (0x00)]
HCI Packet Type: HCI Command (0x01)
Bluetooth HCI Command - Remote Name Request
Command Opcode: Remote Name Request (0x0419)
0000 01… … … = ogf: Link Control Commands (0x0001)
… …00 0001 1001 = ocf: 0x0019
Parameter Total Length: 10
BD_ADDR:000e:6d:072efa (MurataMa_07:2e:fa)
Page Scan Repetition Mode: R1 (0x01)
Page Scan Mode: Mandatory Page Scan Mode (0x00)
.000 0000 0000 0000 = Clock Offset: 0x0000 (0 ms)
0… … … … = Clock_Offset_Valid_Flag: false (0)

(33) Command Status (Remote Name Request)

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Command Status
Event Code: Command Status (0x0f)
Parameter Total Length: 4
Status: Pending (0x00)
Number of Allowed Command Packets: 0
Command Opcode: Remote Name Request (0x0419)

(34) Remote Name Req Complete

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Remote Name Req Complete
Event Code: Remote Name Req Complete (0x07)
Parameter Total Length: 255
Status: Other End Terminated Connection: User Ended Connection (0x13)
BD_ADDR:000e:6d:072efa (MurataMa_07:2e:fa)
Remote Name:

(35) Disconnect Complete

Bluetooth HCI H4
[Direction: Rcvd (0x01)]
HCI Packet Type: HCI Event (0x04)
Bluetooth HCI Event - Disconnect Complete
Event Code: Disconnect Complete (0x05)
Parameter Total Length: 4
Status: Success (0x00)
Connection Handle: 0x002a
Reason: Other End Terminated Connection: User Ended Connection (0x13)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/471425.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis-01-基础-redis简介安装、数据类型、常用命令、使用Spring Data Redis封装好的命令方法操作redis

文章目录 Redis基础课程内容1. 前言1.1 什么是Redis1.2 使用Redis能做什么 2. Redis入门2.1 Redis简介2.2 Redis下载与安装2.2.1 Redis下载2.2.2 Redis安装 2.3 Redis服务启动与停止2.4 Redis配置文件 3. Redis数据类型3.1 介绍3.2 Redis 5种常用数据类型 4. Redis常用命令4.1 …

Unity TextMeshPro文本存在背景框的问题研究

在使用TextMeshPro的时候遇到了字体黑底的问题,类似下图这样 当字体较大的时候表现正常,当缩小到一定程度就会出现黑底。这个情况让人第一时间就是怀疑SDF计算缩放的时候存在问题。在我们重新导出字体,调整图集字体大小以及Padding后&#xf…

基于GA遗传算法的列车交路优化MATLAB代码

资源地址: 基于GA遗传优化算法的列车交路方案优化matlab代码资源-CSDN文库 问题描述: 列车交路是指列车在规定的运行线路上往返运行的方式,规定了列车运行区段、折返车站以及按不同交路运行的列车对数. 对于既有线路,正在进行机…

【2023年五一数学建模竞赛B题】快递需求分析问题--完整思路和代码

1.问题背景与描述 赛题分析:这道题出的比较好,考察面较多,难度循环渐进,相对C题是比较有层次的一道题 2.解题思路分析 2.1 问题一的分析 请从收货量、发货量、快递数量增长/减少趋势、相关性等多角度考虑,建立数学模…

d3.js学习笔记②搭建服务器(含报错解决)

强烈建议自己搭建一个服务器,否则在后续往js里导入本地数据(比如csv、json文件等)的时候会报错。我用的是Apache服务器,下载、安装过程参考这篇文章:Apache安装配置 在浏览器输入http://localhost/或者http://127.0.0…

2023轻薄投影仪选哪款?极米Z6X Pro成年轻人租房首选投影

生活在哪里?大隐隐于市,小隐隐于出租屋。在那小小出租屋里,租房人开始选择自己打造一个“家”。一般情况下,在外租房的房间整体面积比较小,选择轻薄的投影仪是一个很好的选择。而国内知名投影品牌极米科技推出的这款轻…

WebLogic LinkRef 反序列化远程代码执行漏洞(CVE-2023-21931)

漏洞描述 Oracle WebLogic Server 是一款Java EE应用服务器。 受影响版本的WebLogic中WLNamingManager#getObjectInstance()存在JNDI查找逻辑,导致攻击者可以通过IIOP协议传入特定的对象触发反序列化逻辑,执行任意代码。 当传入boundObject 对象是 Li…

MySQL的数据库引擎介绍

1、什么是数据库引擎 数据库引擎就是操作数据库的一段程序或程序段,用于存储、处理和保护数据的核心服务。 利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求。数据库应用项目是通过数据库引擎与数据库…

干货好文 | 两地三中心到异地双活演变及关键技术探讨

两地三中心和异地多活都是分布式系统的关键技术,用于保证系统的高可用性和容错性。其中最关键的技术无疑是数据同步、同步防环和数据冲突解决。 异地容灾 & 两地三中心 两地三中心架构是一种分布式系统的架构模式,用于保证系统的高可用性和容错性。…

Numpy从入门到精通——节省内存|通用函数

这个专栏名为《Numpy从入门到精通》,顾名思义,是记录自己学习numpy的学习过程,也方便自己之后复盘!为深度学习的进一步学习奠定基础!希望能给大家带来帮助,爱睡觉的咋祝您生活愉快! 这一篇介绍《…

适合学生党的蓝牙耳机品牌有哪些?学生性价比高的蓝牙耳机排行

近几年,蓝牙耳机凭借便捷的使用迅速成为人们外出常备的数码产品之一。现如今,市面上的蓝牙耳机越来越多,不同品牌,不同型号的蓝牙耳机数不胜数。那么,有没有适合学生党的蓝牙耳机品牌?针对这个问题&#xf…

试试这几个冷门但好用的软件吧

软件一:探记 探记是一款专注于个人记录每一条记录的工具,主要特点如下: 简单易用:探记的界面设计简洁明了,操作流程简单易用,用户可以快速、方便地添加记录。 多样化记录类型:探记支持多种记…

接口自动化测试面试、拿下10个题,你可以游刃有余

目录 1.请问你是如何做接口测试的? 2.接口测试如何设计测试用例? 3.接口测试执行中需要比对数据库吗? 4.接口测试质量评估标准是什么? 5.接口产生的垃圾数据如何清理 6.其他接口要先获取接口信息,如何让登录的接…

土木人职场受挫该如何破局?转行IT互联网貌似已成首选!

“大学毕业两年,一直在内耗。既不想继续做工程,又不知道出了工地,自己还能做什么?” 本人毕业于一类院校的建筑环境与能源应用工程专业,通俗的说就是土木工程。 进施工单位是大部分土木人的归宿,本科毕业生…

户外专家REI的EDI需求详解

REI是美国著名的户外用品零售商,成立于1938年,总部位于西雅图。REI以提供高品质户外用品和服务为主要目标,包括登山、露营、徒步旅行、滑雪、骑行等各种户外活动所需要的装备和用品。REI的供应商来自世界各地,包括美国本土和国际市…

2023年第二十届五一数学建模竞赛题目 C题详细思路

详细思路以及发布视频版,大家可以去观看,这里是对应的文字版,内容相差不多。 C题:“双碳”目标下低碳建筑研究 C题的问题设置其实是本次比赛最简单的一道,就是简单的综合评价预测模型。真正提升C题难度的其实是C题的…

〖ChatGPT实践指南 - 零基础扫盲篇⑧〗- OpenAI 的 模型(Model) 介绍

文章目录 ⭐ OpenAI 模型列表⭐ GPT 模型🌟 GPT-3 模型🌟 GPT-3.5 模型🌟 GPT-4 模型 ⭐ 特定功能的模型🌟 DALLE 模型🌟 Whisper模型🌟 Embeddings 模型🌟 Codex 模型🌟 Moderation…

Python Node.js安装和配置

一、Node.js简介 简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统…

嘉明的数据结构学习Day5——作栈和队列以及它们的顺序存储与链式存储的实现

栈与队列是什么 栈和队列其实就是操作受限制的线性表。 下面来复习一下线性表的概念 具有n个相同类型元素的有限序列 有的人就会问,那么它们受限在哪里呢? 栈:只允许一段插入和删除。 队列:只允许一端插入一端删除。 栈 前面说…

巧用千寻位置GNSS软件| 桥台锥坡放样操作技巧

桥台锥坡放样是针对道路施工中,路桥结合部桥台圆锥形斜坡面进行放样设计的专用程序。本期将给大家介绍如何使用千寻位置GNSS软件实现快速完成桥台锥坡放样。 点击【测量】->【桥台锥坡放样】,从线路库中选择桥台经过的线路或是单独增加桥台 锥坡放样&…