初学蓝牙堆栈建议

时间:2018-03-18 22:16:46

标签: security bluetooth stack

Hay peeps

我对蓝牙及其内部工作方式相对较新,并且我仍然试图了解一些概念和程序。我的问题与蓝牙堆栈有关。

我知道操作系统上有一个蓝牙堆栈,如Linux Bluez,Windows,Androids Bluedroid等......但外围设备本身是否实现堆栈,例如我将蓝牙鼠标连接到Linux系统,Linux当然实现了Bluez堆栈,鼠标是否实现了蓝牙堆栈?

我试图了解在这种情况下哪个设备将实现安全性,因为它是带有Bluez或鼠标外设的Linux。

谢谢

1 个答案:

答案 0 :(得分:0)

是的,但是区别在于,与Linux或android等操作系统中的蓝牙堆栈相比,外围设备将不支持所有配置文件和功能。

蓝牙是无线协议之一。协议是要遵循的程序或规则系统。因此,两个设备应遵循相同的通信协议。如果这些设备之一未遵循所需的协议,则另一设备将无法与其通信。这就像两个人之间的共同语言。要遵循这些协议,所有设备都应具有堆栈。蓝牙鼠标和键盘也将具有蓝牙堆栈。

蓝牙分为核心协议和profiles。所有设备进行扫描,配对等都需要Core和一些配置文件,例如,GAP,GATT。一些配置文件是针对特定用例的。对于键盘和鼠标,是HID配置文件。要传输HiFi音频,它是A2DP。对于语音通信,它是HFP。由于内存和成本的限制,每个外围设备将仅实现其用例所需的配置文件。

操作系统通常将实现所有配置文件,因为它需要连接到大多数外围设备。例如,A2DP用于连接蓝牙耳机,HID / HOGP用于连接鼠标,SPP / OBEX用于通过蓝牙传输文件。

安全性在BREDR的GAP和BLE的SMP中实现。这些已在所有设备中实现。

蓝牙堆栈也以不同的方式实现。在某些地方,它完全在Bluetooth控制器中实现(大多数应用程序都在单个芯片中实现),但在某些地方,它被分为主机CPU(在OS中)和Bluetooth控制器(在固件中)。 Bludroid和Bluez是运行在主机CPU(HCI之上)中的上部。在与设备相连的Bluetooth控制器中,堆栈的下部(HCI之上)将运行。

开始学习蓝牙的最佳地方是Bluetooth SIG website