---
# System prepended metadata

title: 藍芽入門  / 文件
tags: [BLE]

---

---
title: '藍芽入門 / 文件'
disqus: kyleAlien
---

藍芽入門 / 文件
===

## OverView of Content

[TOC]

## 藍芽技術聯盟

[**Bluetooth 藍芽技術聯盟官網**](https://www.bluetooth.com/)

藍芽技術聯盟 (`Bluetooth Special Interest Group`, SIG) 是一個訂製藍芽規範、推動藍芽技術的國際組織

### 藍芽文件 - 閱讀方式

* 這裡要談論的不是藍牙的技術細節，而是要來看看 Bluethood SIG 提供的相關文件（因為藍牙文件太多份了，要稍微先知道怎樣查看）；Bluethood SIG 會把大略把藍牙文件區分為三大類，分別是…

    1. **[Core Specification](https://www.bluetooth.com/specifications/specs/core-specification-6-2/)（核心規範）**：
        
        這個文件內會定義藍牙如何運作、協定行為、封包以及狀態機… 等等實作藍牙的細節
        
        > ![image](https://hackmd.io/_uploads/HyMpJGQw-g.png)
        
    2. **Profile / [Service](https://www.bluetooth.com/specifications/specs/heart-rate-service-1-0/) Specifications（應用互通規範）**：

        藍牙畢竟是通訊傳輸資料的設備，所以完成藍牙核心後，就需要對外暴露出與其通訊的方式，告訴外界如何來解讀這藍牙的資訊
        
        並解這裡會區分區一堆獨立的文件，每個 Profile / Service 幾乎都會是 n 份文件，來告訴我們應用端要如何與特定服務連接獲取資料
        
        > ![image](https://hackmd.io/_uploads/HJ2J7fXPWe.png)

    3. **[Assigned Number](https://www.bluetooth.com/specifications/assigned-numbers/)（賦予碼/字典）**：
        
        說明完如何解讀後，藍牙這裡會列出所有「已經被 SIG 使用」的 ID，並且列出這些 ID 所代表的服務功能
        
        > ![image](https://hackmd.io/_uploads/SJdHRWQPbe.png)


### 藍芽文件 - 不同的版本

* 可以透過 Specifications 搜尋對應的藍芽相關資訊

    1. Core 當前版本藍芽
        
        | 關鍵字 | Status | 說明 | 舉例 |
        | - | - | - | - |
        | `Core` | Active | 藍芽當前正在使用的最新版本 | `Core Specification 5.3` |
        | `Core Specification Supplement` | Active | 對藍芽協議的補強 | `Core Specification Supplement 10` |
        > ![](https://i.imgur.com/NEQOFNY.png)

    2. **Withdrawn** 廠商不再生產的版本

        | 關鍵字 | Status | 說明 | 舉例 |
        | - | - | - | - |
        | `Core` | Withdrawn | 舊版藍芽核心協定，但不在生產 | `Core Specification 4.0` |
        
        > ![](https://i.imgur.com/VJgYQU1.png)

    
    3. **Deprecated** 藍芽聯盟不再提供認證 & 授權，在 `Withdrawal` 日期之前仍可生產

        | 關鍵字 | Status | 說明 | 舉例 |
        | - | - | - | - |
        | `Core` | Deprecated | 舊版藍芽核心協定，在 `Withdrawal` 日期之前仍可升生產 | `Core Specification 4.1` |
        
        > ![](https://i.imgur.com/ubAD1FL.png)

## 藍芽版本


| 藍芽版本 | 發布年分 | 重點內容 | 補充 |
| -------- | -------- | -------- | - |
| 1.x | 1998 ~ 2004 | 基礎版本，基礎速度 BR (Basic Rate) | 速度 1 Mbit/s |
| 2.0/2.1 + EDR | 2004 | 強速度模式 EDR (Enhanced Data Rate) 模式 | 速度 2 ~ 3Mbit/s |
| 3.0 + HS | 2009 | 提高速度 HS (High Speed) 模式，啟用 IEEE 802.11 | 速度 24 Mbit/s |
| 4.0 | 2010 | **低功號藍芽 LE 模式** | LE 速度 1 Mbit/s |
| 4.1 | 2013 | LE 支持主從一體 | HS 模式 速度 54 Mbit/s |
| 4.2 | 2014 | 用戶數據包長度從 20 byte 升到 244 byte |  |
| 5.0 | 2016 | 增加 Angle of Arrival、Angle of Departure 定位模式 |  |
| 5.1/5.2 | 2019 | 增加 LE Audio |  |

詳細可以看藍芽聯盟提供的 Core 檔案

> ![](https://i.imgur.com/xJMgSRt.png)

### v1.x/v2.x - BR/EDR

* v1.x 版本 **Basic Rate**

    使用 1MBit/s 的 PHY 物理層，稱為基本速度 (BR) 模式

* v2.x 版本 **Enhanced Data Rate**
    
    * 該版本的藍芽又稱為 `經典`、`傳統` 藍芽 Bluetooth Classic，速度 2 ~ 3Mbit/s

### v3.0 - High Speed

* v3.0 版本 **High Speed**

    該版本藍芽又超為 `高速藍芽`，**HS 使用的是 ++IEEE 802.11 的 Wi-Fi 協定++，並非藍芽的 IEEE 802.15.1**
    
    :::warning
    * IEEE 802.11 協定 ?
        
        代表 **抽象、底層的無線網路標準**，所謂的標準就像是協議，而如何達成這個協議，可以由各平台、裝置自身決定
    :::

### v4.x - Low Energy

* v4.0 版本 **Low Energy**

    該版本藍芽又超為 `低功率藍芽 BLE`，使用 1MBit/s 的 PHY 物理層
    
    :::info
    * `v4.x BLE` & `v1.x BR` 使用相同的 PHY ?
        
        **No !** 兩者使用不同的物理層
    :::
    
    * 到這裡藍芽分為了 **三個分支**

        1. 傳統 (經典) 藍芽

        2. 高速藍芽：**使用 Wi-Fi 協議**

        3. 低功率藍芽

            * `傳統 (經典) 藍芽`、`低功率藍芽` 又分為兩種模式

                * 單模：設備只支持兩者其中一種

                * 雙模：設備支持兩種藍芽


            :::warning
            `傳統 (經典) 藍芽`、`低功率藍芽` **不能相互通訊**
            :::

* v4.1 版本，**支持主從一體**
    
    在舊版藍芽中，一個藍芽設備只能充當一種腳色；v4.1 版本以後，既可以成為 Server 也可以成為 Client，增強靈活性

* 4.2 版本
    
    **用戶數據包長度從 20 byte 升到 244 byte**
    

### v5.0 - 增強 LE 功能

* v5.0 版本，主要增強了 LE 的傳輸特性

    * `LE 2M PHY`：無編碼版本，速度為 1 ~ 2Mbit/s

    * `LE Coded PHY`：編碼版本，速度為 500 ~ 125Kbit/s

        > ![](https://i.imgur.com/K1FHbbE.png)


## 藍芽訊號

藍芽的本質是無線電波，會有許多因素影響到距離

### 天線、射頻電路

* 天線設計的好壞，會影響射頻訊號的能量傳輸；
    
    1. **大多數天線都有方向性**：360 度天性的性能不一致

    2. **頻段**：**藍芽頻段為 ==2.4GHz==**，這樣的高頻段屬於射頻電路範圍


### 發射功率 - dBm 單位

* **發射功率 `Transmit Power`、接收靈敏度 `Receive Sensitivity`**
    
    1. **藍芽發射功率 `Transmit Power` 會影響到傳輸距離**
    
    2. **藍芽接收靈敏度 `Receive Sensitivity`** 表示接收訊號性能的好壞

* 發射功率、接收靈敏度，兩者都 **單位可以使用 `dBm` 來描述，常用功率單位 `mW` 的對數 (log) 關係**；公式、通常對應值如下


    | dBm | mW |
    | -------- | -------- |
    | 0dBm | 1mW |
    | 3dBm | 2mW |
    | -3dBm | 0.5mW |
    | 10dBm | 10mW |
    | -10dBm | 0.1mW |
    
    * **公式**：X dBm = 10 log (P/1mW)
    
    * 常見關係
        
        * 加、減 3 dBm：加法功率 (`0dBm`) * 2、減法功率 (`0dBm`) / 2

        * 加、減 10 dBm：加法功率 (`0dBm`) * 10、減法功率 (`0dBm`) / 10

### 干擾、路徑損失 Path Loss

* 簡單來說就是傳輸信號的路徑上的物體 (空氣也算)、每個物體對於信號的角度反射，這都會影響到藍芽傳輸的距離

    :::warning
    其中最大的 **干擾通常是在同一個頻段上的 Wi-Fi 裝置 (也是 2.4GHz)**
    :::


### 物理層 PHY

* BLE 不同的物理層 (BLE 有四個物理層)：每個傳送的速度都不同　（有四種 2、1、0.5、0.125Mbit/s），距離越遠速度越慢，距離越近越快


    :::success
    * 藍芽聯盟也有提供相對應的 [**傳輸距離問題**](https://www.bluetooth.com/learn-about-bluetooth/key-attributes/range/)，並且有另一個 [**模擬器**](https://www.bluetooth.com/learn-about-bluetooth/key-attributes/range/#estimator) 可以計算
    
        > ![](https://i.imgur.com/Mqiw6oz.png)
    :::
    

## 常用無線協議

了解其他無線協議可以知道藍芽的優劣勢

| 項目\協議 | 經典藍芽 | BLE | NFC | ZigBee | Wi-Fi | LoRa | Cellular |
| - | - | - | - | - | - | - | - |
| 規模 | PAN | PAN/LAN | PAN | LAN | LAN | WAN | WAN |
| 拓撲 | Star | Tree, Mesh | P2P | Tree, Mesh | Star | Star | Star |
| 功號 | 中 | 低 | 低 | 低 | 高 | 中 | 高 |
| 速度 (bit/s) | 3M | 2M | 400K | 250K | 9.6G | 37.5K | 20G |
| 距離 | 10m | 10m ~ 100m(Coded) | 3cm | 50m | 50m | 2km | 2km |
| 價格 | 低 | 低 | 低 | 低 | 中 | 中 | 高 |
| 應用 | 交換數據、耳機 | 遙控、家居 | 支付、認證、通行 | 家居、工業 | 互聯網 | 工業、大樓、智慧都市 | 手機 |
| 手機兼容 | Y | Y | Y | N | Y | N | Y |

### 規模 & 拓撲

* 範圍來講可大致分為 三種
    
    | 描述 Network 差異 | 說明 | 補充 |
    | - | - | - |
    | **PAN** (`Personal Area Network`) | 通常是給個人使用 | NFC、藍芽 |
    | **LAN** (`Local Area Network`) | 多個用戶組起來的區域網路 | ZigBee、Wi-Fi、BLE (支持 Mesh 後) |
    | **WAN** (`Wide Area Network`) | 覆蓋整個都市 | LoRa、Cellular |

* 拓撲常見的類型為
    
    | 描述 拓撲 | 說明 | 概念圖 |
    | - | - | - |
    | **P2P** | 點對點，一對一傳輸通訊 | ![](https://i.imgur.com/gfE5Oop.png) |
    | **Star** | Server 設備可以對多個 Client 設備，但 **Client 之間無發通訊** | ![](https://i.imgur.com/Nj2QuRm.png) |
    | **Tree** | 星狀圖的升級版，就是一樹型結構，**數據傳遞需要依賴上層 Node，較耗費時間** | ![](https://i.imgur.com/sqQH1ko.png) |
    | **Mesh** | 圖的形狀，但訊息會不容易追蹤 | ![](https://i.imgur.com/fl9kIFD.png) |
    
## Appendix & FAQ

:::info
:::

###### tags: `BLE`
