Obsah:
- Krok 1: Naskenujte zariadenie BLE
- Krok 2: Pripojenie zariadenia
- Krok 3: Načítanie charakteristík zariadenia
- Krok 4: Čítanie názvu zariadenia
- Krok 5: Čítanie BPM
- Krok 6: Prečítajte si umiestnenie telesného senzora
Video: Čítanie hodnôt zo zariadenia BLE pomocou CSR1010 a Dragonboard 410c: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Tento tutoriál ukazuje, ako čítať hodnoty zo zariadenia BLE CSR1010 pomocou Dragonboard 410c s Linaro
V tomto prípade CSR1010 emuluje snímač srdcového tepu.
Krok 1: Naskenujte zariadenie BLE
V tomto kroku skontrolujte, či je váš klient BT pripravený na skenovanie zariadení BLE.
root@linaro-alip:/home/linaro# sudo hcitool lescan
LE Scan… 18: EE: 69: 00: CE: 00 (neznámy) 18: EE: 69: 00: CE: 00 (neznámy) EE: 52: 5B: 04: 00: 02 CSR HR Sensor
Krok 2: Pripojenie zariadenia
Na pripojenie nášho zariadenia použijeme gatttool
-b: MAC adresa zariadenia
-t: typ adresy LE. Môžu byť verejné alebo náhodné, je potrebné skontrolovať špecifikácie zariadenia. V tomto prípade je verejný.
-I: interaktívny režim gatttool. Otvorí sa výzva na odoslanie cmds do zariadenia
root@linaro -alip:/home/linaro# sudo gatttool -b EE: 52: 5B: 04: 00: 02 -t public -I
Akonáhle je výzva otvorená, môžeme odoslať connect cmd do zariadenia.
[EE: 52: 5B: 04: 00: 02] [LE]> connectAptempting to connect to EE: 52: 5B: 04: 00: 02
Pripojenie úspešné
[EE: 52: 5B: 04: 00: 02] [LE]>
Krok 3: Načítanie charakteristík zariadenia
Akonáhle je zariadenie pripojené, môžeme čítať všetky dostupné služby odoslaním cmd „primárne“
Na základe UUID služby môžeme objaviť typ služby v špecifikácii GATT
www.bluetooth.com/specifications/gatt/services
Krok 4: Čítanie názvu zariadenia
Pozrime sa na charakteristiky prečítané vo všeobecnom prístupovom profile (uuid = 1800). Najprv musíme získať hodnoty popisovača služby, popísané na prvom obrázku, v tomto prípade začína od 5 do 11. Teraz môžeme získať všetky úchyty v tomto intervale pomocou cmd char-desc
[EE: 52: 5B: 04: 00: 02] [LE]> char-desc 05 11 rukoväť: 0x0005, uuid: 00002800-0000-1000-8000-00805f9b34fb rukoväť: 0x0006, uuid: 00002803-0000-1000-8000- 00805f9b34fb kľučka: 0x0007, uuid: 00002a00-0000-1000-8000-00805f9b34fb kľučka: 0x0008, uuid: 00002803-0000-1000-8000-00805f9b34fb rukoväť: 0x0009, uuid: 00002a01-0000b9005b uuid: 00002803-0000-1000-8000-00805f9b34fb kľučka: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fb kľučka: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb rukoväť: 0x000d uu -1000-8000-00805f9b34fb rukoväť: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb rukoväť: 0x000f, uuid: 00002902-0000-1000-8000-00805f9b34fb rukoväť: 0x0010, uuid: 00002803-0000 00805f9b34fb rukoväť: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb
Podľa špecifikácie všeobecného prístupového profilu UUID 2A00 odkazuje na názov zariadenia.
Vzhľadom na to, že 2a00 je v našom zariadení rukoväť 0x0007, prečítajme si hodnotu
[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 7 Typická hodnota/deskriptor: 43 53 52 20 48 52 20 53 65 6e 73 6f 72
Pri prevode hexu na ASCII je názov zariadenia: „CSR HR Sensor“
Krok 5: Čítanie BPM
[EE: 52: 5B: 04: 00: 02] [LE]> rukoväť primárneho attra: 0x0001, koncová rukoväť grp: 0x0004 uuid: 00001801-0000-1000-8000-00805f9b34fb rukoväť attr: 0x0005, koncová rukoväť grp: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb rukoväť attr: 0x000c, koncová rukoväť grp: 0x0013 uuid: 0000180d-0000-1000-8000-00805f9b34fb rukoväť attr: 0x0014, koncová rukoväť grp: 0x0017 uuid: 0000180f-0000-1000-8000 00805f9b34fb rukoväť attr: 0x0018, koncová rukoväť grp: 0x0021 uuid: 00001016-d102-11e1-9b23-00025b00a5a5 rukoväť attr: 0x0022, koncová rukoväť grp: 0xffff uuid: 0000180a-0000-1000-8000-00805f9b34
UUID služby srdcovej frekvencie je 0x180d, takže interval spracovania je od 0x000c do 0x0013
[EE: 52: 5B: 04: 00: 02] [LE]> char-desc 0x00c 0x0013
rukoväť: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb rukoväť: 0x000d, uuid: 00002803-0000-1000-8000-00805f9b34fb rukoväť: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb rukoväť: 0x000d: 00002902-0000-1000-8000-00805f9b34fb kľučka: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb kľučka: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb rukoväť: 0x0012, uuid 00: 00 1000-8000-00805f9b34fb rukoväť: 0x0013, uid: 00002a39-0000-1000-8000-00805f9b34fb
Prečítajte si všetky charakteristické vyhlásenia (UUID 0x2803).
[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x000d
Charakteristická hodnota/deskriptor: 10 0e 00 37 2a [EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x0010 Charakteristická hodnota/deskriptor: 02 11 00 38 2a [EE: 52: 5B: 04:00:02] [LE]> char-read-hnd 0x0012 Charakteristická hodnota/deskriptor: 08 13 00 39 2a
Všimni si:
- rukoväť 0x000d je CCCD pre službu 2a37 (meranie srdcového tepu) s bitom 10 (podpora UPOZORNENIE)
- rukoväť 0x0010 je CCCD pre službu 2a38 (umiestnenie telesného senzora) s bitom 02 (podpora READ)
- rukoväť 0x0012 je CCCD pre službu 2a39 (kontrolný bod srdcovej frekvencie) s bitom 08 (podpora WRITE)
Teraz vieme, že meranie srdcového tepu funguje iba s upozornením. To znamená, že sa najskôr musíme zaregistrovať na zmeny hodnôt v jeho CCCD (UUID 0x2902), čo je v tomto prípade rukoväť 0xf
[EE: 52: 5B: 04: 00: 02] [LE]> char-write-req 0x00f 0100
Oznamovací úchyt = hodnota 0x000e: 16 65 f3 01 Charakteristická hodnota bola úspešne zapísaná Oznamovací úchyt = 0x000e hodnota: 16 6d fa 01 Oznamovací úchyt = 0x000e hodnota: 16 6d fa 01 Oznamovacia páka = 0x000e hodnota: 16 6c f9 01 Oznamovacia páka = hodnota 0x000e: 16 6a f7 01 Rukoväť oznámenia = hodnota 0x000e: 16 69 f6 01
Podľa špecifikácie profilu je druhým hexadecimálnym číslom informácia o BPM.
BPM:
6d = 109
6d = 109
6c = 108
6a = 106
69 = 105
Krok 6: Prečítajte si umiestnenie telesného senzora
Umiestnenie telesného senzora je UUID 0x2A38. Táto charakteristika podľa svojho deskriptora podporuje základné čítanie, takže môžeme priamo prečítať jej hodnotu.
[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x11Charakteristická hodnota/deskriptor: 03
Podľa špecifikácie SIG 03 znamená „prst“
Odporúča:
Čítanie a vykresľovanie údajov senzora svetla a teploty pomocou Raspberry Pi: 5 krokov
Čítanie a vykresľovanie údajov senzora svetla a teploty s Raspberry Pi: V tomto návode sa naučíte, ako čítať snímač svetla a teploty s analógovo -digitálnym prevodníkom maliny pi a ADS1115 a vykresľovať ich pomocou matplotlib. Začnime s potrebnými materiálmi
Ako čítať viac analógových hodnôt pomocou jedného analógového kolíka: 6 krokov (s obrázkami)
Ako čítať viac analógových hodnôt pomocou jedného analógového pinu: V tomto návode vám ukážem, ako čítať viac analógových hodnôt pomocou iba jedného analógového vstupného pinu
Čítanie údajov z ultrazvukového senzora (HC-SR04) na displeji LCD s rozlíšením 128 × 128 a ich vizualizácia pomocou programu Matplotlib: 8 krokov
Čítanie údajov z ultrazvukového senzora (HC-SR04) na LCD displeji 128 × 128 a jeho vizualizácia pomocou programu Matplotlib: V tomto návode použijeme MSP432 LaunchPad + BoosterPack na zobrazenie údajov ultrazvukového senzora (HC-SR04) na 128 × 128 LCD displej a odosielajte údaje sériovo do počítača a vizualizujte ich pomocou programu Matplotlib
Čítanie a zapisovanie údajov do externej EEPROM pomocou Arduina: 5 krokov
Čítanie a zapisovanie údajov do externej EEPROM pomocou Arduino: EEPROM je elektricky vymazateľná programovateľná pamäť iba na čítanie. EEPROM je veľmi dôležitá a užitočná, pretože je energeticky nezávislou formou pamäte. To znamená, že aj keď je doska vypnutá, čip EEPROM si stále zachováva program, ktorý
Detekcia objektov pomocou Dragonboard 410c alebo 820c pomocou OpenCV a Tensorflow .: 4 kroky
Object Detection W/ Dragonboard 410c or 820c using OpenCV and Tensorflow .: This instructables popisuje how to install OpenCV, Tensorflow, and machine learning frameworks for Python 3.5 to run the Object Detection