Gatt kavramı

BLE ile ilgili gelişimi gerçekleştirmek için, Bazı temel bilgilere sahip olmalıyız, Elbette, çok basit olmalı.

Gatt Cihaz Rolü :

Anlamanız gereken ilk şey, bu iki rol arasındaki ayrımın donanım seviyesinde olmasıdır., Ve bunlar çiftler halinde görünen göreceli kavramlardır:

“Merkezi cihaz”: nispeten güçlü, Çevresel cihazları taramak ve bağlamak için kullanılır, cep telefonları gibi, tabletler, vesaire.

“Çevresel cihaz”: işlev nispeten basit, Güç tüketimi küçük, ve merkezi cihaz veri sağlamak için bağlanmıştır, bileklikler gibi, Akıllı termometreler, vesaire.

Aslında, En temel düzeyde, Bir bağlantı kurma sürecinde farklı roller arasında bir ayrım olmalı. Bir Bluetooth cihazı başkalarının varlığını bildirmek istiyorsa, Dış dünyaya sürekli yayınlanması gerekiyor, Diğer tarafın yayın paketini taraması ve yanıtlaması gerekir, böylece bağlantı kurulabilir. Bu süreçte, Yayın yapmaktan sorumlu kişi çevreseldir , ve Merkez taramadan sorumludur.

İkisi arasındaki bağlantı süreci hakkında not:

Merkezi cihaz aynı anda birden çok çevre cihazına bağlanabilir. Çevresel cihaz bağlandıktan sonra, Hemen yayın yapmayı durduracak, ve bağlantıyı kestikten sonra yayınlamaya devam edin. Bir cihaz istediğiniz zaman bağlanmaya çalışabilir, Kuyruk Bağlantıları.

Gatt protokol

BLE Technology Gatt'a göre iletişim kurar. Gatt bir öznitelik iletim protokolüdür. Özellik iletimi için bir uygulama katmanı protokolü olarak kabul edilebilir.

Yapısı çok basit:   

1671506971 1

XML olarak anlayabilirsiniz:

Her GATT, farklı işlevler gerçekleştiren hizmetlerden oluşur;

Her hizmet farklı özelliklerden oluşur;

Her karakteristik bir değer ve bir veya daha fazla tanımlayıcıdan oluşur;

Hizmet ve karakteristik etiketlere eşdeğerdir (Hizmet kategorisine eşdeğerdir, ve karakteristik ismine eşdeğerdir), Değer aslında veri içerirken, ve tanımlayıcı bu değerin bir açıklaması ve açıklamasıdır. Elbette, Farklı açılardan tanımlayabilir ve tanımlayabiliriz. Tanım, Böylece birden fazla tanımlayıcı olabilir.

Örneğin:Common Xiaomi Mi Band bir cihazdır, (varsayılmış) Üç hizmet içerir, Cihaz bilgisi sağlayan hizmet hangileri, Adımlar sağlayan hizmet, ve kalp atış hızını tespit eden hizmet;

Cihaz bilgilerinin hizmetinde yer alan karakteristik, üretici bilgilerini içerir, Donanım Bilgileri, sürüm bilgileri, vesaire.; Kalp atış hızı hizmeti kalp atış hızı özelliğini içerir, vesaire., Ve kalp atış hızı karakteristiğindeki değer aslında kalp atış hızı verilerini içerir, Ve tanımlayıcı değerdir. Tanım, değer birimi gibi, Tanım, izin, vesaire.

GATT C/S

Gatt'ın ön anlayışıyla, Gatt'ın tipik bir C/S modu olduğunu biliyoruz. C/s olduğu için, Sunucu ve istemci arasında ayrım yapmamız gerekiyor.

“Gatt Sunucusu” VS. “Gatt Müşteri”. Bu iki rolün var olduğu aşama, bağlantı kurulduktan sonra, ve diyaloğun durumuna göre ayırt edilirler. Verileri tutan partiye GATT Sunucusu olarak adlandırıldığını anlamak kolaydır, ve verilere erişen partiye GATT istemcisi denir.

Bu, daha önce bahsettiğimiz cihaz rolünden farklı bir seviyede bir kavramdır, Ve onu ayırt etmek gerekiyor. Açıklamak için basit bir örnek kullanalım:

Bir cep telefonu örneğini ve gösterilecek bir saat örneğini alın. Cep telefonu ile cep telefonu arasındaki bağlantı kurulmadan önce, Saatin Bluetooth cihazını aramak için cep telefonunun Bluetooth arama işlevini kullanıyoruz. Bu işlem sırasında, Saatin BLE yayınladığı açıktır, böylece diğer cihazlar varlığını bilir. , Bu süreçte periferik rolü, ve cep telefonu tarama görevinden sorumludur, ve doğal olarak merkez rolünü oynar; İkisi bir GATT bağlantısı kurduktan sonra, Cep telefonunun saatten gelen adım sayısı gibi sensör verilerini okuması gerektiğinde, İkisi etkileşimli veri saatte kaydedildi, Yani şu anda saat GATT sunucusunun rolü, Ve cep telefonu doğal olarak gatt istemcisi; Ve saat, cep telefonundan SMS aramalarını ve diğer bilgileri okumak istediğinde, Verilerin koruyucusu cep telefonu olur, Yani cep telefonu şu anda sunucu, Ve saat müşteri.

Hizmet/karakteristik

Yukarıda onları algısal bir anlayışımız vardı, Ve sonra bazı pratik bilgilerimiz var:

  1. Karakteristik en küçük mantıksal veri birimidir.
  2. Değer ve tanımlayıcı olarak depolanan verilerin analizi, sunucu mühendisi tarafından belirlenir, Spesifikasyon yok.
  3. Hizmet/karakteristiğin benzersiz bir UUID kimliğine sahip, UUID hem 16 bit hem de 128 bit, Anlamamız gereken, 16 bit UUID'nin Bluetooth organizasyonu tarafından sertifikalandırılması ve satın alınması gerektiğidir., Tabii ki bazı yaygın olanlar var 16 bit uuid., Kalp atış hızı hizmetinin UUID'si 0x180D, kodda 0x00001800-0000-1000-8000-00805f9b34fb olarak ifade edilir, ve diğer bitler sabittir. 128 bit UUID özelleştirilebilir.
  4. GATT bağlantıları özeldir.