偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

BLE中這些概念,你都了解嗎

移動開發(fā) Android
我們使用Android 手機上的藍牙調(diào)試助手與TB-02-kit模塊進行了數(shù)據(jù)通訊,很多人可能對其中很多概念不是很了解,今天我們就來梳理一下整個數(shù)據(jù)通訊過程和其中涉及到的一些概念,有理解不到位的地方歡迎留言處指出。

[[374244]]

本文轉(zhuǎn)載自微信公眾號「嵌入式從0到1」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系嵌入式從0到1公眾號。 

我們使用Android 手機上的藍牙調(diào)試助手與TB-02-kit模塊進行了數(shù)據(jù)通訊,很多人可能對其中很多概念不是很了解,今天我們就來梳理一下整個數(shù)據(jù)通訊過程和其中涉及到的一些概念,有理解不到位的地方歡迎留言處指出。

藍牙發(fā)展史

藍牙發(fā)展史

藍牙和BLE區(qū)別

藍牙是一種短距離的2.4 GHz無線通訊技術(shù),可實現(xiàn)設備之間的數(shù)據(jù)交換。

一般將藍牙3.0之前的BR/EDR藍牙稱為傳統(tǒng)藍牙(經(jīng)典藍牙BT:BlueTooth),而將藍牙4.0規(guī)范下的LE藍牙稱為低功耗藍牙。

低功耗藍牙是在傳統(tǒng)藍牙的基礎(chǔ)上發(fā)展而來的。

BLE技術(shù)采用非??焖俚倪B接方式,因此可以處于“非連接”狀態(tài)(節(jié)省能源),此時鏈路兩端相互間只是知曉對方,只有在必要時才開啟鏈路,然后在盡可能短的時間內(nèi)關(guān)閉鏈路——這樣設計的目的就是為了低功耗。

BLE優(yōu)點:搜索速度快、連接速度快、超低功耗保持連接和傳輸數(shù)據(jù),缺點是,傳輸速率略低。

BLE藍牙模塊主要應用領(lǐng)域

1、移動擴展設備

2、汽車電子設備

3、健康醫(yī)療用品:心跳帶、血壓計等

4、定位應用:室內(nèi)定位、井下定位等

5、近距離數(shù)據(jù)采集:無線抄表、無線遙測等

6、數(shù)據(jù)傳輸:智能家居室內(nèi)控制、藍牙調(diào)光、打印機等

BLE數(shù)據(jù)通訊

一個Gatt包含多個服務(Service);一個服務包含多個特征(Characteristic);一個特征包含多個描述符;

反過來可以說,一個描述符對應一個特征;一個特征對應一個服務;一個服務對應一個Gatt。

Service、Characteristic、Descriptor,這三部分都由UUID作為唯一標示符。

如上圖所示,在我們之前使用的BLE調(diào)試寶軟件中,我們可以看到,圖中所示的前三個服務就是BLE必需的三個基本服務:

  1. #define GAP_SERVICE_UUID    0x1800 // Generic Access Profile  
  2. #define GATT_SERVICE_UUID   0x1801 // Generic Attribute Profile 
  3. #define DEVINFO_SERV_UUID  0x180A // Device Information 

一般來說,剩下的一個服務就是與BLE模塊進行數(shù)據(jù)通訊的Service ,而Service中的Characteristic是手機與BLE終端交換數(shù)據(jù)的關(guān)鍵。

所以我們上文數(shù)據(jù)通訊的操作都是在與Unknown Characteristic 進行的數(shù)據(jù)通訊。

為什么會定義這么多名詞呢?

藍牙連接成功之后,數(shù)據(jù)的傳輸是對特征值(Characteristic)這個參數(shù)進行讀,寫,通知等操作;

為了方便管理,我們可能有不止一個特征值,我們可以根據(jù)需要創(chuàng)建多個特征值,比如一個特征值用于記錄環(huán)境濕度的值,一個特征值用于記錄設備的溫度值,等等。

我們也可以對這些特征值進行歸類,每一類就相當于一個服務(Service),一個設備可以有多個服務,每個服務可以包含多個特征值。

為了說明方便,每個特征值都有他的屬性,所以我們還會見到其他一些名詞,例如:權(quán)限(permission),值(value),描述(descriptor)等。

To do

下一篇網(wǎng)文,我們就使用Qt開發(fā)一個Android系統(tǒng)下的BLE調(diào)試軟件,實現(xiàn)與藍牙模塊的數(shù)據(jù)收發(fā),實際上就是實現(xiàn)與下面UUID的Unknown Service 中 Unknown Characteristic 進行數(shù)據(jù)的讀寫操作。

  1. static const QLatin1String serviceUuid("{00010203-0405-0607-0809-0a0b0c0d1910}"); 

 

責任編輯:武曉燕 來源: 嵌入式從0到1
相關(guān)推薦

2023-12-07 08:13:58

Java開發(fā)

2018-06-21 07:25:04

2019-09-17 09:31:10

2023-12-11 07:40:00

CDN網(wǎng)絡服務器

2015-11-06 09:39:52

2015-11-06 10:52:51

2021-03-28 09:26:30

HttpHttp協(xié)議網(wǎng)絡協(xié)議

2020-02-11 17:39:44

RSAC信息安全會議RSA大會

2024-01-18 09:07:04

Errors函數(shù)Golang

2018-06-20 10:49:22

2021-06-11 13:59:22

CSS原子類

2022-11-10 09:00:41

2019-02-12 11:15:15

Spring設計模式Java

2022-10-17 07:40:21

AI項目數(shù)據(jù)

2023-08-04 08:25:03

客戶配置Spring

2020-05-27 11:30:54

Chrome DevT前端命令

2016-01-11 09:48:07

2021-08-05 18:21:29

Autowired代碼spring

2022-04-06 08:49:44

SSTKV存儲引擎

2025-01-13 00:17:49

Java開發(fā)對象
點贊
收藏

51CTO技術(shù)棧公眾號