Pengembangan ble: Apa itu Gatt dan bagaimana cara kerjanya?
Konsep Gatt
To carry out Ble-related development, Kita harus memiliki pengetahuan dasar tertentu, Tentu saja, itu pasti sangat sederhana.
GATT Peran Perangkat :
Hal pertama yang harus dipahami adalah bahwa perbedaan antara kedua peran ini adalah di tingkat perangkat keras, dan mereka adalah konsep relatif yang muncul berpasangan:
“Perangkat pusat”: relatif kuat, digunakan untuk memindai dan menghubungkan perangkat periferal, seperti ponsel, tablet, dll..
“Perangkat periferal”: Fungsinya relatif sederhana, Konsumsi daya kecil, dan perangkat pusat terhubung untuk menyediakan data, seperti gelang, Termometer pintar, dll..
nyatanya, di tingkat yang paling mendasar, itu harus menjadi perbedaan antara peran yang berbeda dalam proses membangun koneksi. We know that if a Bluetooth device wants to let others know its existence, itu perlu terus disiarkan ke dunia luar, Sementara pihak lain perlu memindai dan membalas paket siaran, sehingga koneksi dapat dibuat. Dalam proses ini, Orang yang bertanggung jawab untuk penyiaran adalah perifer , dan Central bertanggung jawab atas pemindaian.
Perhatikan tentang proses koneksi antara keduanya:
Perangkat pusat dapat terhubung ke beberapa perangkat periferal secara bersamaan., itu akan segera berhenti menyiarkan, dan lanjutkan penyiaran setelah pemutusan. Hanya satu perangkat yang dapat mencoba terhubung kapan saja, Koneksi antrian.
GATT protokol
Ble technology communicates based on GATT. GATT is an attribute transmission protocol. Ini dapat dianggap sebagai protokol lapisan aplikasi untuk transmisi atribut.
Strukturnya sangat sederhana:

Anda dapat memahaminya sebagai XML:
Each GATT is composed of Services that perform different functions;
Setiap layanan terdiri dari karakteristik yang berbeda;
Setiap karakteristik terdiri dari nilai dan satu atau lebih deskriptor;
Layanan dan karakteristik setara dengan tag (Layanan setara dengan kategorinya, dan karakteristik setara dengan namanya), sedangkan nilai sebenarnya berisi data, dan deskriptor adalah penjelasan dan deskripsi nilai ini. Tentu saja, kita dapat menggambarkan dan menggambarkannya dari sudut yang berbeda. Keterangan, Jadi bisa ada beberapa deskriptor.
Misalnya:The common Xiaomi Mi Band is a Ble perangkat, (diasumsikan) itu berisi tiga layanan, yang merupakan layanan yang menyediakan informasi perangkat, Layanan yang memberikan langkah, dan layanan yang mendeteksi detak jantung;
Karakteristik yang terkandung dalam layanan informasi perangkat mencakup informasi produsen, informasi perangkat keras, informasi versi, dll.; Layanan detak jantung mencakup karakteristik detak jantung, dll., dan nilai dalam karakteristik detak jantung sebenarnya berisi data detak jantung, dan deskriptor adalah nilainya. Keterangan, seperti unit nilai, keterangan, izin, dll..
GATT C/S.
Dengan pemahaman awal tentang GATT, Kita tahu bahwa GATT adalah mode C/S yang khas. Karena C/S, Penting bagi kami untuk membedakan antara server dan klien.
“Server Gatt” vs.. “Klien GATT”. Tahap di mana kedua peran ini ada setelah koneksi dibuat, dan mereka dibedakan sesuai dengan status dialog. Mudah untuk dipahami bahwa pihak yang memegang data disebut server GATT, Dan pihak yang mengakses data disebut klien GATT.
Ini adalah konsep pada tingkat yang berbeda dari peran perangkat yang kami sebutkan sebelumnya, dan perlu membedakannya. Mari kita gunakan contoh sederhana untuk diilustrasikan:
Ambil contoh ponsel dan arloji untuk diilustrasikan. Sebelum koneksi antara ponsel dan ponsel dibuat, we use the Bluetooth search function of the mobile phone to search for the Bluetooth device of the watch. Selama proses ini, Jelas bahwa jam tangan ini disiarkan sehingga perangkat lain mengetahui keberadaannya. , Ini adalah peran periferal dalam proses ini, dan ponsel bertanggung jawab atas tugas pemindaian, dan secara alami memainkan peran pusat; Setelah keduanya membuat koneksi GATT, Saat ponsel perlu membaca data sensor seperti jumlah langkah dari jam tangan, Dua data interaktif disimpan di jam tangan, Jadi saat ini jam tangan adalah peran server GATT, dan ponsel secara alami adalah klien GATT; Dan saat jam tangan ingin membaca panggilan SMS dan informasi lainnya dari ponsel, Penjaga data menjadi ponsel, Jadi ponsel adalah server saat ini, dan arloji adalah klien.
Layanan/Karakteristik
Kami telah memiliki pemahaman persepsi tentang mereka di atas, Dan kemudian kami memiliki beberapa informasi praktis:
- Karakteristik adalah unit data logis terkecil.
- Analisis data yang disimpan dalam nilai dan deskriptor ditentukan oleh insinyur server, tidak ada spesifikasi.
- Layanan/Karakteristik memiliki identifikasi UUID yang unik, UUID memiliki 16-bit dan 128-bit, Yang perlu kita pahami adalah bahwa UUID 16-bit disertifikasi oleh organisasi Bluetooth dan perlu dibeli, Tentu saja ada beberapa yang umum 16-bit uuid. Misalnya, UUID dari layanan detak jantung adalah 0x180d, yang dinyatakan sebagai 0x00001800-0000-1000-8000-00805F9B34FB dalam kode, dan bit lainnya diperbaiki. UUID 128-bit dapat disesuaikan.
- Koneksi GATT eksklusif.