Përmbajtje:
- Hapi 1: Skanoni pajisjen BLE
- Hapi 2: Lidhja e pajisjes
- Hapi 3: Marrja e Karakteristikave të Pajisjes
- Hapi 4: Leximi i emrit të pajisjes
- Hapi 5: Leximi i BPM
- Hapi 6: Leximi i Vendndodhjes së Sensorit të Trupit
Video: Leximi i vlerave nga një pajisje BLE duke përdorur CSR1010 dhe Dragonboard 410c: 6 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:26
Ky udhëzues tregon se si të lexoni vlerat nga pajisja BLE CSR1010 duke përdorur Dragonboard 410c me Linaro
Në këtë shembull, CSR1010 po imiton një sensor të rrahjeve të zemrës.
Hapi 1: Skanoni pajisjen BLE
Në këtë hap, kontrolloni nëse klienti juaj BT është gati për skanimin e pajisjeve BLE.
rrënjë@linaro-alip:/home/linaro# sudo hcitool lescan
LE Scan… 18: EE: 69: 00: CE: 00 (e panjohur) 18: EE: 69: 00: CE: 00 (e panjohur) EE: 52: 5B: 04: 00: 02 Sensori CSR HR
Hapi 2: Lidhja e pajisjes
Ne do të përdorim gatttool për të lidhur pajisjen tonë
-b: Adresa MAC e pajisjes
-t: lloji i adresës LE. Mund të jetë publike ose e rastësishme, duhet të kontrolloni specifikimet e pajisjes. Në këtë rast është publike.
-I: mënyra ndërvepruese gatttool. Do të hapë një kërkesë për të dërguar cmds në pajisje
root@linaro -alip:/home/linaro# sudo gatttool -b EE: 52: 5B: 04: 00: 02 -t publike -I
Pasi të hapet kërkesa, ne mund të dërgojmë lidhjen cmd në pajisje.
[EE: 52: 5B: 04: 00: 02] [LE]> lid Përpjekja për t'u lidhur me EE: 52: 5B: 04: 00: 02
Lidhja ishte e suksesshme
[EE: 52: 5B: 04: 00: 02] [LE]>
Hapi 3: Marrja e Karakteristikave të Pajisjes
Pasi pajisja është e lidhur, ne mund të lexojmë të gjitha shërbimet në dispozicion duke dërguar cmd "primare"
Bazuar në shërbimin UUID, ne mund të zbulojmë llojin e shërbimit në specifikimet GATT
www.bluetooth.com/specifications/gatt/services
Hapi 4: Leximi i emrit të pajisjes
Le të shqyrtojmë karakteristikat e lexuara në profilin e aksesit të përgjithshëm (uuid = 1800). Së pari ne duhet të marrim vlerat e dorezës së shërbimit, të përshkruara në foton e parë, në këtë rast, fillon nga 5 deri në 11. Tani ne mund t'i marrim të gjitha dorezat në këtë interval duke përdorur cmd char-desc
[EE: 52: 5B: 04: 00: 02] [LE]> char-desc 05 11dore: 0x0005, uuid: 00002800-0000-1000-8000-00805f9b34fb dorezë: 0x0006, uuid: 00002803-0000-1000-8000- 00805f9b34fb trajtuar: 0x0007, UUID: 00002a00-0000-1000-8000-00805f9b34fb trajtuar: 0x0008, UUID: të trajtojë 00002803-0000-1000-8000-00805f9b34fb: 0x0009, UUID: të trajtojë 00002a01-0000-1000-8000-00805f9b34fb: 0x000a, uuid: 00002803-0000-1000-8000-00805f9b34fb dorezë: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fb dorezë: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb: -1000-8000-00805f9b34fb dorezë: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb dorezë: 0x000f, uuid: 00002902-0000-1000-8000-00805f9b34fb dorezë: 0x0010, uuid: 000000000 Doreza 00805f9b34fb: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb
Sipas specifikimit të Profilit të Përgjithshëm të Aksesit, UUID 2A00 i referohet Emrit të Pajisjes.
Duke marrë parasysh që 2a00 është doreza 0x0007 në pajisjen tonë, le të lexojmë vlerën
[EE: 52: 5B: 04: 00: 02] [LE]> lexo-lexo dhe 7 Vlera karakteristike/përshkrues: 43 53 52 20 48 52 20 53 65 6e 73 6f 72
Duke konvertuar hex në ASCII, emri i pajisjes është: '' Sensori CSR HR"
Hapi 5: Leximi i BPM
[EE: 52: 5B: 04: 00: 02] [LE]> dorezë primare: 0x0001, dorezë grp fundore: 0x0004 uuid: 00001801-0000-1000-8000-00805f9b34fb dorezë attr: 0x0005, dorezë grp fundore: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb dorezë attr: 0x000c, dorezë grp fundore: 0x0013 uuid: 0000180d-0000-1000-8000-00805f9b34fb dorezë attr: 0x0014, dorezë grp fundore: 0x0017 uuid: 0000180f-0000 00805f9b34fb dorezë attr: 0x0018, dorezë përfundimtare grp: 0x0021 uuid: 00001016-d102-11e1-9b23-00025b00a5a5 dorezë attr: 0x0022, dorezë grp fundore: 0xffff uuid: 0000180a-0000-1000-8000-0080599
Shërbimi UUID i Rrahjeve të Zemrës është 0x180d, kështu që intervali i trajtimit është nga 0x000c deri në 0x0013
[EE: 52: 5B: 04: 00: 02] [LE]> kar-desc 0x00c 0x0013
dorezë: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb dorezë: 0x000d, uuid: 00002803-0000-1000-8000-00805f9b34fb dorezë: 0x000e, uuid: 00002a37-0000-1000-8000-0000050095000, 000005009000, 00000: 00002902-0000-1000-8000-00805f9b34fb dorezë: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb dorezë: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb dore: 0x00-000000: 00x0000 1000-8000-00805f9b34fb dorezë: 0x0013, uuid: 00002a39-0000-1000-8000-00805f9b34fb
Leximi i të gjitha Deklaratave Karakteristike (UUID 0x2803).
[EE: 52: 5B: 04: 00: 02] [LE]> lexo-lexo dhe 0x000d
Vlera karakteristike/përshkrues: 10 0e 00 37 2a [EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x0010 Vlera karakteristike/përshkrues: 02 11 00 38 2a [EE: 52: 5B: 04:00:02] [LE]> char-read-hnd 0x0012 Vlera karakteristike/përshkrues: 08 13 00 39 2a
Vini re se:
- doreza 0x000d është CCCD për shërbimin 2a37 (Matja e Rrahjeve të Zemrës) me bit 10 (mbështetje NOTIFY)
- doreza 0x0010 është CCCD për shërbimin 2a38 (Vendndodhja e Sensorit të Trupit) me bit 02 (mbështetje LEXO)
- doreza 0x0012 është CCCD për shërbimin 2a39 (Pika e Kontrollit të Rrahjeve të Zemrës) me bit 08 (mbështetje WRITE)
Tani e dimë që Matja e Rrahjeve të Zemrës funksionon vetëm me njoftim. Do të thotë që së pari duhet të regjistrohemi për ndryshimet e vlerës në CCCD -në e tij (UUID 0x2902), e cila në këtë rast trajtohet 0xf
[EE: 52: 5B: 04: 00: 02] [LE]> char-write-req 0x00f 0100
Doreza e njoftimit = vlera 0x000e: 16 65 f3 01 Vlera karakteristike u shkrua me sukses Doreza e njoftimit = vlera 0x000e: 16 6d fa 01 Doreza e njoftimit = vlera 0x000e: 16 6d fa 01 Doreza e njoftimit = vlera 0x000e: 16 6c f9 01 Doreza e njoftimit = vlera 0x000e: 16 6a f7 01 Doreza e njoftimit = 0x000e vlera: 16 69 f6 01
Sipas specifikimit të profilit, numri i dytë gjashtëkëndësh është informacioni BPM.
BPM:
6d = 109
6d = 109
6c = 108
6a = 106
69 = 105
Hapi 6: Leximi i Vendndodhjes së Sensorit të Trupit
Vendndodhja e sensorit të trupit është UUID 0x2A38. Sipas përshkruesit të tij, kjo karakteristikë mbështet leximin bazë, kështu që ne mund ta lexojmë vlerën e tij drejtpërdrejt.
[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x11Vlera karakteristike/përshkrues: 03
Sipas specifikimit të SIG, 03 do të thotë "Gisht"
Recommended:
Si të kontrolloni një pajisje duke përdorur Raspberry Pi dhe një stafetë - BAZAT: 6 hapa
Si të kontrolloni një pajisje duke përdorur Raspberry Pi dhe një Stafetë - THEMELAT: Ky është një mësim bazë dhe i drejtpërdrejtë se si të kontrolloni një pajisje duke përdorur Raspberry Pi dhe një Relay, i dobishëm për të bërë Projekte IoT Ky udhëzim është për fillestarët, është miqësor me ndiqni edhe nëse keni zero njohuri për përdorimin e mjedrës
Ndërtoni një pajisje të sensorit të temperaturës Apple HomeKit duke përdorur një ESP8266 dhe një BME280: 10 hapa
Ndërtoni një pajisje të sensorit të temperaturës Apple HomeKit duke përdorur një ESP8266 dhe një BME280: Në udhëzimet e sotme, ne do të bëjmë sensorë të temperaturës, lagështisë dhe lagështisë me kosto të ulët bazuar në sensorin e temperaturës/lagështisë AOSONG AM2302/DHT22 ose BME280, sensor lagështie YL-69 dhe platformën ESP8266/Nodemcu. Dhe për shfaqjen
Leximi i të dhënave Sensori tejzanor (HC-SR04) në një LCD 128 × 128 dhe vizualizimi i tij duke përdorur Matplotlib: 8 hapa
Leximi i të dhënave të sensorit tejzanor (HC-SR04) në një LCD 128 × 128 dhe vizualizimi i tij duke përdorur Matplotlib: Në këtë udhëzues, ne do të përdorim MSP432 LaunchPad + BoosterPack për të shfaqur të dhënat e një sensori tejzanor (HC-SR04) në një 128 × 128 LCD dhe dërgoni të dhënat në PC në mënyrë serike dhe vizualizojini ato duke përdorur Matplotlib
Leximi dhe Shkrimi i të Dhënave në EEPROM të Jashtme Duke Përdorur Arduino: 5 Hapa
Leximi dhe Shkrimi i të Dhënave në EEPROM të Jashtme Duke Përdorur Arduino: EEPROM qëndron në Memory Electrically Erasable Programmable Read-Only Memory. EEPROM është shumë e rëndësishme dhe e dobishme sepse është një formë e paqëndrueshme e kujtesës. Kjo do të thotë që edhe kur bordi është i fikur, çipi EEPROM ende ruan programin që
Ndërtoni një pajisje Apple HomeKit Temperatura Sensor (DHT22) duke përdorur një RaspberryPI dhe një DHT22: 11 hapa
Ndërtoni një pajisje Apple HomeKit Temperatura Sensor (DHT22) Duke përdorur një RaspberryPI dhe një DHT22: Po kërkoja një sensor të temperaturës / lagështisë me kosto të ulët që mund ta përdorja për të monitoruar atë që po ndodh në hapësirën time të zvarritjes, pasi zbulova se këtë pranverë ishte shumë e lagësht , dhe kishte shumë lagështirë. Kështu që unë po kërkoja një sensor me çmim të arsyeshëm që mund ta p