phát triển BLE: GATT là gì và nó hoạt động như thế nào?
Khái niệm GATT
Để thực hiện phát triển liên quan đến BLE, chúng ta phải có kiến thức cơ bản nhất định, tất nhiên rồi, nó 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 mẽ, dùng để quét và kết nối các thiết bị ngoại vi, chẳng hạn như điện thoại di động, máy tính bảng, vân vân.
“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ư vòng tay, nhiệt kế thông minh, vân vân.
Trong 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ó, nó cần 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 tin quảng bá, để kết nối có thể được thiết lập. Trong quá trình này, người chịu trách nhiệm phát sóng là Ngoại vi , và Central 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, nó sẽ ngừng phát sóng ngay lập tức, và tiếp tục phát sóng 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à 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 gọi của nó), trong khi giá trị thực sự chứa dữ liệu, và Descriptor là sự giải thích và mô tả về giá trị này. Tất nhiên rồi, chúng ta có thể mô tả và mô tả nó từ những góc độ khác nhau. Sự miêu tả, vì vậy có thể có nhiều Bộ mô tả.
Ví dụ:Xiaomi Mi Band thông dụ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 tính 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ân vân.; nhịp tim Dịch vụ bao gồm đặc tính nhịp tim, vân vân., và giá trị trong đặc tính nhịp tim thực sự chứa dữ liệu nhịp tim, và mô tả là giá trị. Sự miêu tả, chẳng hạn như đơn vị giá trị, Sự miêu tả, sự cho phép, vân vân.
GATT C/S
Với sự hiểu biết sơ bộ về GATT, chúng ta biết rằng GATT là chế độ C/S điển hình. Vì nó là C/S, chúng ta cần phân biệt giữa Server và client.
“máy chủ GATT” vs. “khách hàng GATT”. Giai đoạn tồn tại của hai vai trò này 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, và 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 đó, 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ề chiếc điện thoại di động và 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ò 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ồ, hai Dữ liệu tương tác được lưu trong đồng hồ, vì vậy tại thời điểm này đồng hồ có vai trò của máy chủ GATT, và điện thoại di động đương nhiên là máy khách của GATT; và khi đồng hồ muốn đọ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 trở thành Điện thoại di động, vậy điện thoại di động lúc này là máy chủ, và chiếc đồng hồ là khách hàng.
Dịch vụ/Đặc điểm
Chúng ta đã có sự hiểu biết cảm tính về chúng ở trên, và sau đó chúng tôi có một số thông tin thực tế:
- Đặc tính là đơn vị logic nhỏ nhất của dữ liệu.
- 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.
- Dịch vụ/Đặc điểm 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ố cái phổ biến UUID 16-bit. Ví dụ, UUID của dịch vụ Heart Rate là 0X180D, được biểu thị dưới dạ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.
- Kết nối GATT là độc quyền.