Სარჩევი:

ღირებულებების წაკითხვა BLE მოწყობილობიდან CSR1010 და Dragonboard 410c გამოყენებით: 6 ნაბიჯი
ღირებულებების წაკითხვა BLE მოწყობილობიდან CSR1010 და Dragonboard 410c გამოყენებით: 6 ნაბიჯი

ვიდეო: ღირებულებების წაკითხვა BLE მოწყობილობიდან CSR1010 და Dragonboard 410c გამოყენებით: 6 ნაბიჯი

ვიდეო: ღირებულებების წაკითხვა BLE მოწყობილობიდან CSR1010 და Dragonboard 410c გამოყენებით: 6 ნაბიჯი
ვიდეო: ეკჰარტ ტოლე - "აწმყოს ძალა" - აუდიო წიგნი - Audible Read Along 2024, ნოემბერი
Anonim
ღირებულებების წაკითხვა BLE მოწყობილობიდან CSR1010 და Dragonboard 410c გამოყენებით
ღირებულებების წაკითხვა BLE მოწყობილობიდან CSR1010 და Dragonboard 410c გამოყენებით

ეს გაკვეთილი გვიჩვენებს, თუ როგორ უნდა წაიკითხოთ ღირებულებები BLE მოწყობილობიდან CSR1010 Dragonboard 410c გამოყენებით Linaro

ამ მაგალითში CSR1010 ახდენს გულისცემის სენსორის ემულაციას.

ნაბიჯი 1: BLE მოწყობილობის სკანირება

ამ ეტაპზე, შეამოწმეთ არის თუ არა თქვენი BT კლიენტი მზად BLE მოწყობილობების სკანირებისთვის.

root@linaro-alip:/home/linaro# sudo hcitool lescan

LE სკანირება… 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 გაგზავნის

root@linaro -alip:/home/linaro# sudo gatttool -b EE: 52: 5B: 04: 00: 02 -t საჯარო -მე

მას შემდეგ, რაც მოთხოვნა ღიაა, ჩვენ შეგვიძლია გამოვიგზავნოთ cmd მოწყობილობაზე.

[EE: 52: 5B: 04: 00: 02] [LE]> დაკავშირება EE– სთან დაკავშირების მცდელობა: 52: 5 B: 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-მდე. ახლა ჩვენ შეგვიძლია ვიშოვოთ ყველა სახელური ამ ინტერვალში cmd char-desc გამოყენებით

[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: 00002803-0000-1000-8000-00805f9b34fb სახელური: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fb სახელური: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34f00: 0000000000000000000000000000000000000000000000000000000000000000000000000000002e02e02ee2e02e02e02e2e02ee02ee02eee -1000-8000-00805f9b34fb სახელური: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb სახელური: 0x000f, uuid: 00002902-0000-1000-8000-00805f9b34fb სახელური: 0x0010, uuid: 000000000 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 20 52 52 53 53 6e 73 6f 72

ექვსკუთხედის გარდაქმნა ASCII– ზე, მოწყობილობის სახელია: '' CSR HR სენსორი ''

ნაბიჯი 5: BPM– ის კითხვა

[EE: 52: 5B: 04: 00: 02] [LE]> პირველადი სახელური: 0x0001, ბოლო grp სახელური: 0x0004 uuid: 00001801-0000-1000-8000-00805f9b34fb attr სახელური: 0x0005, ბოლო grp სახელური: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb attr სახელური: 0x000c, ბოლო grp სახელური: 0x0013 uuid: 0000180d-0000-1000-8000-00805f9b34fb attr სახელური: 0x0014, ბოლო grp სახელური: 0x0017 uuid: 0000180f-00 00805f9b34fb attr სახელური: 0x0018, ბოლო grp სახელური: 0x0021 uuid: 00001016-d102-11e1-9b23-00025b00a5a5 attr სახელური: 0x0022, ბოლო grp სახელური: 0xffff uuid: 0000180a-0000-1000-8000-0080599

გულისცემის სერვისი 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-00000f00b, f000b:: 00002902-0000-1000-8000-00805f9b34fb სახელური: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb სახელური: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb u: 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 2 ა

გაითვალისწინეთ რომ:

- სახელური 0x000d არის CCCD სერვისისთვის 2a37 (გულისცემის გაზომვა) ბიტი 10 -ით (მხარდაჭერა NOTIFY)

- სახელური 0x0010 არის CCCD სერვისისთვის 2a38 (სხეულის სენსორის მდებარეობა) ბიტი 02 -ით (წაკითხვის მხარდაჭერა)

- სახელური 0x0012 არის CCCD სერვისისთვის 2a39 (გულისცემის კონტროლის წერტილი) ბიტი 08 -ით (მხარდაჭერა WRITE)

ახლა ჩვენ ვიცით, რომ გულისცემის გაზომვა მუშაობს მხოლოდ შეტყობინებით. ეს ნიშნავს, რომ პირველ რიგში ჩვენ უნდა დარეგისტრირდეთ ღირებულების ცვლილებებზე მის CCCD– ში (UUID 0x2902), რომელიც ამ შემთხვევაში არის სახელური 0xf

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

შეტყობინების სახელური = 0x000e მნიშვნელობა: 16 65 f3 01 დამახასიათებელი მნიშვნელობა წარმატებით დაიწერა შეტყობინების სახელური = 0x000e მნიშვნელობა: 16 6d fa 01 შეტყობინების სახელური = 0x000e მნიშვნელობა: 16 6d fa 01 შეტყობინების სახელური = 0x000e მნიშვნელობა: 16 6c f9 01 შეტყობინების სახელური = 0x000e მნიშვნელობა: 16 6a f7 01 შეტყობინების სახელური = 0x000e მნიშვნელობა: 16 69 f6 01

პროფილის სპეციფიკაციის თანახმად, მეორე ექვსკუთხედი ნომერი არის BPM ინფორმაცია.

BPM:

6d = 109

6d = 109

6c = 108

6a = 106

69 = 105

ნაბიჯი 6: სხეულის სენსორის ადგილმდებარეობის კითხვა

სხეულის სენსორის ადგილმდებარეობის კითხვა
სხეულის სენსორის ადგილმდებარეობის კითხვა

სხეულის სენსორის ადგილმდებარეობა არის UUID 0x2A38. მისი დესკრიპტორის მიხედვით, ეს მახასიათებელი მხარს უჭერს ძირითად კითხვას, ასე რომ ჩვენ შეგვიძლია მისი მნიშვნელობის პირდაპირ წაკითხვა.

[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x11 დამახასიათებელი მნიშვნელობა/აღწერილობა: 03

SIG სპეციფიკაციის თანახმად, 03 ნიშნავს "თითს"

გირჩევთ: