INHOUDSOPGAWE:
- Stap 1: Scan BLE -toestel
- Stap 2: Koppel toestel
- Stap 3: Herstel van toestelkenmerke
- Stap 4: Lees toestelnaam
- Stap 5: Lees die BPM
- Stap 6: Lees die ligging van die liggaamssensor
Video: Lees waardes vanaf 'n BLE -toestel met CSR1010 en Dragonboard 410c: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Hierdie handleiding wys hoe u waardes van BLE -toestel CSR1010 kan lees met Dragonboard 410c met Linaro
In hierdie voorbeeld navolg CSR1010 'n hartklopsensor.
Stap 1: Scan BLE -toestel
Kyk in hierdie stap of u BT -kliënt gereed is om BLE -toestelle te skandeer.
root@linaro-alip:/home/linaro# sudo hcitool lescan
LE Scan … 18: EE: 69: 00: CE: 00 (onbekend) 18: EE: 69: 00: CE: 00 (onbekend) EE: 52: 5B: 04: 00: 02 CSR HR Sensor
Stap 2: Koppel toestel
Ons gebruik gatttool om ons toestel aan te sluit
-b: MAC -adres van die toestel
-t: LE -adres tipe. Kan publiek of ewekansig wees, moet die toestelspesifikasie nagaan. In hierdie geval is dit publiek.
-I: interaktiewe modus vir gatttool. Dit sal 'n boodskap oopmaak om cmds na die toestel te stuur
root@linaro -alip:/home/linaro# sudo gatttool -b EE: 52: 5B: 04: 00: 02 -t openbaar -I
Sodra die opdrag oop is, kan ons die verbinding cmd na die toestel stuur.
[EE: 52: 5B: 04: 00: 02] [LE]> connectPoging om aan te sluit by EE: 52: 5B: 04: 00: 02
Verbinding suksesvol
[EE: 52: 5B: 04: 00: 02] [LE]>
Stap 3: Herstel van toestelkenmerke
Sodra die toestel gekoppel is, kan ons al die beskikbare dienste lees deur die cmd "primêr" te stuur
Op grond van die UUID -diens, kan ons die tipe diens ontdek in die GATT -spesifikasie
www.bluetooth.com/specifications/gatt/services
Stap 4: Lees toestelnaam
Kom ons ondersoek die kenmerke wat op Generic Access Profile (uuid = 1800) gelees word. Eerstens moet ons die waardes van die dienshandvatsel kry, soos beskryf op die eerste foto, in hierdie geval, vanaf 5 tot 11. Nou kan ons alle handvatsels in hierdie interval ophaal deur die cmd char-desc te gebruik
[EE: 52: 5B: 04: 00: 02] [LE]> char-desc 05 11handvatsel: 0x0005, uuid: 00002800-0000-1000-8000-00805f9b34fb handvatsel: 0x0006, uuid: 00002803-0000-1000-8000- 00805f9b34fb handvatsel: 0x0007, uuid: 00002a00-0000-1000-8000-00805f9b34fb handvatsel: 0x0008, uuid: 00002803-0000-1000-8000-00805f9b34fb handvatsel: 0x0009, uuid: 00002a01-0000-10008000 uuid: 00002803-0000-1000-8000-00805f9b34fb handvatsel: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fb handvatsel: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb handvatsel: 0x000 -1000-8000-00805f9b34fb handvatsel: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb handvatsel: 0x000f, uuid: 00002902-0000-1000-8000-00805f9b34fb handvatsel: 0x0010, uuid: 00002803 00805f9b34fb handvatsel: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb
Volgens die spesifikasie van die generiese toegangsprofiel verwys die UUID 2A00 na toestelnaam.
Aangesien die 2a00 die handvatsel 0x0007 in ons toestel is, laat ons die waarde lees
[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 7 Kenmerkende waarde/beskrywing: 43 53 52 20 48 52 20 53 65 6e 73 6f 72
Deur die hex in ASCII om te skakel, is die toestelnaam: '' CSR HR Sensor '
Stap 5: Lees die BPM
[EE: 52: 5B: 04: 00: 02] [LE]> primêre aanslag handvatsel: 0x0001, einde grp handvatsel: 0x0004 uuid: 00001801-0000-1000-8000-00805f9b34fb attr handvatsel: 0x0005, einde grp handvatsel: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb attr handvatsel: 0x000c, einde grp handvatsel: 0x0013 uuid: 0000180d-0000-1000-8000-00805f9b34fb attr handvatsel: 0x0014, einde grp handvatsel: 0x0017 uuid: 0000180f-00000 00805f9b34fb attr handvatsel: 0x0018, einde grp handvatsel: 0x0021 uuid: 00001016-d102-11e1-9b23-00025b00a5a5 attr handvatsel: 0x0022, einde grp handvatsel: 0xffff uuid: 0000180a-0000-1000-8000-00805f9
Die hartklopdiens UUID is 0x180d, so die interval van die handvatsel is van 0x000c tot 0x0013
[EE: 52: 5B: 04: 00: 02] [LE]> char-desc 0x00c 0x0013
handvatsel: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb handvatsel: 0x000d, uuid: 00002803-0000-1000-8000-00805f9b34fb handvatsel: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34f: 00002902-0000-1000-8000-00805f9b34fb handvatsel: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb handvatsel: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb handvatsel: 0x0012, uuid 1000-8000-00805f9b34fb handvatsel: 0x0013, uuid: 00002a39-0000-1000-8000-00805f9b34fb
Lees al die kenmerkende verklarings (UUID 0x2803).
[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x000d
Kenmerkende waarde/beskrywing: 10 0e 00 37 2a [EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x0010 Kenmerkende waarde/beskrywing: 02 11 00 38 2a [EE: 52: 5B: 04:00:02] [LE]> char-read-hnd 0x0012 Kenmerkende waarde/beskrywing: 08 13 00 39 2a
Neem waar dat:
- handvatsel 0x000d is die CCCD vir diens 2a37 (hartklopmeting) met bit 10 (ondersteun KENNISGEWING)
- handvatsel 0x0010 is die CCCD vir diens 2a38 (Ligging sensor sensor) met bit 02 (ondersteuning LEES)
- handvatsel 0x0012 is die CCCD vir diens 2a39 (hartklopbeheerpunt) met bit 08 (ondersteuning SKRYF)
Nou weet ons dat die hartslagmeting slegs met kennisgewing werk. Dit beteken dat ons eers moet registreer vir waardeveranderinge in die CCCD (UUID 0x2902), wat in hierdie geval met die handvatsel 0xf
[EE: 52: 5B: 04: 00: 02] [LE]> char-write-req 0x00f 0100
Kennisgewingshandvatsel = 0x000e waarde: 16 65 f3 01 Kenmerkende waarde is suksesvol geskryf Kennisgewingshandvatsel = 0x000e waarde: 16 6d fa 01 Kennisgewingshandvatsel = 0x000e waarde: 16 6d fa 01 Kennisgewingshandvatsel = 0x000e waarde: 16 6c f9 01 Kennisgewingshandvatsel = 0x000e waarde: 16 6a f7 01 Kennisgewingshandvatsel = 0x000e waarde: 16 69 f6 01
Volgens die profielspesifikasie is die tweede heksgetal die BPM -inligting.
BPM:
6d = 109
6d = 109
6c = 108
6a = 106
69 = 105
Stap 6: Lees die ligging van die liggaamssensor
Liggaamsensor -ligging is die UUID 0x2A38. Volgens die beskrywing daarvan ondersteun hierdie eienskap basiese lees, sodat ons die waarde daarvan direk kan lees.
[EE: 52: 5B: 04: 00: 02] [LE]> char-read-hnd 0x11 Kenmerkende waarde/beskrywing: 03
Volgens die SIG -spesifikasie beteken 03 "Vinger"
Aanbeveel:
Hoe om verskeie analoge waardes te lees met een analoog pen: 6 stappe (met foto's)
Hoe om veelvuldige analoogwaardes met een analoog pen te lees: in hierdie tutoriaal gaan ek u wys hoe om verskeie analoogwaardes te lees met slegs een analoog invoerpen
7-segment om ADC #Arduino-waardes te vertoon, #Arduino: 4 stappe
7-segment om ADC #Arduino-waardes te vertoon, #Arduino: In hierdie artikel maak ek 'n projek wat nog steeds verband hou met die vorige artikel. Dit is naamlik om ADC -data te verwerk, sodat u nie 'n seriële monitor nodig het om die waarde van die ADC -data te sien nie. in hierdie artikel sal ek 'n ADC Value viewer vertoon. so jy doen nie
Lees ADC -waardes van potensiometers: 4 stappe
Lees ADC -waardes van potensiometers: In hierdie artikel sal ek u wys hoe u ADC -waardes vanaf 'n potensiometer kan lees. Dit is die basis van Arduino -programmering. wat analoog waardes lees met behulp van die analoog pen wat deur Arduino verskaf word. behalwe die potensio, is daar verskeie sensors wat
Lees en skryf vanaf die seriële poort met Framboos Pi met behulp van Wemos: 5 stappe
Lees en skryf vanaf die seriële poort met Raspberry Pi met behulp van Wemos: Kommunikeer met 'n Raspberry Pi met 'n Wemos D1 mini R2
Stoor en herstel vooraf ingestelde waardes met NFC (TfCD): 4 stappe
Stoor en herstel vooraf ingestelde waardes met NFC (TfCD): Ons wil toets hoe dit werk om 'n sekere waarde of instelling aan te pas en later hierdie instelling te herroep. Vir hierdie eksperiment het ons 'n NFC -tag gebruik om die waarde daarop te lees en dan te stoor. Later kan die merker weer geskandeer word en die waarde teruggestuur word om 'n seremonie te herstel