Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-23 14:40
See õpetus näitab, kuidas lugeda väärtusi BLE -seadmest CSR1010, kasutades Dragonboard 410c koos Linaroga
Selles näites emuleerib CSR1010 pulsiandurit.
Samm: skaneerige BLE -seade
Selles etapis kontrollige, kas teie BT -klient on BLE -seadmete skannimiseks valmis.
root@linaro-alip:/home/linaro# sudo hcitool lescan
LE Scan… 18: EE: 69: 00: CE: 00 (teadmata) 18: EE: 69: 00: CE: 00 (teadmata) EE: 52: 5B: 04: 00: 02 CSR -i HR -andur
Samm: seadme ühendamine
Kasutame oma seadme ühendamiseks gatttooli
-b: seadme MAC -aadress
-t: LE aadressi tüüp. Võib olla avalik või juhuslik, vaja kontrollida seadme spetsifikatsioone Sel juhul on see avalik.
-I: interaktiivne režiim gatttool. See avab viiba cmd -de seadmesse saatmiseks
root@linaro -alip:/home/linaro# sudo gatttool -b EE: 52: 5B: 04: 00: 02 -t avalik -I
Kui viip on avatud, saame seadmesse saata ühenduse cmd.
[EE: 52: 5B: 04: 00: 02] [LE]> ühendamine EE -ga ühenduse loomise katse: 52: 5B: 04: 00: 02
Ühendus õnnestus
[EE: 52: 5B: 04: 00: 02] [LE]>
3. samm: seadme omaduste hankimine
Kui seade on ühendatud, saame lugeda kõiki saadaolevaid teenuseid, saates cmd "esmane"
Teenuse UUID põhjal saame GATT spetsifikatsioonist avastada teenuse tüübi
www.bluetooth.com/specifications/gatt/services
4. samm: seadme nime lugemine
Uurime üldisel juurdepääsuprofiilil loetavaid omadusi (uuid = 1800). Kõigepealt peame hankima esimesel pildil kirjeldatud teenuse käepideme väärtused, antud juhul algab see 5st kuni 11. Nüüd saame selle intervalliga kõik käepidemed alla laadida, kasutades cmd char-desc
[EE: 52: 5B: 04: 00: 02] [LE]> char-desc 05 11 käepide: 0x0005, uuid: 00002800-0000-1000-8000-00805f9b34fb käepide: 0x0006, uuid: 00002803-0000-1000-8000- 00805f9b34fb käepide: 0x0007, uuid: 00002a00-0000-1000-8000-00805f9b34fb käepide: 0x0008, uuid: 00002803-0000-1000-8000-00805f9b34fb käepide: 0x0009, uuid: 00002a01-0000-1000-8000-0080bf 0b uuid: 00002803-0000-1000-8000-00805f9b34fb käepide: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fb käepide: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb käepide: 0x000d, uuid: 0000280 -1000-8000-00805f9b34fb käepide: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb käepide: 0x000f, uuid: 00002902-0000-1000-8000-00805f9b34fb käepide: 0x0010, uuid: 00002803-0000-1000-8000- 00805f9b34fb käepide: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb
Vastavalt üldise juurdepääsuprofiili spetsifikatsioonile viitab UUID 2A00 seadme nimele.
Arvestades, et 2a00 on meie seadme käepide 0x0007, loeme väärtust
[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 7 Iseloomulik väärtus/kirjeldus: 43 53 52 20 48 52 20 53 65 6e 73 6f 72
Kuuekümnendiku teisendamisel ASCII -ks on seadme nimi järgmine: '' CSR HR Sensor ''
Samm: BPM lugemine
[EE: 52: 5B: 04: 00: 02] [LE]> esmatasandi käepide: 0x0001, lõpu käepide: 0x0004 uuid: 00001801-0000-1000-8000-00805f9b34fb 00001800-0000-1000-8000-00805f9b34fb Attr-käepide: 0x000c, lõpp-käepide: 0x0013 uuid: 0000180d-0000-1000-8000-00805f9b34fb Attr-käepide: 0x0014, lõpp-käepide: 0x0017 uuid: 0000180f-0000-1000-8000- 00805f9b34fb attr käepide: 0x0018, lõpp-käepide: 0x0021 uuid: 00001016-d102-11e1-9b23-00025b00a5a5 attr-käepide: 0x0022, lõpp-käepide: 0xffff uuid: 0000180a-0000-1000-8000-00805f9b34fb
Südame löögisageduse teenuse UUID on 0x180d, seega on käepidemete intervall vahemikus 0x000c kuni 0x0013
[EE: 52: 5B: 04: 00: 02] [LE]> char-desc 0x00c 0x0013
käepide: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb käepide: 0x000d, uuid: 00002803-0000-1000-8000-00805f9b34fb käepide: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb käepide: 0x000f, uu: 00002902-0000-1000-8000-00805f9b34fb käepide: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb käepide: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb käepide: 0x0012, uuid: 00002803-00 1000-8000-00805f9b34fb käepide: 0x0013, uuid: 00002a39-0000-1000-8000-00805f9b34fb
Kõigi iseloomulike deklaratsioonide lugemine (UUID 0x2803).
[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x000d
Iseloomulik väärtus/deskriptor: 10 0e 00 37 2a [EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x0010 Iseloomulik väärtus/deskriptor: 02 11 00 38 2a [EE: 52: 5B: 04:00:02] [LE]> char-read-hnd 0x0012 Iseloomulik väärtus/kirjeldus: 08 13 00 39 2a
Märka seda:
- käepide 0x000d on teenuse 2a37 (südame löögisageduse mõõtmine) CCCD bitiga 10 (toetage MÄRKU)
- käepide 0x0010 on teeninduse 2a38 (kehaanduri asukoht) CCCD koos bitiga 02 (tugi LUGEGE)
- käepide 0x0012 on teenuse 2a39 (südame löögisageduse kontrollpunkti) CCCD bitiga 08 (toetab kirjutamist)
Nüüd teame, et südame löögisageduse mõõtmine töötab ainult teavitamisega. See tähendab, et kõigepealt peame registreeruma väärtuste muutuste jaoks selle CCCD -s (UUID 0x2902), mis antud juhul on käepide 0xf
[EE: 52: 5B: 04: 00: 02] [LE]> char-write-req 0x00f 0100
Teavituskäepide = 0x000e väärtus: 16 65 f3 01 Iseloomulik väärtus kirjutati edukalt Teatise käepide = 0x000e väärtus: 16 6d fa 01 Teavituskäepide = 0x000e väärtus: 16 6d fa 01 Märguannete käepide = 0x000e väärtus: 16 6c f9 01 Teavituskäepide = 0x000e väärtus: 16 6a f7 01 Teavituskäepide = 0x000e väärtus: 16 69 f6 01
Vastavalt profiili spetsifikatsioonile on teine kuusnurk BPM -i teave.
BPM:
6d = 109
6d = 109
6c = 108
6a = 106
69 = 105
6. samm: kehaanduri asukoha lugemine
Kehaanduri asukoht on UUID 0x2A38. Kirjelduse järgi toetab see omadus põhilugemist, nii et saame selle väärtust otse lugeda.
[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x11Karakteristlik väärtus/kirjeldus: 03
Vastavalt SIG spetsifikatsioonile tähendab 03 "sõrme"
Soovitan:
DHT -andmete lugemine LCD -lt Raspberry Pi abil: 6 sammu
DHT -andmete lugemine LCD -lt Raspberry Pi abil: temperatuur ja suhteline niiskus on keskkonnas olulised ilmastikuandmed. Need kaks võivad olla andmed, mida mini ilmajaam edastab. Raspberry Pi abil saate oma temperatuuri ja suhtelist niiskust lugeda
Valgus- ja temperatuurianduri andmete lugemine ja joonistamine Raspberry Pi abil: 5 sammu
Valgus- ja temperatuuriandurite andmete lugemine ja joonistamine Raspberry Pi abil: Selles juhendis saate teada, kuidas lugeda valgus- ja temperatuuriandurit koos vaarika pi ja ADS1115 analoog -digitaalmuunduriga ning graafiliselt matplotlibi abil graafida. Alustame vajalike materjalidega
Mitme analoogväärtuse lugemine ühe analoogpinna abil: 6 sammu (piltidega)
Mitme analoogväärtuse lugemine ühe analoogpinna abil: Selles õpetuses näitan teile, kuidas lugeda mitut analoogväärtust, kasutades ainult ühte analoogsisendit
Raspberry Pi abil jadapordist lugemine ja kirjutamine Wemose abil: 5 sammu
Raspberry Pi abil jadapordist lugemine ja kirjutamine Wemose abil: Raspberry Pi -ga suhtlemine Wemos D1 mini R2 abil
Eelseadistatud väärtuste salvestamine ja taastamine NFC (TfCD) abil: 4 sammu
Salvestage ja taastage eelseadistatud väärtused NFC -ga (TfCD): tahame testida, kuidas see toimib teatud väärtuse või sätte reguleerimiseks, ja hiljem selle sätte meelde tuletada. Selle katse jaoks kasutasime NFC -märgendit selle väärtuse lugemiseks ja seejärel salvestamiseks. Hiljem saab märgendit uuesti skannida ja selle väärtuse taastamiseks väärtuse tagasi saata