Mô hình dữ liệu thiết bị

Các thiết bị trong Mattermô hình dữ liệu (DM) được xác định rõ ràng. Đây là mô hình phân cấp các tính năng của Thiết bị. Ở cấp cao nhất của hệ phân cấp này có một Thiết bị.

Thiết bị và thiết bị đầu cuối

Tất cả Thiết bị (bao gồm cả điện thoại thông minh và trợ lý tại nhà) đều bao gồm Nút1. Nút là một tài nguyên duy nhất có thể nhận dạng và xác định được trong một mạng mà người dùng có thể xem là toàn bộ chức năng. Hoạt động giao tiếp mạng trong Matter bắt nguồn và kết thúc tại một Nút.

Các nút là một tập hợp các Điểm cuối. Mỗi Điểm cuối sẽ có một bộ tính năng. Ví dụ: một Điểm cuối có thể liên quan đến chức năng chiếu sáng, trong khi một Điểm cuối khác liên quan đến chức năng phát hiện chuyển động và một điểm cuối khác liên quan đến các tiện ích như OTA của thiết bị.

Hệ thống phân cấp thiết bị, nút và thiết bị đầu cuối
Hình 1: Thiết bị, nút và điểm cuối

Vai trò của nút

Vai trò của nút là một tập hợp các hành vi liên quan. Mỗi Nút có thể có một hoặc nhiều vai trò. Vai trò của nút bao gồm:

  • Uỷ viên: Một nút thực hiện việc Ủy ban.
  • Bộ điều khiển: Nút có thể kiểm soát một hoặc nhiều Nút. Ví dụ như Google Home app (GHA), Google AssistantGoogle Nest Hub (2nd gen). Một số loại thiết bị, chẳng hạn như Công tắc bật/tắt đèn, có vai trò Bộ điều khiển.
  • Nút được kiểm soát: Một nút có thể do một hoặc nhiều Nút kiểm soát. Hầu hết các loại thiết bị đều có thể là Trình điều khiển, ngoại trừ một số loại thiết bị có vai trò Đơn vị điều khiển, chẳng hạn như Công tắc bật/tắt đèn. Công tắc bật/tắt đèn chỉ có thể là Tay điều khiển. Không thể là Người được Kiểm soát.
  • Nhà cung cấp OTA: Nút có thể cung cấp bản cập nhật phần mềm OTA.
  • Trình yêu cầu OTA: Nút có thể yêu cầu cập nhật phần mềm OTA.

Nhiều viên quá quý nhỏ hợp lại

Trong một Điểm cuối, một Nút có một hoặc nhiều Cụm. Đây là một bước khác trong hệ phân cấp Thiết bị, vì chúng nhóm các chức năng cụ thể như cụm bật/tắt trên phích cắm thông minh hoặc cụm điều khiển mức trên Điểm cuối có thể điều chỉnh độ sáng.

Một Nút cũng có thể có nhiều Điểm cuối, mỗi Điểm cuối tạo ra một thực thể của cùng một chức năng. Ví dụ: một thiết bị chiếu sáng có thể kiểm soát từng đèn riêng lẻ hoặc một dải nguồn có thể kiểm soát từng ổ cắm.

Thuộc tính

Ở cấp cuối cùng, chúng ta sẽ tìm thấy Attributes (Thuộc tính), là các trạng thái do nút giữ, chẳng hạn như thuộc tính cấp hiện tại của cụm điều khiển cấp. Các thuộc tính có thể được xác định là các loại dữ liệu khác nhau, chẳng hạn như uint8, chuỗi hoặc mảng.

Hệ thống phân cấp nút, điểm cuối, thuộc tính và lệnh
Hình 2: Nút, điểm cuối, thuộc tính và lệnh

Lệnh

Bên cạnh Thuộc tính, các Cụm cũng có Command (Lệnh), là các thao tác có thể được thực hiện. Các giá trị này tương đương với trong DM của Matter của lệnh gọi quy trình từ xa. Các lệnh có dạng động từ, chẳng hạn như khoá cửa trên cụm Khoá cửa. Các lệnh có thể tạo ra phản hồi và kết quả; trong Matter, các phản hồi như vậy cũng được định nghĩa là Lệnh và ngược lại.

Sự kiện

Cuối cùng, các Cụm cũng có thể có các Events (Sự kiện), được coi là bản ghi của các lượt chuyển đổi trạng thái trước đây. Mặc dù Thuộc tính biểu thị trạng thái hiện tại, nhưng sự kiện là một nhật ký trong quá khứ và bao gồm một bộ đếm tăng đơn điệu, dấu thời gian và mức độ ưu tiên. Chúng cho phép ghi lại các chuyển đổi trạng thái, cũng như lập mô hình dữ liệu chưa dễ dàng đạt được bằng các thuộc tính.

Thiết bị mẫu đầy đủ
Hình 3: Một mẫu về hệ phân cấp của Matter Mô hình tương tác với thiết bị

Điểm cuối 0 được dành riêng cho Cụm tiện ích. Cụm Tiện ích là các Cụm cụ thể bao gồm chức năng cung cấp dịch vụ trên một Điểm cuối, chẳng hạn như khám phá, giải quyết, chẩn đoán và cập nhật phần mềm. Mặt khác, Cụm ứng dụng hỗ trợ các thao tác chính như bật/tắt hoặc đo nhiệt độ.

Loại thiết bị

Nhìn chung, những tổ hợp Cụm nào nên được đưa vào khi nhà sản xuất thiết bị lập kế hoạch cho một Thiết bị mới?

Thông số kỹ thuật Matter yêu cầu thiết bị triển khai hoặc mở rộng một hoặc nhiều Loại thiết bị. Loại thiết bị là một tập hợp các Cụm bắt buộc và không bắt buộc giúp xác định các thuộc tính cấp cao nhất của một Thiết bị thực tế, chẳng hạn như Ánh sáng có thể điều chỉnh độ sáng, Khoá cửa hoặc Trình phát video.

Loại thiết bị không được chỉ định trong tài liệu chính về quy cách Matter, mà chỉ định bởi một tài liệu đi kèm: Thư viện thiết bị. Tương tự, tất cả các Cụm ứng dụng đều được xác định trong Thư viện cụm ứng dụng. Bạn có thể tìm thấy 3 tài liệu này trên trang web của thành viên Connectivity Standards Alliance (Alliance).

Mỗi Điểm cuối triển khai một Loại thiết bị phải triển khai các Cụm bắt buộc giúp xác định Loại thiết bị đó. Ngoài các Cụm bắt buộc, Điểm cuối có thể triển khai các Cụm bổ sung, bao gồm một hoặc nhiều Cụm không bắt buộc của Loại thiết bị, hoặc thậm chí là các Cụm không thuộc Loại thiết bị.

Ứng dụng và máy chủ

Cụm có thể là Cụm ứng dụng hoặc Cụm máy chủ. Mặc dù Máy chủ có trạng thái và chứa các Thuộc tính, Sự kiện và Lệnh, nhưng Ứng dụng lại không có trạng thái và trách nhiệm của máy chủ là bắt đầu Tương tác với một Cụm máy chủ từ xa, do đó thực hiện:

  • đọcghi vào Thuộc tính từ xa.
  • đọc các Sự kiện từ xa của họ.
  • gọi các Lệnh từ xa.

Mặc dù DM mang tính phân cấp trong một Nút, nhưng mối quan hệ giữa các Nút thì không. Các nút trong Matter không có mối quan hệ với bộ điều khiển/thiết bị ngoại vi theo chiều dọc hoặc mối quan hệ với người dẫn đầu/người theo dõi. Ngược lại, mối quan hệ là theo chiều ngang: Bất kỳ Cụm nào cũng có thể là Máy chủ hoặc Ứng dụng. Do đó, một Nút có thể vừa là Máy chủ Ứng dụng vừa có các Cụm và chức năng khác nhau.

Ví dụ: chúng ta có thể có hai đèn bàn: Nút ANút B. Cả hai nút đều triển khai một Loại thiết bị Bật/tắt đèn. Loại thiết bị này bao gồm một cụm Máy chủ bật/tắt kiểm soát các đầu ra ánh sáng thực tương ứng.

Tuy nhiên, như các loại đèn bàn thông thường, các thiết bị thực của chúng tôi cũng sẽ có một Loại thiết bị Bật/Tắt Công tắc đèn cho các công tắc bật/tắt cục bộ. Loại thiết bị này phải triển khai cụm Ứng dụng bật/tắt để có thể kiểm soát cụm Máy chủ.

Những đèn triển khai cả đèn bật/tắt và Công tắc đèn
Hình 4: Cụm ứng dụng và máy chủ

Trong mẫu này, cụm ứng dụng bật/tắt trên Nút A đang thay đổi các thuộc tính của cụm máy chủ bật/tắt trên Nút A và Nút B, trong khi Cụm ứng dụng khách của Nút B chỉ thay đổi Cụm máy chủ trên Nút B.

Trong phần tiếp theo, chúng tôi sẽ trình bày chi tiết cách các cụm Ứng dụng và Máy chủ tương tác: Mô hình tương tác.

Cụm Phần mô tả

Giống như tên gọi, Máy chủ cụm Descriptor cung cấp thông tin xem xét nội dung. Mẫu này mô tả Điểm cuối liệt kê:

  • Cụm máy chủ.
  • Cụm ứng dụng.
  • Loại thiết bị.
  • Điểm cuối bổ sung, còn gọi là Phần.

Mọi loại thiết bị đều yêu cầu triển khai cụm Descriptor (Mô tả). Loại thiết bị gốc được xác định trên Điểm cuối 0. Việc đọc cụm Mô tả sẽ cung cấp cho ứng dụng khả năng hiển thị để truyền tải toàn bộ cây các Điểm cuối hiện có và thực hiện các thao tác có thể áp dụng.

Uỷ viên hoặc Thiết bị kiểm soát, chẳng hạn như điện thoại hoặc thiết bị trung tâm, có thể sử dụng thông tin có trên cụm Mô tả để lập mô hình Thiết bị (đèn, công tắc, máy bơm, máy điều nhiệt) và các tính năng cụ thể do thực thể cụ thể đó của Thiết bị triển khai, hiển thị đúng giao diện người dùng cho người dùng.

Cụm máy chủ

Thuộc tính ServerList liệt kê các máy chủ cụm ở điểm cuối.

Cụm ứng dụng

Thuộc tính ClientList liệt kê các ứng dụng cụm ở điểm cuối.

Danh sách loại thiết bị

Thuộc tính DeviceTypeList là danh sách các Loại thiết bị mà Điểm cuối hỗ trợ, cùng với các bản sửa đổi tương ứng. Mã này phải chứa ít nhất một Loại thiết bị.

Danh sách bộ phận

PartsList chứa danh sách Điểm cuối dùng để triển khai Loại thiết bị này.

PartsList của Điểm cuối 0 (Nút gốc) chứa tất cả các Điểm cuối của thiết bị ngoài chính thiết bị đó (Điểm cuối 0).

PartsList của các Điểm cuối khác thường trống. Ví dụ: Cảm biến nhiệt độ yêu cầu Cụm máy chủ đo nhiệt độ và không có gì khác.

Các loại thiết bị khác có thể được kết hợp trong cấu trúc cây gồm nhiều thực thể Device Type. Ví dụ: Loại thiết bị trình phát video có thể bao gồm TV, Trình phát video, Loa và các Loại thiết bị ứng dụng nội dung khác nhau, mỗi loại trên một Điểm cuối khác nhau.


  1. Thông số kỹ thuật Matter xác định rằng một Thiết bị có thể có nhiều Nút. Ví dụ: điện thoại thông minh có thể có nhiều ứng dụng, mỗi ứng dụng có một Nút khác nhau. Để phục vụ cho mục đích của sơ cấp này, tất cả Thiết bị sẽ chứa một Nút duy nhất. Dự kiến hầu hết các thiết bị thực tế sẽ tuân theo mẫu này.