Мазмуну:

CSR1010 жана Dragonboard 410c колдонулган BLE түзмөгүнөн баалуулуктарды окуу: 6 кадам
CSR1010 жана Dragonboard 410c колдонулган BLE түзмөгүнөн баалуулуктарды окуу: 6 кадам

Video: CSR1010 жана Dragonboard 410c колдонулган BLE түзмөгүнөн баалуулуктарды окуу: 6 кадам

Video: CSR1010 жана Dragonboard 410c колдонулган BLE түзмөгүнөн баалуулуктарды окуу: 6 кадам
Video: ПАВЛИК 1 сезон 2 серия 2024, Ноябрь
Anonim
CSR1010 жана Dragonboard 410c колдонгон BLE түзмөгүнөн баалуулуктарды окуу
CSR1010 жана Dragonboard 410c колдонгон BLE түзмөгүнөн баалуулуктарды окуу

Бул окуу куралы Linaro менен Dragonboard 410c аркылуу BLE түзмөгүнүн CSR1010 баалуулуктарын кантип окууну көрсөтөт

Бул мисалда, CSR1010 жүрөктүн кагышынын сенсорун туурап жатат.

1 -кадам: BLE түзмөгүн скандоо

Бул кадамда, BT кардарыңыз BLE түзмөктөрүн сканерлөөгө даяр экендигин текшериңиз.

root@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 Sensor

2 -кадам: түзмөктү туташтыруу

Биз аппаратты туташтыруу үчүн gatttool колдонобуз

-b: Түзмөктүн MAC дареги

-t: LE дарегинин түрү. Жалпыга ачык же туш келди болушу мүмкүн, түзмөктүн спецификасын текшерүү керек. Бул учурда коомдук болуп саналат.

-I: gatttool интерактивдүү режими. Бул түзмөккө cmds жөнөтүү үчүн чакыруу ачат

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

Ишарат ачылгандан кийин, биз түзмөккө cmd жөнөтө алабыз.

[EE: 52: 5B: 04: 00: 02] [LE]> connectEEге туташууга аракет кылуу: 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ге чейин башталат. Эми биз cmd char-desc аркылуу бул интервалдагы бардык туткаларды ала алабыз.

[EE: 52: 5B: 04: 00: 02] [LE]> char-desc 05 11handle: 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: 00002a01-001 uuid: 00002803-0000-1000-8000-00805f9b34fb туткасы: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fb туткасы: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34f3: 0x000b00 -1000-8000-00805f9b34fb туткасы: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb туткасы: 0x000f, uuid: 00002902-0000-1000-8000-00805f9b34fb туткасы: 0x0010, uuid: 00002-800-002 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

Hexти ASCIIге айландыруу, түзмөктүн аталышы: '' CSR HR Sensor"

5 -кадам: BPM окуу

[EE: 52: 5B: 04: 00: 02] [LE]> primattr туткасы: 0x0001, end grp handle: 0x0004 uuid: 00001801-0000-1000-8000-00805f9b34fb attr туткасы: 0x0005, end grp handle: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb attr туткасы: 0x000c, end grp handle: 0x0013 uuid: 0000180d-0000-1000-8000-00805f9b34fb attr туткасы: 0x0014, end grp handle: 0x0017 uuid: 00001-8f-0000-1000 00805f9b34fb attr туткасы: 0x0018, end grp handle: 0x0021 uuid: 00001016-d102-11e1-9b23-00025b00a5a5 attr туткасы: 0x0022, end grp handle: 0xffff uuid: 0000180a-0000-1000-8000-00b5f9b34f

Heart Rate кызматы 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-00ff: 00002902-0000-1000-8000-00805f9b34fb туткасы: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb туткасы: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb туткасы: 0x0010, 00x0010 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 2а [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 2a37 кызматы үчүн CCCD (Жүрөктүн кагышын өлчөө) 10 бит менен (колдоо NOTIFY)

- туткасы 0x0010 02a38 (Body Sensor Жайгашуу) кызматы үчүн CCCD болуп саналат 02 (колдоо READ)

- туткасы 0x0012, бит 2 менен кызмат 2a39 (Жүрөктүн кагышын көзөмөлдөө пункту) үчүн CCCD болуп саналат (колдоо 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 6а f7 01 Билдирүү туткасы = 0x000e мааниси: 16 69 f6 01

Профилдин өзгөчөлүгүнө ылайык, экинчи он алтылык номер BPM маалыматы.

BPM:

6d = 109

6d = 109

6c = 108

6а = 106

69 = 105

6 -кадам: Дене сенсорунун жайгашкан жерин окуу

Дене сенсорунун жайгашкан жерин окуу
Дене сенсорунун жайгашкан жерин окуу

Дене сенсорунун жайгашкан жери UUID 0x2A38. Анын дескрипторуна ылайык, бул мүнөздөмө негизги окууну колдойт, андыктан биз анын баасын түз окуй алабыз.

[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x11Carakterical value/descriptor: 03

SIG спецификациясына ылайык, 03 "Манжа" дегенди билдирет

Сунушталууда: