Pembangunan BLE: Apakah GATT dan bagaimana ia berfungsi?

Jadual Kandungan

Konsep GATT

Untuk menjalankan pembangunan berkaitan BLE, kita mesti mempunyai pengetahuan asas tertentu, sudah tentu, ia mesti sangat mudah.

GATT Peranan peranti:

Perkara pertama yang perlu difahami ialah perbezaan antara kedua-dua peranan ini adalah pada tahap perkakasan, dan ia adalah konsep relatif yang muncul secara berpasangan:

"Peranti pusat": agak berkuasa, digunakan untuk mengimbas dan menyambungkan peranti persisian, seperti telefon mudah alih, tablet, dsb.

"Peranti persisian": fungsinya agak mudah, penggunaan kuasa kecil, dan peranti pusat disambungkan untuk menyediakan data, seperti gelang tangan, termometer pintar, dsb.

Malah, pada tahap yang paling asas, ia harus menjadi perbezaan antara peranan yang berbeza dalam proses mewujudkan sambungan. Kami tahu bahawa jika peranti Bluetooth ingin memberitahu orang lain kewujudannya, ia perlu terus disiarkan ke dunia luar, manakala pihak lain perlu mengimbas dan membalas paket siaran, supaya sambungan dapat diwujudkan. Dalam proses ini, orang yang bertanggungjawab untuk penyiaran ialah Periferal , dan Pusat bertanggungjawab untuk mengimbas.

Nota tentang proses sambungan antara keduanya:

Peranti pusat boleh menyambung kepada berbilang peranti persisian pada masa yang sama. Setelah peranti persisian disambungkan, ia akan berhenti penyiaran serta-merta dan meneruskan penyiaran selepas diputuskan sambungan. Hanya satu peranti boleh cuba menyambung pada bila-bila masa, beratur sambungan.

GATT protokol

Teknologi BLE berkomunikasi berdasarkan GATT. GATT ialah protokol penghantaran atribut. Ia boleh dianggap sebagai protokol lapisan aplikasi untuk penghantaran atribut.

Strukturnya sangat mudah:   

Anda boleh memahaminya sebagai xml:

Setiap GATT terdiri daripada Perkhidmatan yang melaksanakan fungsi yang berbeza;

Setiap Perkhidmatan terdiri daripada Ciri yang berbeza;

Setiap Ciri terdiri daripada nilai dan satu atau lebih Deskriptor;

Perkhidmatan dan Ciri adalah bersamaan dengan teg (Perkhidmatan bersamaan dengan kategorinya, dan Ciri bersamaan dengan namanya), manakala nilai sebenarnya mengandungi data, dan Deskriptor ialah penjelasan dan perihalan nilai ini. Sudah tentu, kita boleh menggambarkan dan menggambarkannya dari sudut yang berbeza. Penerangan, jadi boleh terdapat berbilang Deskriptor.

Contohnya: Xiaomi Mi Band biasa ialah peranti BLE, (diandaikan) ia mengandungi tiga Perkhidmatan, iaitu Perkhidmatan yang menyediakan maklumat peranti, Perkhidmatan yang menyediakan langkah dan Perkhidmatan yang mengesan kadar denyutan jantung;

Ciri yang terkandung dalam perkhidmatan maklumat peranti termasuk maklumat pengilang, maklumat perkakasan, maklumat versi, dsb.; Perkhidmatan kadar denyutan jantung termasuk ciri kadar denyutan jantung, dsb., dan nilai dalam ciri kadar denyutan jantung sebenarnya mengandungi data kadar denyutan jantung, dan deskriptor ialah nilainya. Perihalan, seperti unit nilai, perihalan, kebenaran, dsb.

GATT C/S

Dengan pemahaman awal tentang GATT, kami tahu bahawa GATT ialah mod C/S biasa. Memandangkan ia adalah C/S, adalah perlu bagi kita untuk membezakan antara Pelayan dan pelanggan.

"Pelayan GATT" lwn. "Pelanggan GATT". Peringkat di mana kedua-dua peranan ini wujud adalah selepas sambungan diwujudkan, dan ia dibezakan mengikut status dialog. Adalah mudah untuk memahami bahawa pihak yang memegang data dipanggil pelayan GATT, dan pihak yang mengakses data dipanggil pelanggan GATT.

Ini adalah konsep pada tahap yang berbeza daripada peranan peranti yang kami nyatakan sebelum ini, dan adalah perlu untuk membezakannya. Mari kita gunakan contoh mudah untuk menggambarkan:

Ambil contoh telefon bimbit dan jam tangan untuk menggambarkan. Sebelum sambungan antara telefon mudah alih dan telefon bimbit diwujudkan, kami menggunakan fungsi carian Bluetooth telefon mudah alih untuk mencari peranti Bluetooth jam tangan. Semasa proses ini, adalah jelas bahawa jam tangan itu menyiarkan BLE supaya peranti lain mengetahui kewujudannya. , ia adalah peranan persisian dalam proses ini, dan telefon bimbit bertanggungjawab untuk tugas pengimbasan, dan secara semula jadi memainkan peranan Pusat; selepas kedua-duanya mewujudkan sambungan GATT, apabila telefon bimbit perlu membaca data sensor seperti bilangan langkah dari jam tangan, kedua-dua Data interaktif disimpan dalam jam tangan, jadi pada masa ini jam tangan adalah peranan GATT. pelayan, dan telefon mudah alih secara semula jadi adalah pelanggan GATT; dan apabila jam tangan ingin membaca panggilan SMS dan maklumat lain dari telefon bimbit, penjaga data menjadi Telefon bimbit, jadi telefon bimbit adalah pelayan pada masa ini, dan jam tangan adalah pelanggan.

Perkhidmatan/Ciri

Kami telah pun mempunyai pemahaman persepsi tentang mereka di atas, dan kemudian kami mempunyai beberapa maklumat praktikal:

  1. Ciri ialah unit logik data terkecil.
  2. Analisis data yang disimpan dalam nilai dan deskriptor ditentukan oleh jurutera Pelayan, tidak ada spesifikasi.
  3. Perkhidmatan/Karakteristik mempunyai pengenalan UUID yang unik, UUID mempunyai kedua-dua 16-bit dan 128-bit, apa yang perlu kita fahami ialah UUID 16-bit diperakui oleh organisasi Bluetooth dan perlu dibeli, sudah tentu terdapat beberapa perkara biasa satu UUID 16-bit. Contohnya, UUID perkhidmatan Kadar Jantung ialah 0X180D, yang dinyatakan sebagai 0X00001800-0000-1000-8000-00805f9b34fb dalam kod dan bit lain ditetapkan. UUID 128-bit boleh disesuaikan.
  4. Sambungan GATT adalah eksklusif.

Tatal ke