Բովանդակություն:

BLE սարքից արժեքներ կարդալը ՝ օգտագործելով CSR1010 և Dragonboard 410c: 6 քայլ
BLE սարքից արժեքներ կարդալը ՝ օգտագործելով CSR1010 և Dragonboard 410c: 6 քայլ

Video: BLE սարքից արժեքներ կարդալը ՝ օգտագործելով CSR1010 և Dragonboard 410c: 6 քայլ

Video: BLE սարքից արժեքներ կարդալը ՝ օգտագործելով CSR1010 և Dragonboard 410c: 6 քայլ
Video: Full review of DL24P Battery Capacity Tester, Energy Monitor and 180W Electronic Load 2024, Նոյեմբեր
Anonim
BLE սարքից արժեքներ կարդալը ՝ օգտագործելով CSR1010 և Dragonboard 410c
BLE սարքից արժեքներ կարդալը ՝ օգտագործելով CSR1010 և Dragonboard 410c

Այս ձեռնարկը ցույց է տալիս, թե ինչպես կարելի է արժեքներ կարդալ BLE սարքի CSR1010- ից ՝ օգտագործելով Dragonboard 410c- ը Linaro- ի հետ

Այս օրինակում CSR1010- ը ընդօրինակում է սրտի զարկերի սենսորը:

Քայլ 1: Սկանացրեք BLE սարքը

Այս քայլում ստուգեք, արդյոք ձեր BT հաճախորդը պատրաստ է BLE սարքերը սկանավորելու համար:

արմատ@linaro-alip:/home/linaro# sudo hcitool lescan

LE Scan… 18: EE: 69: 00: CE: 00 (անհայտ) 18: EE: 69: 00: CE: 00 (անհայտ) EE: 52: 5B: 04: 00: 02 CSR HR սենսոր

Քայլ 2: Սարքը միացնելը

Մենք կօգտագործենք gatttool ՝ մեր սարքը միացնելու համար

-բ: Սարքի MAC հասցեն

-t: LE հասցեի տեսակը: Կարող է լինել հրապարակային կամ պատահական, անհրաժեշտ է ստուգել սարքի բնութագիրը: Այս դեպքում հրապարակային է:

-I: gatttool ինտերակտիվ ռեժիմ: Այն կբացի հաղորդագրություն ՝ cmds ուղարկելու սարքին

արմատ@linaro -alip:/home/linaro# sudo gatttool -b EE: 52: 5B: 04: 00: 02 -t public -I

Երբ հուշումը բաց է, մենք կարող ենք cmd- ն ուղարկել սարքին:

[EE: 52: 5B: 04: 00: 02] [LE]> միանալ EE- ին միանալու փորձը `52: 5B: 04: 00: 02

Միացումը հաջողվեց

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

Քայլ 3. Սարքի բնութագրերի որոնում

Սարքի բնութագրերի ստացում
Սարքի բնութագրերի ստացում

Երբ սարքը միացված է, մենք կարող ենք կարդալ առկա բոլոր ծառայությունները ՝ ուղարկելով cmd «առաջնային»

UUID ծառայության հիման վրա մենք կարող ենք ծառայության տեսակը հայտնաբերել GATT- ի ճշգրտման մեջ

www.bluetooth.com/specifications/gatt/services

Քայլ 4: Սարքի անունը կարդալը

Սարքի անունը կարդալը
Սարքի անունը կարդալը

Եկեք ուսումնասիրենք Ընդհանուր մուտքի պրոֆիլի վրա կարդացված բնութագրերը (uuid = 1800): Սկզբում մենք պետք է ստանանք ծառայության նկարի արժեքները, որոնք նկարագրված են առաջին նկարում, այս դեպքում սկսվում է 5-ից մինչև 11-ը:

[EE: 52: 5B: 04: 00: 02] [LE]> char-desc 05 11 բռնակ ՝ 0x0005, uuid: 00002800-0000-1000-8000-00805f9b34fb բռնակ ՝ 0x0006, uuid: 00002803-0000-1000-8000- 00805f9b34fb բռնակ ՝ 0x0007, uuid: 00002a00-0000-1000-8000-00805f9b34fb բռնակ ՝ 0x0008, uuid: 00002803-0000-1000-8000-00805f9b34fb բռնակ ՝ 0x0009, uuid: 00002a001000000000000a, 00002000000000000, 0000200000000000000000000000000000000000000000000000000000000000000000000, 00002000000000000000000000000000, 00002000000000000000000000000000000000000000, 00002000000000000000000000000000, 000020000000000000, 000020000000000000, 000020000, 00002000, 00002000, 000000000, 00002000, 00002000, 00000 uuid. -1000-8000-00805f9b34fb բռնակ ՝ 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb բռնակ ՝ 0x000f, uuid: 00002902-0000-1000-8000-00805f9b34fb բռնակ ՝ 0x0010- uuid: 00805f9b34fb բռնիչ ՝ 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb

Համաձայն Ընդհանուր մուտքի պրոֆիլի ճշգրտման, UUID 2A00- ը վերաբերում է Սարքի անունին:

Հաշվի առնելով, որ 2a00- ը մեր սարքի 0x0007 բռնակն է, եկեք կարդալ արժեքը

[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 7 Բնութագրական արժեքը/նկարագրիչը ՝ 43 53 52 20 48 52 20 53 65 6e 73 6f 72

Վեցանկյունը ASCII- ի փոխարկելով ՝ սարքի անունն է ՝ '' CSR HR Sensor ''

Քայլ 5: BPM- ի ընթերցում

[EE: 52: 5B: 04: 00: 02] [LE]> առաջնային բռնիչ ՝ 0x0001, վերջնական բռնակ ՝ 0x0004 uuid: 00001801-0000-1000-8000-00805f9b34fb attr բռնակ ՝ 0x0005, վերջնական բռնակ ՝ 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb attr բռնակ ՝ 0x000c, վերջ grp բռնակ ՝ 0x0013 uuid: 0000180d-0000-1000-8000-00805f9b34fb attr բռնակ ՝ 0x0014, վերջնական բռնակ ՝ 0x0017 uuid: 0000180f-00 00805f9b34fb attr բռնակ ՝ 0x0018, վերջ grp բռնակ ՝ 0x0021 uuid: 00001016-d102-11e1-9b23-00025b00a5a5 attr բռնակ ՝ 0x0022, վերջնական grp բռնակ ՝ 0xffff uuid: 0000180a-0000-1000-8000-008059b

Սրտի զարկերի UUID ծառայությունը 0x180d է, այնպես որ բռնակի միջակայքը 0x000c- ից մինչև 0x0013 է

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

բռնակ ՝ 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb բռնակ ՝ 0x000d, uuid: 00002803-0000-1000-8000-00805f9b34fb բռնակ ՝ 0x000e, uuid: 00002a37-0000-1000-8000-00000f00x, 000x000x000x00000 ՝ 00002902-0000-1000-8000-00805f9b34fb բռնակ ՝ 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb բռնակ ՝ 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb u: 0x00-00000000 1000-8000-00805f9b34fb բռնակ ՝ 0x0013, uuid: 00002a39-0000-1000-8000-00805f9b34fb

Կարդալով բոլոր բնորոշ հռչակագրերը (UUID 0x2803):

[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x000d

Բնութագրական արժեք/նկարագրիչ ՝ 10 0e 00 37 2a [EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x0010 Բնութագրական արժեք/նկարագրիչ ՝ 02 11 00 38 2a [EE: 52: 5B: 04:00:02] [LE]> char-read-hnd 0x0012 Բնութագրական արժեք/նկարագրիչ `08 13 00 39 2a

Ուշադրություն դարձրեք, որ.

- բռնիչը 0x000d է CCCD 2a37 ծառայության համար (Սրտի զարկերի չափում) բիթ 10 -ով (աջակցում է IFԱՆՈԹՈԹՅՈՆ)

- բռնիչը 0x0010 CCCD- ն է 2a38 ծառայության համար (Մարմնի տվիչի տեղադրություն) բիթ 02 -ով (աջակցություն ԿԱՐԴԱԼ)

- բռնիչը 0x0012 CCCD է 2a39 ծառայության համար (Սրտի զարկերի վերահսկման կետ) բիթ 08 -ով (աջակցություն ԳՐԵԼ)

Այժմ մենք գիտենք, որ սրտի ռիթմի չափումը գործում է միայն ծանուցման միջոցով: Դա նշանակում է, որ նախ մենք պետք է գրանցվենք դրա CCCD- ի արժեքային փոփոխությունների համար (UUID 0x2902), որն այս դեպքում 0xf բռնակ է

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

Ificationանուցման բռնիչ = 0x000e արժեք. 16 65 f3 01 Բնութագրական արժեքը հաջողությամբ գրվել է ificationանուցման բռնիչ = 0x000e արժեք ՝ 16 6d fa 01 ificationանուցման բռնիչ = 0x000e արժեք ՝ 16 6d fa 01 ificationանուցման բռնիչ = 0x000e արժեք ՝ 16 6c f9 01 ificationանուցման բռնիչ = 0x000e արժեք ՝ 16 6a f7 01 ificationանուցման բռնիչ = 0x000e արժեք ՝ 16 69 f6 01

Ըստ պրոֆիլի ճշգրտման, երկրորդ վեցանկյուն համարը BPM տեղեկատվությունն է:

BPM:

6 դ = 109

6 դ = 109

6c = 108

6 ա = 106

69 = 105

Քայլ 6: Մարմնի տվիչի գտնվելու վայրի ընթերցում

Մարմնի տվիչի գտնվելու վայրը կարդալը
Մարմնի տվիչի գտնվելու վայրը կարդալը

Մարմնի տվիչի գտնվելու վայրը UUID 0x2A38 է: Ըստ նրա նկարագրողի, այս բնութագիրը աջակցում է հիմնական ընթերցմանը, այնպես որ մենք կարող ենք ուղղակիորեն կարդալ դրա արժեքը:

[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x11 Բնութագրական արժեք/նկարագրիչ ՝ 03

SIG- ի ճշգրտման համաձայն, 03 նշանակում է «մատ»

Խորհուրդ ենք տալիս: