Phát triển BLE: GATT là gì và nó hoạt động như thế nào?

Mục lục

Khái niệm GATT

Để thực hiện việc phát triển liên quan đến BLE, chúng ta phải có những kiến ​​thức cơ bản nhất định, tất nhiên là phải rất đơn giản.

GATT Vai trò của thiết bị:

Điều đầu tiên cần hiểu là sự khác biệt giữa hai vai trò này nằm ở cấp độ phần cứng và chúng là những khái niệm tương đối xuất hiện theo cặp:

"Thiết bị trung tâm": tương đối mạnh, dùng để quét và kết nối các thiết bị ngoại vi, như điện thoại di động, máy tính bảng, v.v.

"Thiết bị ngoại vi": chức năng tương đối đơn giản, mức tiêu thụ điện năng nhỏ và thiết bị trung tâm được kết nối để cung cấp dữ liệu, chẳng hạn như dây đeo cổ tay, nhiệt kế thông minh, v.v.

Trên thực tế, ở cấp độ cơ bản nhất, cần có sự phân biệt giữa các vai trò khác nhau trong quá trình thiết lập kết nối. Chúng tôi biết rằng nếu một thiết bị Bluetooth muốn cho người khác biết sự tồn tại của nó, thiết bị đó cần phải liên tục phát sóng ra thế giới bên ngoài, trong khi bên kia cần quét và trả lời gói phát sóng để có thể thiết lập kết nối. Trong quá trình này, người chịu trách nhiệm phát sóng là Ngoại vi và Trung tâm chịu trách nhiệm quét.

Lưu ý về quá trình kết nối giữa hai:

Thiết bị trung tâm có thể kết nối với nhiều thiết bị ngoại vi cùng một lúc. Sau khi thiết bị ngoại vi được kết nối, thiết bị ngoại vi sẽ ngừng phát ngay lập tức và tiếp tục phát sau khi ngắt kết nối. Chỉ một thiết bị có thể cố gắng kết nối bất cứ lúc nào, xếp hàng kết nối.

GATT giao thức

Công nghệ BLE giao tiếp dựa trên GATT. GATT là một giao thức truyền thuộc tính. Nó có thể được coi là một giao thức lớp ứng dụng để truyền thuộc tính.

Cấu trúc của nó rất đơn giản:   

Bạn có thể hiểu nó là xml:

Mỗi GATT bao gồm các Dịch vụ thực hiện các chức năng khác nhau;

Mỗi Dịch vụ bao gồm các Đặc điểm khác nhau;

Mỗi Đặc tính bao gồm một giá trị và một hoặc nhiều Bộ mô tả;

Dịch vụ và Đặc tính tương đương với thẻ (Dịch vụ tương đương với danh mục của nó và Đặc tính tương đương với tên của nó), trong khi giá trị thực sự chứa dữ liệu và Descriptor là giải thích và mô tả về giá trị này. Tất nhiên, chúng ta có thể mô tả và mô tả nó từ những góc độ khác nhau. Mô tả, do đó có thể có nhiều Bộ mô tả.

Ví dụ: Xiaomi Mi Band thông thường là thiết bị BLE, (giả định) nó chứa ba Dịch vụ, đó là Dịch vụ cung cấp thông tin thiết bị, Dịch vụ cung cấp các bước và Dịch vụ phát hiện nhịp tim;

Đặc điểm có trong dịch vụ thông tin thiết bị bao gồm thông tin nhà sản xuất, thông tin phần cứng, thông tin phiên bản, v.v.; Dịch vụ nhịp tim bao gồm đặc tính nhịp tim, v.v. và giá trị trong đặc tính nhịp tim thực sự chứa dữ liệu nhịp tim và phần mô tả là giá trị. Mô tả, chẳng hạn như đơn vị giá trị, mô tả, quyền, v.v.

GATT C/S

Với sự hiểu biết sơ bộ về GATT, chúng ta biết rằng GATT là một chế độ C/S điển hình. Vì là C/S nên chúng ta cần phân biệt giữa Server và client.

"Máy chủ GATT" so với "máy khách GATT". Giai đoạn mà hai vai trò này tồn tại là sau khi kết nối được thiết lập và chúng được phân biệt theo trạng thái của cuộc đối thoại. Dễ hiểu là bên nắm giữ dữ liệu được gọi là máy chủ GATT, bên truy cập dữ liệu được gọi là máy khách GATT.

Đây là một khái niệm ở một cấp độ khác với vai trò của thiết bị mà chúng tôi đã đề cập trước đây và cần phải phân biệt nó. Hãy sử dụng một ví dụ đơn giản để minh họa:

Lấy ví dụ về một chiếc điện thoại di động và một chiếc đồng hồ để minh họa. Trước khi kết nối giữa điện thoại di động và điện thoại di động được thiết lập, chúng tôi sử dụng chức năng tìm kiếm Bluetooth của điện thoại di động để tìm kiếm thiết bị Bluetooth của đồng hồ. Trong quá trình này, rõ ràng đồng hồ đang phát BLE để các thiết bị khác biết đến sự tồn tại của nó. , đó là vai trò của thiết bị ngoại vi trong quá trình này và điện thoại di động chịu trách nhiệm thực hiện nhiệm vụ quét và đương nhiên đóng vai trò là Trung tâm; Sau khi cả hai thiết lập kết nối GATT, khi điện thoại di động cần đọc dữ liệu cảm biến như số bước từ đồng hồ, cả hai Dữ liệu tương tác sẽ được lưu trong đồng hồ, vì vậy lúc này đồng hồ đóng vai trò của GATT máy chủ và điện thoại di động đương nhiên là máy khách GATT; và khi đồng hồ muốn đọc các cuộc gọi SMS và thông tin khác từ điện thoại di động, người bảo vệ dữ liệu sẽ trở thành Điện thoại di động, vì vậy lúc này điện thoại di động là máy chủ và đồng hồ là máy khách.

Dịch vụ/Đặc điểm

Chúng ta đã có hiểu biết trực quan về chúng ở trên và sau đó chúng ta có một số thông tin thực tế:

  1. Đặc tính là đơn vị logic nhỏ nhất của dữ liệu.
  2. Việc phân tích dữ liệu được lưu trữ trong giá trị và bộ mô tả được xác định bởi kỹ sư Máy chủ, không có thông số kỹ thuật.
  3. Service/Characteristic có mã nhận dạng UUID duy nhất, UUID có cả 16-bit và 128-bit, điều chúng ta cần hiểu là UUID 16-bit được tổ chức Bluetooth chứng nhận và cần phải mua, tất nhiên có một số điểm chung UUID 16 bit của những cái đó. Ví dụ: UUID của dịch vụ Nhịp tim là 0X180D, được biểu thị bằng 0X00001800-0000-1000-8000-00805f9b34fb trong mã và các bit khác được cố định. UUID 128 bit có thể được tùy chỉnh.
  4. Kết nối GATT là độc quyền.

Di chuyển về đầu trang