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

Các thiết bị trong Matter có một mô 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ị. Phía trên cùng của hệ phân cấp này có một Thiết bị.

Thiết bị và điểm 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à, 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 địa chỉ trong một mà người dùng có thể coi là toàn bộ chức năng. Giao tiếp mạng ở 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 Điểm cuối. Mỗi Điểm cuối kèm theo một nhóm tính năng. Ví dụ: Điểm cuối có thể liên quan đến chức năng đèn, trong khi một ưu đãi khác liên quan đến phát hiện chuyển động và một ưu đãi khác về các tiện ích như làm Thiết bị OTA.

Hệ 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 có liên quan. Mỗi Nút có thể có một hoặc nhiều vai trò. Các vai trò của nút bao gồm:

  • Commissioner (Uỷ viên): Một Nút thực hiện Đang khai thác.
  • Đơn vị điều khiển: Một 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). Hơi nhiều loại thiết bị, chẳng hạn như Bật/Tắt Công tắc, có Bộ điều khiển vai trò.
  • Người được kiểm soát: Một Nút có thể do một hoặc nhiều người kiểm soát Nút. Hầu hết các loại thiết bị đều có thể là Người được kiểm soát, ngoại trừ một số loại thiết bị có vai trò Bộ điều khiển, chẳng hạn như Đèn bật/tắt Chuyển đổi. Đèn bật/tắt Nút chuyển chỉ có thể là Đơn vị kiểm soát. Không thể là một đối tượng được kiểm soát.
  • Nhà cung cấp OTA: Một Nút có thể cung cấp các 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 phần mềm OTA bản cập nhật.

Cụm

Trong một Điểm cuối, một Nút có một hoặc nhiều Nhóm. Đây là một trong Hệ phân cấp thiết bị, vì chúng nhóm các chức năng cụ thể như một 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 nút điều chỉnh độ sáng điểm cuối nhẹ.

Một Nút cũng có thể có một số Điểm cuối, mỗi điểm tạo một thực thể của cùng một chức năng. Ví dụ: thiết bị chiếu sáng có thể để lộ khả năng kiểm soát độc lập các đèn riêng lẻ hoặc dải điện có thể để lộ khả năng điều khiển 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à những trạng thái do nút nắm giữ. chẳng hạn như thuộc tính cấp hiện tại của cụm kiểm soát cấp. Thuộc tính có thể được định nghĩa là các kiểu dữ liệu khác nhau, chẳng hạn như uint8, chuỗi hoặc mảng.

Hệ 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

Ngoài Thuộc tính, Cụm cũng có Lệnh, là các hành động có thể thực hiện. Chúng tương đương với DM của Matter là một 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ả; inch Matter, những phản hồi như vậy cũng được xác định là Lệnh, theo theo chiều ngược lại.

Sự kiện

Cuối cùng, cụm cũng có thể có Sự kiện. Bạn có thể coi sự kiện là bản ghi về các quá trình chuyển đổi trạng thái trước đây. Mặc dù Thuộc tính biểu thị các trạng thái hiện tại, các sự kiện là nhật ký trong quá khứ và bao gồm sự tăng trưởng đơn điệu bộ đếm, dấu thời gian và mức độ ưu tiên. Chúng cho phép ghi lại quá trình 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 với các thuộc tính.

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

Điểm cuối 0 dành riêng cho Cụm Tiện ích. Cụm tiện ích là các Cụm cụ thể đi kèm chức năng dịch vụ trên một Điểm cuối, chẳng hạn như như khám phá, giải quyết vấn đề, 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 dưới dạng một thiết bị nhà sản xuất dự định mua một Thiết bị mới không?

Thông số kỹ thuật Matter yêu cầu thiết bị phải triển khai hoặc mở rộng một hay 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 xác định các thuộc tính cấp cao nhất của một thiết bị thực, chẳng hạn như Đèn giảm độ sáng, Khoá cửa hoặc Trình phát video.

Matter không chỉ định Loại thiết bị tài liệu chính về chỉ dẫn kỹ thuật, nhưng theo tài liệu đi kèm: Thiết bị Thư viện. Tương tự, tất cả các Cụm ứng dụng đều được xác định trong Ứng dụng Thư viện Cluster. Bạn có thể tìm thấy ba tài liệu này trên Trang web dành cho thành viên của 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 xác định Loại thiết bị đó. Ngoài các Cluster 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 Thiết bị Các cụm tuỳ chọn thuộc Loại hoặc thậm chí là các Cụm không thuộc Loại thiết bị.

Máy khách và máy chủ

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

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

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

Ví dụ: chúng ta có thể có 2 đèn bàn: Nút ANút B. Cả hai nút triển khai Loại thiết bị bật/tắt đèn. Loại thiết bị này có chế độ Bật/Tắt Cụm Server điều khiển đầu ra ánh sáng vật lý tương ứng.

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

Đèn thực hiện cả bật/tắt đèn và Công tắc đèn
Hình 4: Cụm Máy khách và Máy chủ

Trong mẫu này, cụm ứng dụng Bật/Tắt trên Nút A sẽ 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 Máy khách của Nút B Cụm chỉ thay đổi cụm Máy chủ trên chính Nút B.

Trong phần tiếp theo, chúng ta sẽ tìm hiểu chi tiết về cách các cụm Máy khách và Máy chủ tương tác với nhau: Mô hình tương tác.

Cụm Mô tả

Như chính tên gọi của nó, Máy chủ cụm Mô tả cung cấp nội dung của bạn. Phương thức 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 gọi là Bộ phận.

Mỗi Loại thiết bị đều yêu cầu triển khai Cụm chỉ số mô tả. Gốc Loại thiết bị được xác định trên Điểm cuối 0. Việc đọc Cụm chỉ số mô tả sẽ cung cấp cho ứng dụng khả năng xem toàn bộ cây của các Điểm cuối có sẵn 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 như điện thoại hoặc thiết bị trung tâm có thể sử dụng thông tin tìm thấy trên cụm Mô tả để lập mô hình Thiết bị (đèn, công tắc, bơm, máy điều nhiệt) và các tính năng cụ thể do thực thể cụ thể đó triển khai của Thiết bị, 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 trong Điểm cuối.

Cụm ứng dụng

Thuộc tính ClientList liệt kê các Ứng dụng cụm trong Điểm cuối.

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

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

Danh sách phụ tùng

PartsList chứa danh sách Điểm cuối được dùng để triển khai Thiết bị này Nhập.

PartsList của Điểm cuối 0 (Điểm gốc) chứa tất cả các Điểm cuối của thiết bị, ngoại trừ chính nó (Điểm cuối 0).

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

Các loại thiết bị khác có thể được cấu trúc theo một cấu trúc cây gồm nhiều Thiết bị Loại thực thể. 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 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 là một Nút khác nhau. Đối với mục đích của đoạn mã gốc này, tất cả Thiết bị sẽ chứa một Nút. Theo dự kiến, hầu hết các thiết bị thực sẽ đều tuân theo quy tắc này .