Phát triển BLE: GATT là gì và nó hoạt động như thế nào?
Khái niệm về Gatt
Để thực hiện sự 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ò 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 là ở 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ẽ, được sử 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ụ năng lượ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ân vân.
Trong thực tế, ở cấp độ cơ bản nhất, Nó phải là một sự khác 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 phát sóng, để 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. Một 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, Kết nối xếp hàng.
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ó như 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 tính khác nhau;
Mỗi đặc điểm bao gồm một giá trị và một hoặc nhiều mô tả;
Dịch vụ và đặc tính tương đương với các thẻ (Dịch vụ tương đương với danh mục của nó, và đặc điểm tương đương với tên của nó), Trong khi giá trị thực sự chứa dữ liệu, và mô tả là một lời 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ừ các góc độ khác nhau. Sự miêu tả, Vì vậy, có thể có nhiều mô tả.
Ví dụ:Dải Xiaomi Mi phổ biến là một thiết bị ble, (giả định) Nó chứa ba dịch vụ, dịch vụ cung cấp thông tin thiết bị nào, 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ụ của 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.; Dịch vụ nhịp tim 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 tôi biết rằng GATT là chế độ C/S điển hình. Vì nó là c/s, Chúng tôi cần phải phân biệt giữa máy chủ và máy khách là.
“Máy chủ GATT” vs. “Máy khách GATT”. Giai đoạn tồn tại hai vai trò này là sau khi kết nối được thiết lập, và họ được phân biệt theo tình trạng của cuộc đối thoại. Thật dễ dàng để hiểu rằng bên 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ò thiết bị mà chúng tôi đã đề cập trước đây, và nó là cần thiết để 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ề điện thoại di động và đồ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 là đồng hồ đang phát sóng để các thiết bị khác biết sự tồn tại của nó. , nó là vai trò của ngoại vi trong quá trình này, và điện thoại di động chịu trách nhiệm cho nhiệm vụ quét, và tự nhiên đóng vai trò của trung tâm; Sau khi hai người 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ồ là vai trò của máy chủ GATT, Và điện thoại di động tự 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 trở thành điện thoại di động, Vì vậy, điện thoại di động là máy chủ tại thời điểm này, Và đồng hồ là khách hàng.
Dịch vụ/đặc điểm
Chúng tôi đã có một sự hiểu biết nhận thức 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ị dữ liệu logic nhỏ nhất.
- Việc phân tích dữ liệu được lưu trữ trong giá trị và mô tả được xác định bởi kỹ sư máy chủ, Không có đặc điểm kỹ thuật.
- Dịch vụ/Đặc điểm có nhận dạng UUID duy nhất, UUID có cả 16 bit và 128 bit, Những gì chúng ta cần hiểu là UUID 16 bit được chứng nhận bởi tổ chức Bluetooth và cần được mua, Tất nhiên có một số UUID 16 bit phổ biến. 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.
- Kết nối GATT là độc quyền.