Përmbajtje:

Leximi i vlerave nga një pajisje BLE duke përdorur CSR1010 dhe Dragonboard 410c: 6 hapa
Leximi i vlerave nga një pajisje BLE duke përdorur CSR1010 dhe Dragonboard 410c: 6 hapa

Video: Leximi i vlerave nga një pajisje BLE duke përdorur CSR1010 dhe Dragonboard 410c: 6 hapa

Video: Leximi i vlerave nga një pajisje BLE duke përdorur CSR1010 dhe Dragonboard 410c: 6 hapa
Video: Статистическое программирование с использованием R Коннора Харриса 2024, Nëntor
Anonim
Leximi i vlerave nga një pajisje BLE duke përdorur CSR1010 dhe Dragonboard 410c
Leximi i vlerave nga një pajisje BLE duke përdorur CSR1010 dhe Dragonboard 410c

Ky udhëzues tregon se si të lexoni vlerat nga pajisja BLE CSR1010 duke përdorur Dragonboard 410c me Linaro

Në këtë shembull, CSR1010 po imiton një sensor të rrahjeve të zemrës.

Hapi 1: Skanoni pajisjen BLE

Në këtë hap, kontrolloni nëse klienti juaj BT është gati për skanimin e pajisjeve BLE.

rrënjë@linaro-alip:/home/linaro# sudo hcitool lescan

LE Scan… 18: EE: 69: 00: CE: 00 (e panjohur) 18: EE: 69: 00: CE: 00 (e panjohur) EE: 52: 5B: 04: 00: 02 Sensori CSR HR

Hapi 2: Lidhja e pajisjes

Ne do të përdorim gatttool për të lidhur pajisjen tonë

-b: Adresa MAC e pajisjes

-t: lloji i adresës LE. Mund të jetë publike ose e rastësishme, duhet të kontrolloni specifikimet e pajisjes. Në këtë rast është publike.

-I: mënyra ndërvepruese gatttool. Do të hapë një kërkesë për të dërguar cmds në pajisje

root@linaro -alip:/home/linaro# sudo gatttool -b EE: 52: 5B: 04: 00: 02 -t publike -I

Pasi të hapet kërkesa, ne mund të dërgojmë lidhjen cmd në pajisje.

[EE: 52: 5B: 04: 00: 02] [LE]> lid Përpjekja për t'u lidhur me EE: 52: 5B: 04: 00: 02

Lidhja ishte e suksesshme

[EE: 52: 5B: 04: 00: 02] [LE]>

Hapi 3: Marrja e Karakteristikave të Pajisjes

Marrja e Karakteristikave të Pajisjes
Marrja e Karakteristikave të Pajisjes

Pasi pajisja është e lidhur, ne mund të lexojmë të gjitha shërbimet në dispozicion duke dërguar cmd "primare"

Bazuar në shërbimin UUID, ne mund të zbulojmë llojin e shërbimit në specifikimet GATT

www.bluetooth.com/specifications/gatt/services

Hapi 4: Leximi i emrit të pajisjes

Leximi i emrit të pajisjes
Leximi i emrit të pajisjes

Le të shqyrtojmë karakteristikat e lexuara në profilin e aksesit të përgjithshëm (uuid = 1800). Së pari ne duhet të marrim vlerat e dorezës së shërbimit, të përshkruara në foton e parë, në këtë rast, fillon nga 5 deri në 11. Tani ne mund t'i marrim të gjitha dorezat në këtë interval duke përdorur cmd char-desc

[EE: 52: 5B: 04: 00: 02] [LE]> char-desc 05 11dore: 0x0005, uuid: 00002800-0000-1000-8000-00805f9b34fb dorezë: 0x0006, uuid: 00002803-0000-1000-8000- 00805f9b34fb trajtuar: 0x0007, UUID: 00002a00-0000-1000-8000-00805f9b34fb trajtuar: 0x0008, UUID: të trajtojë 00002803-0000-1000-8000-00805f9b34fb: 0x0009, UUID: të trajtojë 00002a01-0000-1000-8000-00805f9b34fb: 0x000a, uuid: 00002803-0000-1000-8000-00805f9b34fb dorezë: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fb dorezë: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb: -1000-8000-00805f9b34fb dorezë: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb dorezë: 0x000f, uuid: 00002902-0000-1000-8000-00805f9b34fb dorezë: 0x0010, uuid: 000000000 Doreza 00805f9b34fb: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb

Sipas specifikimit të Profilit të Përgjithshëm të Aksesit, UUID 2A00 i referohet Emrit të Pajisjes.

Duke marrë parasysh që 2a00 është doreza 0x0007 në pajisjen tonë, le të lexojmë vlerën

[EE: 52: 5B: 04: 00: 02] [LE]> lexo-lexo dhe 7 Vlera karakteristike/përshkrues: 43 53 52 20 48 52 20 53 65 6e 73 6f 72

Duke konvertuar hex në ASCII, emri i pajisjes është: '' Sensori CSR HR"

Hapi 5: Leximi i BPM

[EE: 52: 5B: 04: 00: 02] [LE]> dorezë primare: 0x0001, dorezë grp fundore: 0x0004 uuid: 00001801-0000-1000-8000-00805f9b34fb dorezë attr: 0x0005, dorezë grp fundore: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb dorezë attr: 0x000c, dorezë grp fundore: 0x0013 uuid: 0000180d-0000-1000-8000-00805f9b34fb dorezë attr: 0x0014, dorezë grp fundore: 0x0017 uuid: 0000180f-0000 00805f9b34fb dorezë attr: 0x0018, dorezë përfundimtare grp: 0x0021 uuid: 00001016-d102-11e1-9b23-00025b00a5a5 dorezë attr: 0x0022, dorezë grp fundore: 0xffff uuid: 0000180a-0000-1000-8000-0080599

Shërbimi UUID i Rrahjeve të Zemrës është 0x180d, kështu që intervali i trajtimit është nga 0x000c deri në 0x0013

[EE: 52: 5B: 04: 00: 02] [LE]> kar-desc 0x00c 0x0013

dorezë: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb dorezë: 0x000d, uuid: 00002803-0000-1000-8000-00805f9b34fb dorezë: 0x000e, uuid: 00002a37-0000-1000-8000-0000050095000, 000005009000, 00000: 00002902-0000-1000-8000-00805f9b34fb dorezë: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb dorezë: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb dore: 0x00-000000: 00x0000 1000-8000-00805f9b34fb dorezë: 0x0013, uuid: 00002a39-0000-1000-8000-00805f9b34fb

Leximi i të gjitha Deklaratave Karakteristike (UUID 0x2803).

[EE: 52: 5B: 04: 00: 02] [LE]> lexo-lexo dhe 0x000d

Vlera karakteristike/përshkrues: 10 0e 00 37 2a [EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x0010 Vlera karakteristike/përshkrues: 02 11 00 38 2a [EE: 52: 5B: 04:00:02] [LE]> char-read-hnd 0x0012 Vlera karakteristike/përshkrues: 08 13 00 39 2a

Vini re se:

- doreza 0x000d është CCCD për shërbimin 2a37 (Matja e Rrahjeve të Zemrës) me bit 10 (mbështetje NOTIFY)

- doreza 0x0010 është CCCD për shërbimin 2a38 (Vendndodhja e Sensorit të Trupit) me bit 02 (mbështetje LEXO)

- doreza 0x0012 është CCCD për shërbimin 2a39 (Pika e Kontrollit të Rrahjeve të Zemrës) me bit 08 (mbështetje WRITE)

Tani e dimë që Matja e Rrahjeve të Zemrës funksionon vetëm me njoftim. Do të thotë që së pari duhet të regjistrohemi për ndryshimet e vlerës në CCCD -në e tij (UUID 0x2902), e cila në këtë rast trajtohet 0xf

[EE: 52: 5B: 04: 00: 02] [LE]> char-write-req 0x00f 0100

Doreza e njoftimit = vlera 0x000e: 16 65 f3 01 Vlera karakteristike u shkrua me sukses Doreza e njoftimit = vlera 0x000e: 16 6d fa 01 Doreza e njoftimit = vlera 0x000e: 16 6d fa 01 Doreza e njoftimit = vlera 0x000e: 16 6c f9 01 Doreza e njoftimit = vlera 0x000e: 16 6a f7 01 Doreza e njoftimit = 0x000e vlera: 16 69 f6 01

Sipas specifikimit të profilit, numri i dytë gjashtëkëndësh është informacioni BPM.

BPM:

6d = 109

6d = 109

6c = 108

6a = 106

69 = 105

Hapi 6: Leximi i Vendndodhjes së Sensorit të Trupit

Leximi i Vendndodhjes së Sensorit të Trupit
Leximi i Vendndodhjes së Sensorit të Trupit

Vendndodhja e sensorit të trupit është UUID 0x2A38. Sipas përshkruesit të tij, kjo karakteristikë mbështet leximin bazë, kështu që ne mund ta lexojmë vlerën e tij drejtpërdrejt.

[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x11Vlera karakteristike/përshkrues: 03

Sipas specifikimit të SIG, 03 do të thotë "Gisht"

Recommended: