Sadržaj:

Očitavanje vrijednosti s BLE uređaja pomoću CSR1010 i Dragonboard 410c: 6 koraka
Očitavanje vrijednosti s BLE uređaja pomoću CSR1010 i Dragonboard 410c: 6 koraka

Video: Očitavanje vrijednosti s BLE uređaja pomoću CSR1010 i Dragonboard 410c: 6 koraka

Video: Očitavanje vrijednosti s BLE uređaja pomoću CSR1010 i Dragonboard 410c: 6 koraka
Video: ESP32 Tutorial 9 - Using Push button to Toggle LED, Push ON, Push OFF -SunFounder ESP32 IoT kit 2024, Prosinac
Anonim
Očitavanje vrijednosti s BLE uređaja pomoću CSR1010 i Dragonboard 410c
Očitavanje vrijednosti s BLE uređaja pomoću CSR1010 i Dragonboard 410c

Ovaj vodič prikazuje kako čitati vrijednosti s BLE uređaja CSR1010 pomoću Dragonboard 410c s Linarom

U ovom primjeru CSR1010 oponaša senzor otkucaja srca.

Korak 1: Skenirajte BLE uređaj

U ovom koraku provjerite je li vaš BT klijent spreman za skeniranje BLE uređaja.

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

LE Skeniranje … 18: EE: 69: 00: CE: 00 (nepoznato) 18: EE: 69: 00: CE: 00 (nepoznato) EE: 52: 5B: 04: 00: 02 CSR HR senzor

Korak 2: Povezivanje uređaja

Za povezivanje našeg uređaja koristit ćemo gatttool

-b: MAC adresa uređaja

-t: LE adresa tipa. Može biti javna ili nasumična, potrebno je provjeriti specifikacije uređaja. U ovom slučaju je javna.

-I: interaktivni način gatttool -a. Otvorit će se upit za slanje cmds -a na uređaj

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

Nakon što se upit otvori, možemo poslati cmd connect za uređaj.

[EE: 52: 5B: 04: 00: 02] [LE]> connectPokušaj spajanja na EE: 52: 5B: 04: 00: 02

Veza je uspjela

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

Korak 3: Dohvaćanje karakteristika uređaja

Dohvaćanje karakteristika uređaja
Dohvaćanje karakteristika uređaja

Nakon što je uređaj spojen, možemo pročitati sve dostupne usluge slanjem cmd -a "primarni"

Na temelju UUID -a usluge možemo otkriti vrstu usluge u GATT specifikaciji

www.bluetooth.com/specifications/gatt/services

Korak 4: Čitanje naziva uređaja

Čitanje naziva uređaja
Čitanje naziva uređaja

Istražimo karakteristike pročitane na Generic Access Profile (uuid = 1800). Prvo moramo dobiti vrijednosti uslužnog ručka, opisane na prvoj slici, u ovom slučaju, počinje od 5 do 11. Sada možemo dohvatiti sve ručke u ovom intervalu pomoću cmd char-desc

[EE: 52: 5B: 04: 00: 02] [LE]> char-desc 05 11 ručka: 0x0005, uuid: 00002800-0000-1000-8000-00805f9b34fb ručka: 0x0006, uuid: 00002803-0000-1000-8000- 00805f9b34fb ručka: 0x0007, uuid: 00002a00-0000-1000-8000-00805f9b34fb ručka: 0x0008, uuid: 00002803-0000-1000-8000-00805f9b34fb ručka: 0x0009, uuid: 00002a01-0000b, 000000, 900000 uuid: 00002803-0000-1000-8000-00805f9b34fb ručka: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fb ručka: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34f00 ručica: 0x000: 0x000: 0x000 -1000-8000-00805f9b34fb ručka: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb ručka: 0x000f, uuid: 00002902-0000-1000-8000-00805f9b34fb ručka: 0x0010, uuid: 00002 00805f9b34fb ručka: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb

Prema specifikaciji generičkog profila pristupa, UUID 2A00 se odnosi na naziv uređaja.

S obzirom da je 2a00 ručica 0x0007 u našem uređaju, pročitajmo vrijednost

[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 7 Karakteristična vrijednost/opis: 43 53 52 20 48 52 20 53 65 6e 73 6f 72

Pretvarajući hex u ASCII, naziv uređaja je: '' CSR HR Sensor"

Korak 5: Čitanje BPM -a

[EE: 52: 5B: 04: 00: 02] [LE]> primarna ručka: 0x0001, ručka krajnjeg grpa: 0x0004 uuid: 00001801-0000-1000-8000-00805f9b34fb attr ručka: 0x0005, ručka krajnjeg grpa: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb attr ručka: 0x000c, ručka krajnjeg grpa: 0x0013 uuid: 0000180d-0000-1000-8000-00805f9b34fb attr ručka: 0x0014, ručka na kraju grpa: 0x0017 uuid: 00001000-8000 00805f9b34fb attr ručka: 0x0018, end grp handle: 0x0021 uuid: 00001016-d102-11e1-9b23-00025b00a5a5 attr handle: 0x0022, end grp handle: 0xffff uuid: 0000180a-0000-1000-8000-00805f934b

UUID usluge otkucaja srca je 0x180d, pa je interval rukovanja od 0x000c do 0x0013

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

ručka: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb ručka: 0x000d, uuid: 00002803-0000-1000-8000-00805f9b34fb ručka: 0x000e, uuid: 00002a37-0000-1000-8000-0080bf, rub: 00000000000000b: 00002902-0000-1000-8000-00805f9b34fb ručka: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb ručka: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb ručka: 0x00-000000000000000000000000000 1000-8000-00805f9b34fb ručka: 0x0013, uuid: 00002a39-0000-1000-8000-00805f9b34fb

Čitanje svih karakterističnih deklaracija (UUID 0x2803).

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

Karakteristična vrijednost/deskriptor: 10 0e 00 37 2a [EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x0010 Karakteristična vrijednost/deskriptor: 02 11 00 38 2a [EE: 52: 5B: 04:00:02] [LE]> char-read-hnd 0x0012 Karakteristična vrijednost/opis: 08 13 00 39 2a

Primijeti da:

- ručka 0x000d je CCCD za uslugu 2a37 (mjerenje otkucaja srca) s bitom 10 (podrška NOTIFY)

- ručka 0x0010 je CCCD za servis 2a38 (mjesto senzora tijela) s bitom 02 (podrška READ)

- ručka 0x0012 je CCCD za uslugu 2a39 (kontrolna točka otkucaja srca) s bitom 08 (podrška WRITE)

Sada znamo da mjerenje otkucaja srca radi samo uz obavijest. To znači da se prvo moramo registrirati za promjene vrijednosti u njegovom CCCD -u (UUID 0x2902), koji je u ovom slučaju ručka 0xf

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

Ručica obavijesti = 0x000e vrijednost: 16 65 f3 01 Karakteristična vrijednost uspješno je napisana Ručka obavijesti = 0x000e vrijednost: 16 6d fa 01 Ručka obavijesti = 0x000e vrijednost: 16 6d fa 01 Ručka obavijesti = 0x000e vrijednost: 16 6c f9 01 Ručka obavijesti = 0x000e vrijednost: 16 6a f7 01 Ručka za obavijest = 0x000e vrijednost: 16 69 f6 01

Prema specifikaciji profila, drugi hex broj je BPM informacija.

BPM:

6d = 109

6d = 109

6c = 108

6a = 106

69 = 105

Korak 6: Čitanje lokacije senzora tijela

Čitanje lokacije senzora tijela
Čitanje lokacije senzora tijela

Mjesto senzora tijela je UUID 0x2A38. Prema opisu, ova karakteristika podržava osnovno čitanje, pa njezinu vrijednost možemo izravno pročitati.

[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x11Karakteristična vrijednost/opis: 03

Prema specifikaciji SIG -a, 03 znači "prst"

Preporučeni: