Sadržaj:
- Korak 1: Skenirajte BLE uređaj
- Korak 2: Povezivanje uređaja
- Korak 3: Dohvaćanje karakteristika uređaja
- Korak 4: Čitanje naziva uređaja
- Korak 5: Čitanje BPM -a
- Korak 6: Čitanje lokacije senzora tijela
Video: Očitavanje vrijednosti s BLE uređaja pomoću CSR1010 i Dragonboard 410c: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
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
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
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
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:
Kako čitati više analognih vrijednosti pomoću jednog analognog pina: 6 koraka (sa slikama)
Kako čitati više analognih vrijednosti pomoću jednog analognog pina: U ovom vodiču pokazat ću vam kako čitati više analognih vrijednosti koristeći samo jedan pin za analogni ulaz
Prijenos vrijednosti vibracijskog senzora u IOT ThingSpeak pomoću NodeMCU: 4 koraka
Prijenos vrijednosti osjetnika vibracija u IOT ThingSpeak pomoću NodeMCU: Postoji nekoliko kritičnih strojeva ili skupe opreme koji trpe oštećenja zbog vibracija. U tom slučaju potreban je senzor vibracija kako bi se utvrdilo proizvode li stroj ili oprema vibracije ili ne. Prepoznavanje objekta koji
Očitavanje podataka ultrazvučnog senzora (HC-SR04) na LCD-u 128 × 128 i vizualizacija pomoću Matplotliba: 8 koraka
Čitanje podataka ultrazvučnog senzora (HC-SR04) na LCD-u 128 × 128 i vizualizacija pomoću Matplotliba: U ovoj uputi koristit ćemo MSP432 LaunchPad + BoosterPack za prikaz podataka ultrazvučnog senzora (HC-SR04) na 128 × 128 LCD i serijski pošaljite podatke na računalo te ih vizualizirajte pomoću Matplotliba
Očitavanje temperature pomoću LM35 osjetnika temperature s Arduino Uno: 4 koraka
Očitavanje temperature pomoću LM35 osjetnika temperature s Arduino Uno: Bok dečki, u ovim uputama naučit ćemo kako koristiti LM35 s Arduinom. Lm35 je temperaturni senzor koji može očitati vrijednosti temperature od -55 ° C do 150 ° C. To je 3-terminalni uređaj koji daje analogni napon proporcionalan temperaturi. Najviše
Upravljajte do 4 servo uređaja pomoću pametnog telefona ili bilo kojeg uređaja s audio izlazom: 3 koraka
Upravljajte do 4 serva pomoću pametnog telefona ili bilo kojeg uređaja s audio izlazom: Ovdje predstavljam jednostavnu elektroničku montažu za upravljanje do četiri servo uređaja s bilo kojim uređajem koji može čitati audio datoteku