Sisällysluettelo:

Arvojen lukeminen BLE -laitteesta CSR1010: n ja Dragonboard 410c: n avulla: 6 vaihetta
Arvojen lukeminen BLE -laitteesta CSR1010: n ja Dragonboard 410c: n avulla: 6 vaihetta

Video: Arvojen lukeminen BLE -laitteesta CSR1010: n ja Dragonboard 410c: n avulla: 6 vaihetta

Video: Arvojen lukeminen BLE -laitteesta CSR1010: n ja Dragonboard 410c: n avulla: 6 vaihetta
Video: Total Money Makeover на португальском языке - полная аудиокнига (русские субтитры) 2024, Marraskuu
Anonim
Arvojen lukeminen BLE -laitteesta CSR1010: n ja Dragonboard 410c: n avulla
Arvojen lukeminen BLE -laitteesta CSR1010: n ja Dragonboard 410c: n avulla

Tämä opetusohjelma näyttää kuinka lukea arvoja BLE -laitteesta CSR1010 Dragonboard 410c: n ja Linaron avulla

Tässä esimerkissä CSR1010 emuloi sykesensoria.

Vaihe 1: Skannaa BLE -laite

Tarkista tässä vaiheessa, onko BT -asiakas valmis skannaamaan BLE -laitteita.

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

LE Scan… 18: EE: 69: 00: CE: 00 (tuntematon) 18: EE: 69: 00: CE: 00 (tuntematon) EE: 52: 5B: 04: 00: 02 CSR -HR -anturi

Vaihe 2: Laitteen yhdistäminen

Käytämme laitteen yhdistämiseen gatttoolia

-b: Laitteen MAC -osoite

-t: LE -osoitetyyppi. Voi olla julkinen tai satunnainen, täytyy tarkistaa laitteen tekniset tiedot. Tässä tapauksessa on julkista.

-I: interaktiivinen gatttool -tila. Se avaa kehotteen lähettää cmds laitteeseen

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

Kun kehote on auki, voimme lähettää yhteyden cmd laitteeseen.

[EE: 52: 5B: 04: 00: 02] [LE]> yhdistä Yritetään muodostaa yhteys EE: hen: 52: 5B: 04: 00: 02

Yhteys onnistui

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

Vaihe 3: Laitteen ominaisuuksien noutaminen

Laiteominaisuuksien noutaminen
Laiteominaisuuksien noutaminen

Kun laite on yhdistetty, voimme lukea kaikki saatavilla olevat palvelut lähettämällä cmd "ensisijainen"

Palvelun UUID -tunnuksen perusteella voimme löytää palvelun tyypin GATT -määrityksistä

www.bluetooth.com/specifications/gatt/services

Vaihe 4: Laitteen nimen lukeminen

Lukulaitteen nimi
Lukulaitteen nimi

Tarkastellaan yleisen käyttöprofiilin luomia ominaisuuksia (uuid = 1800). Ensin meidän on saatava ensimmäisessä kuvassa kuvatut palvelukahvan arvot, tässä tapauksessa, alkaen 5: stä 11. Nyt voimme hakea kaikki kahvat tällä aikavälillä käyttämällä cmd char-desc

[EE: 52: 5B: 04: 00: 02] [LE]> char-desc 05 11kahva: 0x0005, uuid: 00002800-0000-1000-8000-00805f9b34fb kahva: 0x0006, uuid: 00002803-0000-1000-8000- 00805f9b34fb kahva: 0x0007, uuid: 00002a00-0000-1000-8000-00805f9b34fb kahva: 0x0008, uuid: 00002803-0000-1000-8000-00805f9b34fb kahva: 0x0009, uuid: 00002a01-0000-1000-8000-00805f9b uuid: 00002803-0000-1000-8000-00805f9b34fb kahva: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fb kahva: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb kahva: 0x000d, uuid: 0000280 -1000-8000-00805f9b34fb kahva: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb kahva: 0x000f, uuid: 00002902-0000-1000-8000-00805f9b34fb kahva: 0x0010, uuid: 00002803-0000-1000-8000- 00805f9b34fb kahva: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb

Yleisen käyttöprofiilin määrityksen mukaan UUID 2A00 viittaa laitteen nimeen.

Ottaen huomioon, että 2a00 on laitteemme kahva 0x0007, luetaan arvo

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

Kun heksadesimaali muunnetaan ASCII: ksi, laitteen nimi on: '' CSR HR Sensor"

Vaihe 5: BPM: n lukeminen

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

Sykepalvelun UUID on 0x180d, joten kahvan väli on 0x000c - 0x0013

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

kahva: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb kahva: 0x000d, uuid: 00002803-0000-1000-8000-00805f9b34fb kahva: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb kahva: 0x000f, uu: 00002902-0000-1000-8000-00805f9b34fb kahva: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb kahva: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb kahva: 0x0012, uuid: 00002803-00 1000-8000-00805f9b34fb kahva: 0x0013, uuid: 00002a39-0000-1000-8000-00805f9b34fb

Kaikkien ominaisilmoitusten lukeminen (UUID 0x2803).

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

Ominaisarvo/kuvaaja: 10 0e 00 37 2a [EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x0010 Ominaisarvo/kuvaaja: 02 11 00 38 2a [EE: 52: 5B: 04:00:02] [LE]> char-read-hnd 0x0012 Ominainen arvo/kuvaaja: 08 13 00 39 2a

Huomaa, että:

- kahva 0x000d on palvelun 2a37 (sykkeenmittaus) CCCD ja bitti 10 (tuki NOTIFY)

- kahva 0x0010 on CCCD palvelulle 2a38 (kehon anturin sijainti), bitti 02 (tuki LUE)

- kahva 0x0012 on CCCD palvelulle 2a39 (sykeohjauspiste), bitti 08 (tuki WRITE)

Nyt tiedämme, että sykemittaus toimii vain ilmoituksella. Se tarkoittaa, että ensin meidän on rekisteröidyttävä arvonmuutoksiin sen CCCD: ssä (UUID 0x2902), joka tässä tapauksessa on kahva 0xf

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

Ilmoituskahva = 0x000e -arvo: 16 65 f3 01 Ominaisarvo on kirjoitettu onnistuneesti Ilmoituskahva = 0x000e -arvo: 16 6d fa 01 Ilmoituskahva = 0x000e -arvo: 16 6d fa 01 Ilmoituskahva = 0x000e -arvo: 16 6c f9 01 Ilmoituskahva = 0x000e -arvo: 16 6a f7 01 Ilmoituskahva = 0x000e -arvo: 16 69 f6 01

Profiilimääritysten mukaan toinen heksadesimaaliluku on BPM -tiedot.

BPM:

6d = 109

6d = 109

6c = 108

6a = 106

69 = 105

Vaihe 6: Kehon tunnistimen sijainnin lukeminen

Kehon tunnistimen sijainnin lukeminen
Kehon tunnistimen sijainnin lukeminen

Runkoanturin sijainti on UUID 0x2A38. Kuvaajan mukaan tämä ominaisuus tukee peruslukemista, joten voimme lukea sen arvon suoraan.

[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x11Luonteenomainen arvo/kuvaaja: 03

SIG -spesifikaation mukaan 03 tarkoittaa "sormea"

Suositeltava: