Creating a custom service and even more so a Bluetooth Low Energy client is a blindfold walk on the rake. At least this was the case for me 4 years ago, when I just started working with BLE devices. Now almost every project of mine provides for the use of this protocol, so at one time I had to understand it for a long time and painfully.
Mohammad Afane's book "Intro to Bluetooth Low Energy" and a series of posts on Novel Bits helped put everything on the shelves . For me personally, this book was a real discovery. Initially, I translated it into Russian for my colleagues who have no experience with BLE. With the consent of the author (many thanks to him) I decided to publish my work here. I hope the translation is helpful.
This is the first part of the translation (there will be 5 of them in total), which tells what BLE is, its capabilities and differences from Bluetooth Classic, and also describes the protocol architecture.
about the author
2006 . , Allegion (Schlage locks), Motorola, Technicolor, Audiovox, Denon & Marantz Group. , : , , ..
2015 , Novel Bits, LLC, web-, , Bluetooth Low Energy.
: mohammad@novelbits.io LinkedIn.
Bluetooth Low Energy
1. Bluetooth Low Energy?
Bluetooth , , , . , Bluetooth . : , , , !
Ericsson 1994 . «», 10 .
Bluetooth:
Bluetooth Classic (BR/EDR), , - ;
Bluetooth Low Energy (BLE), .. Bluetooth , Bluetooth 4.0. , ( ) , (, , ).
, . Bluetooth Classic , BLE. , , , ( Dual mode Bluetooth devices), .
BLE:
Bluetooth Bluetooth (Classic BLE), , BLE;
BLE 4.0 Bluetooth, 2010 ;
BLE Bluetooth Smart, BTLE Bluetooth 4.0, , Bluetooth;
Bluetooth Classic BLE – 2.4 , ISM-.
(IoT) , BLE ( Bluetooth Classic) . 2016 Bluetooth Special Interest Group (SIG), , Bluetooth 5.0 ( , Bluetooth 5). , , BLE, Bluetooth Classic.
, Bluetooth − Bluetooth Mesh. Bluetooth Mesh 2017 BLE. BLE (, ), Bluetooth. .
, , BLE :
BLE
BLE :
2.400 - 2.4835 .
40 2 .
( Bluetooth 5) 2/.
, . , , , . : 10-30 .
. , . BLE- 15 .
BLE . , .
, , BLE AES-CCM 128 .
BLE . BLE BLE. , , .
Bluetooth ( BLE) . . , Bluetooth 5 LE Bluetooth 4.1 LE, , 4.2 , . , , , , Bluetooth.
Bluetooth Classic BLE
, Bluetooth Bluetooth , , . , .
:
1. Bluetooth Classic BLE
Bluetooth Classic |
BLE |
, |
, , |
, ( 3 /, BLE 5 2 /) |
|
79 |
40 |
32 |
3 , Bluetooth Classic |
2010 BLE . 2016 Bluetooth 5, , BLE. , 4 8 .
BLE
, BLE . , BLE .
4.1. BLE
BLE , .. , . Bluetooth. Bluetooth 4.2 , 1 /. Bluetooth 5 PHY (Physical Layer, ). 1 / 2 / . 500 125 /. , Bluetooth 5.
:
: Bluetooth 150 . .
: , . , .
: , . , , .
: , .
BLE , , , . , BLE:
ISM- 2.4 , , , .
.
, , .
, , .
-
, BLE-, BLE, IP-. .
4.2 BLE
BLE IoT.
:
;
, BLE . , .
;
. ( 7500 35000 ). BLE, (4.0, 4.1, 4.2, 5) Bluetooth .
;
, – . , BLE ZigBee, Z-Wave Thread.
4.3 BLE
, , , BLE :
;
BLE , , , .
;
, BLE , , .
, WiFi BLE WiFi Direct. , WiFi , . .
;
,, . , , BLE , . .
;
, ( WiFi ), BLE .
.
. – , . , . BLE , , BLE « ».
BLE. , , , , BLE , :
;
(.: BLE 5.2);
, .
BLE
, BLE. – , .
, . – GAP (Generic Access Profile), GATT (Generic Attribute Profile) Security Manager – .
/ (GAP) (GATT) – , , , .
, , , BLE- , . , .
-
:
(GAP, Generic Access Profile);
(GATT, Generic Attribute Profile);
(ATT, Attribute Protocol);
(SM, Security Manager);
(L2CAP, Logical Link Control and Adaptation Protocol);
- (HCI, Host Controller Interface), .
:
(PHY, Physical Layer);
(Link Layer);
(DTM, Direct Test Mode);
- (HCI, Host Controller Interface), .
BLE
(PHY)
PHY , , , . BLE ISM- (2.4 ), 40 2 , :
, , 37 . “ ”, .
( ). . , . , , , . .
, BLE:
(FHSS, Frequency Hopping Spread Spectrum), . .
:
: 100 (+20 ) 5 , 10 (+10 ) 4.2 ;
: 0.01 (-20 ).
Bluetooth (4.0, 4.1 4.2) – 1 /. (PHY) 1M PHY , Bluetooth 5. Bluetooth 5 PHY:
2 / PHY, Bluetooth.
PHY, .
PHY , Bluetooth 5.
( -, ). , BLE. - , , .
, BLE:
(Advertising);
(Scanning);
.
, . , , .
, :
Standby: , .
Advertising: , .
Scanning: , , .
Initiating: , , advertising.
Connected: , . , scanning , . , , .
.
Bluetooth :
Bluetooth- 48- , MAC-. : .
:
, . IEEE (, MAC- WiFi Ethernet).
:
;
;
.
:
– :
, ;
.
– :
;
(IRK, Identity Resolving Key) ;
( );
;
(, , ) , .
(DTM, Direct Test Mode) . , .
- (HCI)
- – , Bluetooth, . . , Bluetooth-, , 100% , .
, , : UART, USB SDIO (Secure Digital Input Output). , , - .
- . .
: , , , , , .
(L2CAP)
L2CAP , , , . Bluetooth Classic BLE :
BLE, .
. , BLE, . , .
BLE L2CAP : (ATT, , GATT) (SMP, , ).
(), (GATT), (SM) (GAP) .
This concludes the first chapter of the book. Many thanks to those who read it. The next part will focus on device classes and advertising, the method by which devices communicate their presence to the world around them.