ARM programozás 8.Óra Bluetooth 4.0 elmélete, felépítése Iványi László ivanyi.laszlo@stud.uni-obuda.hu Szabó Béla szabo.bela@stud.uni-obuda.hu
A Bluetooth története, megfontolások Alap koncepció hogy létre hozzanak egy kis hatótávú és alacsony fogyasztású eszközt amellyel kis hálózatok hozhatók létre. - Működési elve: Frekvencia ugrásos szórt spektrumú adat közlés (FHSS) - 2.4GHz-es ISM(Industrial Scientific Medical) sávban dolgozik - 1998-ban létrejött a Bluetooth Special Interest Group (SIG)
A Bluetooth generációk
A Bluetooth 4.0 => BLE fő tulajdonságai - Kis csomagokban kommunikál (27 byte) - Rövid adási és vételi idő ablakok - Minél gyorsabban vissza kerüljön alvó állapotba - Minél gyorsabban bekapcsolni a rádiót elvégezni az adást - Minél hamarabb kikapcsolni a rádiót - Kapcsolódás csak 6ms gyors lefutással - Jól megírt kód esetén 1+ év működési idő egy gombelemről - 128-bit-es AES titkosítás
A BLE alkalmazásai
Bluetooth 4.0 architektúra felépítése
Link Layer funkciónalitásai - Az állapotgép alapján lehet: - Standby - Advertising - Scanning - Active scanning - Passive scanning - Initiating - Connection - Csomag faják: - Advertising packet - Data packet - 40 csatorna -> 3 advertising és 37 data - 128-bit-es AES titkosítás - Kapcsolat stabilizálás és menedzselés
Link Layer -> Passive scanner
Link Layer -> Active scanner
Link Layer -> Initiator connection request
Reklámozás és Szkennelés
Advertising csatornák elosztása
Kapcsolat létrejötte - Reklámozási és vételi periódus mind három csatornán - Reklámozás leállítása ha valamelyik csatornán kapcsolat kérés érkezett - A Slave bekapcsolja a vevőjét és várja a Master csomagjait
Kapcsolódott kommunikáció - Ha a kapcsolat megtörtént, a Master küld először, majd a Slave válaszol - Több csomag küldése lehetséges egy kapcsolati idő alatt - Connection interval terjedhet 7.5ms - 4s-ig
Attribute Protocol (ATT) funkciónalitásai - Definiálja hogy a Client hogy fér hozzá az attribútokhoz - Lehetséges műveletek: - Request - Response - Command - Indication - Confirmation - Notification - Attributes - Cimkézett, címezhető adatok - Handle, típust és értéket - jogosultság
ATT -> Client-Server elrendezés
ATT -> Operations
ATT -> Operations
ATT -> Operations
ATT -> Operations
ATT -> Attribútumok - Attribute handle -> egyedi azonosító ami a Serveren azonosítja az Attribúte-ot - UUID -> Universal Unique Identifier - 128-bit UUID - 16-bit rövid UUID - Attribute Value -> 0-512 Bájt vagy állapot jelentés - Permission -> olvasásra, írásra vagy mindkettőre való jogosultság
Generic Attribute Protocol (GATT) funkciónalitásai - Definiálja a hierarchikus csoportosítását az attribútumoknak és procedúráknak, eléréshez és távoli láthatósághoz - Profilok - Services - Characteristic - Attribute - Procedures - Láthatóság - Client-initiated - Server-initiated
Generic Attribute Protocol (GATT) Hierarchia - Profile -> Tartalmazhat egy vagy több Services-t - Service -> Tartalmazhat egy vagy több Characteristic-át - Characteristic -> Tartalmazhat egy vagy több Attribute-ot
GATT Characteristic - Declaration - Properties - Value handle - Type(UUID) - Value - Descriptor - pl.: Characteristic User Description Descriptor
Generic Attribute Protocol (GATT) funkciónalitásai Discovery -Primary Service Discovery: All or a specific service by UUID -Relationship Discovery: Secondary and other services through includes -Characteristic Discovery: For one service -Characteristic Descriptor Discovery: For one characteristic
Generic Attribute Protocol (GATT) funkciónalitásai Client-Initiated -Reading a characteristic value -Writing a characteristic value -Reading a characteristic descriptor -Writing a characteristic descriptor
Generic Attribute Protocol (GATT) funkciónalitásai Server-Initiated -Notification of a characteristic value -Indication of a characteristic value
General Access Protocol (GAP) funkciónalitásai - Definiálja hogy látható-e az eszköz és hogy kapcsolódik vagy párosodik. - Roles (szerepek) - Boadcaster - Advertiser - Observer - Scanner - Peripheral - Slave - Central - Master - Módok és Procedúrák - Bonding - menti a titkosított kulcsot
Profiles funkciónalitásai - Definiálja részleges felhasználását az eszköznek. - Definiálja az elvárásokat az ezközöknél - GAP és GATT tulajdonságok - Services-eket - Bluetooth SIG profilokat - Gyártói információkat
Források