#author("2022-02-23T19:04:27+08:00","default:Admin","Admin")
#author("2023-04-21T17:47:03+08:00","default:Admin","Admin")
[[BlueTooth]]

&color(red){※前提条件:本情報はBlueTooth 4.0を基づいて説明してる};

#contents

蓝牙4.0包括三个子规范,即传统蓝牙技术、高速蓝牙和新的蓝牙低功耗技术。
蓝牙4.0的有效传输距离可达到60米

设备端和主机端使用GATT(Generic ATTribute) profile进行通信。 如果你听到GATT这个名词,就可以将其想成使用BLE,这没什么问题。
* BLE [#u2770100]

低功耗蓝牙(Bluetooth® Low Energy)

蓝牙低能耗(BLE)技术是低成本、短距离、可互操作的鲁棒性无线技术,工作在免许可的2.4GHz ISM射频频段。

有BLE4.0, BLE4.1, BLE4.2, BLE 5.0等多个协议版本。

BLE技术采用了非常快速的连接方式,因此平时可以处于“非连接”状态(节省能源),此时链路两端相互间只是知晓对方,只有在必要时才开启链路,然后在尽可能短的时间内关闭链路。

*低功耗蓝牙(BLE)的工作模式 [#o596d014]

- 主设备模式
- 设备模式
- Mesh组网模式
- 广播模式。

目前市面上大多数设备基本都工作在从设备模式,所以本次我们着重讲解从设备模式的操作流程。

首先,给大家普及个概念,从设备是需要被主设备连接的,例如手机,就是一个很典型的主设备,它需要主动去搜索,连接其他的蓝牙。大概的一个连接方式如下:
发现设备->配对/绑定设备->建立连接->数据通信。

*低功耗蓝牙(BLE)的工作状态 [#xb054713]

+ 待机状态(standby) :没有连接任何设备,没有传输和发送数据。
+ 广播状态(Advertiser/advertising):周期性广播状态。
+ 扫描状态(Scanner/scanning) :主动寻找正在广播的设备。
+ 发起连接状态(Initiator/initiating):主动发起连接。
+ 连接状态(connected) :已经连接。

&ref(BLE_workstate.jpg);
* GATT概念 [#e4e66a67]

GATT概念

GATT已经成为BLE通信的规定,每一个设备中存在很多的“service”(服务),service中还包含有多个“Characteristic”(特征值)。在蓝牙实际数据交换中,就是通过读写这些“Characteristic”来实现的。

&ref(BLE_Gatt1.png);

- 一个鼠标是一个BLEDevice
- 一个BLEDevice建立了一个BLE服务器 BLEServer
- 一个BLE服务器里有多个服务BLEService
- 一个服务里有多个特征值BLECharacteristic 每个特征值是一种数据.就是通过读写这些“Characteristic”实现读写数据

每个characteristic的值可以在不加密的状态下读写,但配对的操作是加密的。 还有当characteristic的值已改变时,可接收通知(notify)。

#codeprettify{{
 XXX
}}

#hr();
コメント:
#comment_kcaptcha

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS