Satura rādītājs:
- 1. darbība: skenējiet BLE ierīci
- 2. darbība: ierīces pievienošana
- 3. darbība. Ierīces īpašību izgūšana
- 4. darbība. Ierīces nosaukuma lasīšana
- 5. darbība: BPM lasīšana
- 6. darbība: ķermeņa sensora atrašanās vietas nolasīšana
Video: Vērtību nolasīšana no BLE ierīces, izmantojot CSR1010 un Dragonboard 410c: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Šī apmācība parāda, kā nolasīt vērtības no BLE ierīces CSR1010, izmantojot Dragonboard 410c ar Linaro
Šajā piemērā CSR1010 emulē sirdsdarbības sensoru.
1. darbība: skenējiet BLE ierīci
Šajā solī pārbaudiet, vai jūsu BT klients ir gatavs BLE ierīču skenēšanai.
root@linaro-alip:/home/linaro# sudo hcitool lescan
LE Scan… 18: EE: 69: 00: CE: 00 (nezināms) 18: EE: 69: 00: CE: 00 (nezināms) EE: 52: 5B: 04: 00: 02 CSR HR sensors
2. darbība: ierīces pievienošana
Savas ierīces savienošanai mēs izmantosim gatttool
-b: ierīces MAC adrese
-t: LE adreses veids. Var būt publisks vai nejaušs, jāpārbauda ierīces specifikācijas. Šajā gadījumā tas ir publisks.
-I: interaktīvais režīms gatttool. Tas atvērs uzvedni, lai nosūtītu cmds uz ierīci
root@linaro -alip:/home/linaro# sudo gatttool -b EE: 52: 5B: 04: 00: 02 -t public -I
Kad uzvedne ir atvērta, mēs varam nosūtīt ierīcei savienojumu cmd.
[EE: 52: 5B: 04: 00: 02] [LE]> savienot Mēģina izveidot savienojumu ar EE: 52: 5B: 04: 00: 02
Savienojums ir veiksmīgs
[EE: 52: 5B: 04: 00: 02] [LE]>
3. darbība. Ierīces īpašību izgūšana
Kad ierīce ir pievienota, mēs varam izlasīt visus pieejamos pakalpojumus, nosūtot cmd "primārais"
Pamatojoties uz pakalpojuma UUID, mēs varam atklāt pakalpojuma veidu GATT specifikācijā
www.bluetooth.com/specifications/gatt/services
4. darbība. Ierīces nosaukuma lasīšana
Izpētīsim raksturlielumus, kas lasīti vispārējā piekļuves profilā (uuid = 1800). Vispirms mums jāiegūst pakalpojuma roktura vērtības, kas aprakstītas pirmajā attēlā, šajā gadījumā sākas no 5 līdz 11. Tagad mēs varam iegūt visus rokturus šajā intervālā, izmantojot cmd char-desc
[EE: 52: 5B: 04: 00: 02] [LE]> char-desc 05 11handle: 0x0005, uuid: 00002800-0000-1000-8000-00805f9b34fb rokturis: 0x0006, uuid: 00002803-0000-1000-8000- 00805f9b34fb rokturis: 0x0007, uuid: 00002a00-0000-1000-8000-00805f9b34fb rokturis: 0x0008, uuid: 00002803-0000-1000-8000-00805f9b34fb rokturis: 0x0009, uuid: 00002a01-0000-1000-8000-00805f9b uuid: 00002803-0000-1000-8000-00805f9b34fb rokturis: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fb rokturis: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb rokturis: 0x000d, uuid: 0000280 -1000-8000-00805f9b34fb rokturis: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb rokturis: 0x000f, uuid: 00002902-0000-1000-8000-00805f9b34fb rokturis: 0x0010, uuid: 00002803-0000-1000-8000- 00805f9b34fb rokturis: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb
Saskaņā ar vispārējās piekļuves profila specifikāciju UUID 2A00 attiecas uz ierīces nosaukumu.
Ņemot vērā, ka 2a00 ir mūsu ierīces rokturis 0x0007, lasīsim vērtību
[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 7 Raksturīgā vērtība/deskriptors: 43 53 52 20 48 52 20 53 65 6e 73 6f 72
Konvertējot hex uz ASCII, ierīces nosaukums ir: '' CSR HR Sensor ''
5. darbība: BPM lasīšana
[EE: 52: 5B: 04: 00: 02] [LE]> primārais roktura rokturis: 0x0001, gala satvēriena rokturis: 0x0004 uuid: 00001801-0000-1000-8000-00805f9b34fb attr rokturis: 0x0005, gala satvēriena rokturis: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb attr rokturis: 0x000c, gala grp rokturis: 0x0013 uuid: 0000180d-0000-1000-8000-00805f9b34fb attr rokturis: 0x0014, gala grp rokturis: 0x0017 uuid: 0000180f-0000-1000-8000- 00805f9b34fb attr rokturis: 0x0018, gala rokturis: 0x0021 uuid: 00001016-d102-11e1-9b23-00025b00a5a5 attr rokturis: 0x0022, gala grp rokturis: 0xffff uuid: 0000180a-0000-1000-8000-00805f9b34fb
Sirdsdarbības pakalpojuma UUID ir 0x180d, tāpēc rokturu intervāls ir no 0x000c līdz 0x0013
[EE: 52: 5B: 04: 00: 02] [LE]> char-desc 0x00c 0x0013
rokturis: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb rokturis: 0x000d, uuid: 00002803-0000-1000-8000-00805f9b34fb rokturis: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb rokturis: 0x000f, uu: 00002902-0000-1000-8000-00805f9b34fb rokturis: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb rokturis: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb rokturis: 0x0012, uuid: 00002803-00 1000-8000-00805f9b34fb rokturis: 0x0013, uuid: 00002a39-0000-1000-8000-00805f9b34fb
Visu raksturīgo deklarāciju lasīšana (UUID 0x2803).
[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x000d
Raksturīgā vērtība/deskriptors: 10 0e 00 37 2a [EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x0010 Raksturīgā vērtība/deskriptors: 02 11 00 38 2a [EE: 52: 5B: 04:00:02] [LE]> char-read-hnd 0x0012 Raksturīgā vērtība/deskriptors: 08 13 00 39 2a
Ievērojiet, ka:
- rokturis 0x000d ir CCCD pakalpojumam 2a37 (sirdsdarbības mērīšana) ar 10. bitu (atbalsts NOTIFY)
- rokturis 0x0010 ir CCCD pakalpojumam 2a38 (ķermeņa sensora atrašanās vieta) ar bitu 02 (atbalsts LASĪT)
- rokturis 0x0012 ir CCCD pakalpojumam 2a39 (sirdsdarbības kontroles punkts) ar bitu 08 (atbalsts WRITE)
Tagad mēs zinām, ka sirdsdarbības mērīšana darbojas tikai ar paziņojumu. Tas nozīmē, ka vispirms mums jāreģistrējas vērtību izmaiņām tās CCCD (UUID 0x2902), kas šajā gadījumā ir rokturis 0xf
[EE: 52: 5B: 04: 00: 02] [LE]> char-write-req 0x00f 0100
Paziņojumu rokturis = 0x000e vērtība: 16 65 f3 01 Raksturlieluma vērtība ir veiksmīgi uzrakstīta Paziņojumu rokturis = 0x000e vērtība: 16 6d fa 01 Paziņojumu rokturis = 0x000e vērtība: 16 6d fa 01 Paziņojumu rokturis = 0x000e vērtība: 16 6c f9 01 Paziņojumu rokturis = 0x000e vērtība: 16 6a f7 01 Paziņojuma rokturis = 0x000e vērtība: 16 69 f6 01
Saskaņā ar profila specifikāciju otrais heksadecimālais skaitlis ir BPM informācija.
BPM:
6d = 109
6d = 109
6c = 108
6a = 106
69 = 105
6. darbība: ķermeņa sensora atrašanās vietas nolasīšana
Ķermeņa sensora atrašanās vieta ir UUID 0x2A38. Saskaņā ar tā deskriptoru šī īpašība atbalsta pamata lasīšanu, tāpēc mēs varam nolasīt tās vērtību tieši.
[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x11Raksturīgā vērtība/deskriptors: 03
Saskaņā ar SIG specifikāciju 03 nozīmē "pirksts"
Ieteicams:
SONOFF dubultā apmācība: kontrolējiet savas elektriskās ierīces attālināti, izmantojot MQTT un Ubidots: 4 soļi
SONOFF dubultā apmācība: kontrolējiet savas elektriskās ierīces attālināti, izmantojot MQTT un Ubidots: Šis 9 USD Wi-Fi relejs var vienlaikus kontrolēt divas ierīces. Uzziniet, kā to savienot ar Ubidots un atraisīt visu tā potenciālu! Šajā rokasgrāmatā jūs uzzināsit, kā kontrolēt pāris 110 V ierīces, izmantojot Wi-Fi, par 9 ASV dolāriem, izmantojot Itead SONOFF Dual
Redbear BLE Nano V2 pielāgotas vadības ierīces ar PfodApp - kodēšana nav nepieciešama: 6 soļi
Redbear BLE Nano V2 pielāgotas vadības ierīces ar PfodApp - kodēšana nav nepieciešama: Atjauninājums: 2017. gada 15. septembris - šī pamācība ir atjaunināta, lai izmantotu jaunāko RedBear BLE Nano, V2 versiju. Iepriekšējā šīs pamācības versija, kuras mērķauditorija bija RedBear BLE Nano V1.5, ir pieejama šeit. Atjaunināt 15. novembri - 2017 Tātad
Ultraskaņas sensora (HC-SR04) datu nolasīšana 128 × 128 LCD ekrānā un to vizualizēšana, izmantojot Matplotlib: 8 soļi
Ultraskaņas sensora (HC-SR04) datu lasīšana 128 × 128 LCD displejā un to vizualizēšana, izmantojot Matplotlib: šajā pamācībā mēs izmantosim MSP432 LaunchPad + BoosterPack, lai parādītu ultraskaņas sensora (HC-SR04) datus 128 × 128 LCD un sērijveidā nosūtiet datus uz datoru un vizualizējiet tos, izmantojot Matplotlib
Temperatūras nolasīšana, izmantojot LM35 temperatūras sensoru ar Arduino Uno: 4 soļi
Temperatūras lasīšana, izmantojot LM35 temperatūras sensoru ar Arduino Uno: Sveiki, puiši, šajā pamācībā mēs iemācīsimies izmantot LM35 kopā ar Arduino. Lm35 ir temperatūras sensors, kas var nolasīt temperatūras vērtības no -55 ° C līdz 150 ° C. Tā ir 3 termināļu ierīce, kas nodrošina analogo spriegumu, kas ir proporcionāls temperatūrai. Augstākā
Mājas automatizācija: skaņas signāls un displejs LCD ekrānā, kad temperatūra pārsniedz sliekšņa vērtību: 5 soļi
Mājas automatizācija: skaņas signāls un displejs LCD ekrānā, kad temperatūra ir virs sliekšņa vērtības: Šis emuārs parādīs, kā izveidot mājas automatizācijas sistēmu, kas sāks trauksmi, kad temperatūra sasniegs vairāk par ieprogrammēto sliekšņa vērtību. Tas LCD ekrānā pastāvīgi parādīs pašreizējo telpas temperatūru un nepieciešamās darbības