Daftar Isi:
- Langkah 1: Pindai Perangkat BLE
- Langkah 2: Menghubungkan Perangkat
- Langkah 3: Mengambil Karakteristik Perangkat
- Langkah 4: Membaca Nama Perangkat
- Langkah 5: Membaca BPM
- Langkah 6: Membaca Lokasi Sensor Tubuh
Video: Membaca Nilai Dari Perangkat BLE Menggunakan CSR1010 dan Dragonboard 410c: 6 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Tutorial ini menunjukkan cara membaca nilai dari perangkat BLE CSR1010 menggunakan Dragonboard 410c dengan Linaro
Dalam contoh ini, CSR1010 meniru sensor detak jantung.
Langkah 1: Pindai Perangkat BLE
Pada langkah ini, periksa apakah klien BT Anda siap untuk memindai perangkat BLE.
root@linaro-alip:/home/linaro# sudo hcitool lescan
LE Scan …18:EE:69:00:CE:00 (tidak diketahui) 18:EE:69:00:CE:00 (tidak diketahui) EE:52:5B:04:00:02 Sensor HR CSR
Langkah 2: Menghubungkan Perangkat
Kami akan menggunakan gatttool untuk menghubungkan perangkat kami
-b: Alamat MAC perangkat
-t: tipe alamat LE. Bisa publik atau acak, perlu memeriksa spesifikasi perangkat. Dalam hal ini bersifat publik.
-I: mode interaktif gatttool. Ini akan membuka prompt untuk mengirim cmd ke perangkat
root@linaro-alip:/home/linaro# sudo gatttool -b EE:52:5B:04:00:02 -t public -I
Setelah prompt terbuka, kami dapat mengirim connect cmd ke perangkat.
[EE:52:5B:04:00:02][LE]> connectMencoba menyambungkan ke EE:52:5B:04:00:02
Koneksi berhasil
[EE:52:5B:04:00:02][LE]>
Langkah 3: Mengambil Karakteristik Perangkat
Setelah perangkat terhubung, kita dapat membaca semua layanan yang tersedia dengan mengirimkan cmd "primer"
Berdasarkan UUID layanan, kita dapat menemukan jenis layanan dalam spesifikasi GATT
www.bluetooth.com/specifications/gatt/services
Langkah 4: Membaca Nama Perangkat
Mari kita jelajahi karakteristik yang dibaca di Generic Access Profile (uuid=1800). Pertama kita perlu mendapatkan nilai service handle, seperti yang dijelaskan pada gambar pertama, dalam hal ini, mulai dari 5 sampai 11. Sekarang kita dapat mengambil semua handle dalam interval ini dengan menggunakan cmd char-desc
[EE:52:5B:04:00:02][LE]> char-desc 05 11handle: 0x0005, uuid: 00002800-0000-1000-8000-00805f9b34fb handle: 0x0006, uuid: 00002803-0000-1000-8000- 00805f9b34fb pegangan: 0x0007, uuid: 00002a00-0000-1000-8000-00805f9b34fb pegangan: 0x0008, uuid: 00002803-0000-1000-8000-00805f9b34fb pegangan: 0x0009, uuid: 00002a01-0000-0000-1000-8000-0 uuid: 00002803-0000-1000-8000-00805f9b34fb pegangan: 0x000b, uuid: 00002a04-0000-1000-8000-00805f9b34fb pegangan: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb pegangan: 0x000d, uuid: -1000-8000-00805f9b34fb pegangan: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb pegangan: 0x000f, uuid: 00002902-0000-1000-80000-00805f9b34fb pegangan: 0x0010, uuid: 00002803-0000-1000-8000--0000-1000-8000 00805f9b34fb pegangan: 0x0011, uuid: 00002a38-0000-1000-8000-00805f9b34fb
Menurut spesifikasi Profil Akses Umum, UUID 2A00 mengacu pada Nama Perangkat.
Mengingat 2a00 adalah pegangan 0x0007 di perangkat kita, mari baca nilainya
[EE:52:5B:04:00:02][LE]> char-read-hnd 7Nilai karakteristik/deskriptor: 43 53 52 20 48 52 20 53 65 6e 73 6f 72
Mengubah hex ke ASCII, nama perangkatnya adalah: ''CSR HR Sensor"
Langkah 5: Membaca BPM
[EE:52:5B:04:00:02][LE]> pegangan attr utama: 0x0001, pegangan grp akhir: 0x0004 uuid: 00001801-0000-1000-8000-00805f9b34fb pegangan attr: 0x0005, pegangan akhir grp: 0x000b uuid: 00001800-0000-1000-8000-00805f9b34fb attr handle: 0x000c, end grp handle: 0x0013 uuid: 0000180d-0000-1000-8000-00805f9b34fb attr handle: 0x0014, end grp handle: 0x0017 uuid: 0000180f-0000-1000-8000- 00805f9b34fb attr handle: 0x0018, end grp handle: 0x0021 uuid: 00001016-d102-11e1-9b23-00025b00a5a5 attr handle: 0x0022, end grp handle: 0xffff uuid: 0000180a-0000-1000-8000-00805f9b34fb
UUID layanan Denyut Jantung adalah 0x180d, jadi interval penanganannya adalah dari 0x000c hingga 0x0013
[EE:52:5B:04:00:02][LE]> char-desc 0x00c 0x0013
pegangan: 0x000c, uuid: 00002800-0000-1000-8000-00805f9b34fb pegangan: 0x000d, uuid: 00002803-0000-1000-8000-00805f9b34fb pegangan: 0x000e, uuid: 00002a37-0000-1000-8000-00805f9b34fb, pegangan: 0uid000fb: 00002902-0000-1000-8000-00805f9b34fb pegangan: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb pegangan: 0x0011, uuid: 00002a38-0000-1000-80000-00805f9b34fb pegangan: 0x0012, uuid: 00002803 1000-8000-00805f9b34fb pegangan: 0x0013, uuid: 00002a39-0000-1000-8000-00805f9b34fb
Membaca semua Deklarasi Karakteristik (UUID 0x2803).
[EE:52:5B:04:00:02][LE]> char-read-hnd 0x000d
Nilai/deskriptor karakteristik: 10 0e 00 37 2a [EE:52:5B:04:00:02][LE]> char-read-hnd 0x0010 Nilai karakteristik/deskriptor: 02 11 00 38 2a [EE:52:5B: 04:00:02][LE]> char-read-hnd 0x0012 Nilai karakteristik/deskriptor: 08 13 00 39 2a
Perhatikan itu:
- menangani 0x000d adalah CCCD untuk layanan 2a37 (Pengukuran Detak Jantung) dengan bit 10 (dukungan NOTIFY)
- handle 0x0010 adalah CCCD untuk layanan 2a38 (Lokasi Sensor Tubuh) dengan bit 02 (dukungan READ)
- handle 0x0012 adalah CCCD untuk service 2a39 (Heart Rate Control Point) dengan bit 08 (support WRITE)
Sekarang kita tahu bahwa Pengukuran Detak Jantung hanya berfungsi dengan pemberitahuan. Artinya kita harus register dulu untuk perubahan nilai di CCCD-nya (UUID 0x2902), yang dalam hal ini adalah handle 0xf
[EE:52:5B:04:00:02][LE]> char-write-req 0x00f 0100
Gagang notifikasi = nilai 0x000e: 16 65 f3 01 Nilai karakteristik berhasil ditulis Gagang notifikasi = nilai 0x000e: 16 6d fa 01 Gagang notifikasi = 0x000e nilai: 16 6d fa 01 Gagang notifikasi = nilai 0x000e: 16 6c f9 01 Gagang notifikasi = nilai 0x000e: 16 6a f7 01 Gagang notifikasi = 0x000e nilai: 16 69 f6 01
Menurut spesifikasi profil, nomor hex kedua adalah informasi BPM.
BPM:
6d = 109
6d = 109
6c = 108
6a = 106
69 = 105
Langkah 6: Membaca Lokasi Sensor Tubuh
Lokasi Sensor Tubuh adalah UUID 0x2A38. Menurut deskriptornya, karakteristik ini mendukung pembacaan dasar, sehingga kita dapat membaca nilainya secara langsung.
[EE:52:5B:04:00:02][LE]> char-read-hnd 0x11Nilai karakteristik/deskriptor: 03
Menurut spesifikasi SIG, 03 berarti "Jari"
Direkomendasikan:
Cara Membaca Beberapa Nilai Analog Menggunakan Satu Pin Analog: 6 Langkah (dengan Gambar)
Cara Membaca Beberapa Nilai Analog Menggunakan Satu Pin Analog: Dalam tutorial ini, saya akan menunjukkan cara membaca beberapa nilai analog hanya dengan menggunakan satu pin input analog
Cara Mengunduh Perangkat Lunak Gratis Sebagai Mahasiswa ISU (Microsoft, Adobe, dan Perangkat Lunak Keamanan: 24 Langkah
Cara Mengunduh Perangkat Lunak Gratis Sebagai Pelajar ISU (Microsoft, Adobe, dan Perangkat Lunak Keamanan: Untuk Adobe: lanjutkan ke langkah 1.Untuk Microsoft: lanjutkan ke langkah 8.Untuk Keamanan: lanjutkan ke langkah 12.Untuk Azure: lanjutkan ke langkah 16
Arduino Memulai Dengan Perangkat Keras dan Perangkat Lunak & Tutorial Arduino: 11 Langkah
Arduino Memulai Dengan Perangkat Keras dan Perangkat Lunak & Tutorial Arduino: Saat ini, Pembuat, Pengembang lebih memilih Arduino untuk pengembangan prototipe proyek yang cepat. Arduino adalah platform elektronik sumber terbuka berdasarkan perangkat keras dan perangkat lunak yang mudah digunakan. Arduino memiliki komunitas pengguna yang sangat baik. Papan Arduino d
Membaca Data Sensor Ultrasonik (HC-SR04) pada LCD 128×128 dan Memvisualisasikannya Menggunakan Matplotlib: 8 Langkah
Membaca Data Sensor Ultrasonik (HC-SR04) pada LCD 128×128 dan Memvisualisasikannya Menggunakan Matplotlib: Dalam instruksi ini, kita akan menggunakan MSP432 LaunchPad + BoosterPack untuk menampilkan data sensor ultrasonik (HC-SR04) pada 128×128 LCD dan kirim data ke PC secara serial dan visualisasikan menggunakan Matplotlib
Fotografi Panorama Dengan Perangkat Lunak Gratis dan Perangkat Keras Murah: 6 Langkah
Fotografi Panorama Dengan Perangkat Lunak Gratis dan Perangkat Keras Murah: Foto panorama digunakan untuk membuat gambar pemandangan yang terlalu besar untuk dimasukkan ke dalam lensa kamera normal atau bahkan terlalu besar untuk dilihat mata manusia sekaligus. Panorama yang paling terkenal adalah bidikan lanskap luar ruang dari fitur geologis atau langit kota