Giản đồ dệt

Giản đồ Weave

Giản đồ mô tả mô hình dữ liệu cơ bản dẫn đến việc trình bày và diễn giải dữ liệu do các thiết bị logic hoặc thiết bị thực tế phát ra trong hệ thống Weave.

Giản đồ là:

  • Chuẩn hoá – Tiêu chuẩn này chứa các định nghĩa chính thức về chức năng cung cấp giao diện nhất quán, bất kể hoạt động triển khai. Ví dụ: một bóng đèn được biểu thị trong giản đồ sẽ luôn có chức năng cốt lõi như bật/tắt trạng thái và hành động hoặc mức độ làm mờ.
  • Thành phần kết hợp – Người dùng có thể tạo các tài nguyên phức tạp bao gồm các chức năng nhỏ được xác định rõ ràng. Ví dụ: một thiết bị Nest Detect có hai loại cảm biến: chuyển động và mở/đóng. Chức năng của các loại cảm biến này được chuẩn hoá trong giản đồ và có thể sử dụng lại trên các thiết bị.
  • Có thể mở rộng – Người dùng có thể tạo phần mở rộng tuỳ chỉnh về chức năng tiêu chuẩn. Ví dụ: bạn có thể muốn mở rộng chức năng cảm biến chuyển động chuẩn của giản đồ bằng chức năng bổ sung cho một ứng dụng bảo mật cụ thể.
  • Được tạo phiên bản – Tất cả thay đổi trong giản đồ được tạo phiên bản để tương thích ngược và tương thích ngược.

Giản đồ xác định ba phần tử: đặc điểm, giao diện và tài nguyên. Hầu như tất cả chức năng trong hệ sinh thái Nest cho hoạt động hằng ngày đều được xác định trong giản đồ. Hãy cùng tìm hiểu chi tiết hơn về từng phần tử.

Đặc điểm

Đặc điểm là một đơn vị chức năng cơ bản. Đó có thể là trạng thái hoặc chức năng chung của thiết bị hoặc mô tả cấu hình cho biết hành vi của thiết bị. Một đặc điểm chung có thể phổ biến đối với nhiều thiết bị hoặc dành riêng cho một loại thiết bị.

Ví dụ: trong giản đồ, bạn có thể xác định các đặc điểm sau để sử dụng trong thiết bị Nest:

Đặc điểm tính cách

Giao diện

Chúng ta có thể mở rộng thành phần kết hợp của các đặc điểm bằng cách nhóm các đặc điểm lại với nhau, đặc biệt nếu nhiều đặc điểm đại diện cho một hàm mới, cụ thể. Một nhóm các đặc điểm như vậy được gọi là giao diện.

Ví dụ: giao diện Intercom có thể bao gồm các đặc điểm của Loa và Micrô:

Đặc điểm và giao diện

Nguồn tham khảo

Tài nguyên đại diện cho một đối tượng logic hoặc thực tế trong giản đồ. Ví dụ: Nest Protect là một tài nguyên. Vậy là một Nest Guard. Hoặc một người dùng, hoặc một cấu trúc như nhà riêng của người dùng.

Tài nguyên bao gồm một tập hợp các đặc điểm bao gồm cấu hình, trạng thái và khả năng của chúng.

Mối quan hệ giữa tài nguyên, giao diện và đặc điểm như sau:

Tài nguyên, giao diện và đặc điểm

Như bạn có thể thấy, một số đặc điểm, chẳng hạn như đặc điểm Chuyển động, là phổ biến ở các tài nguyên khác nhau. Và một số giao diện, như giao diện Intercom, cũng phổ biến cho các tài nguyên khác nhau. Các đặc điểm, giao diện và tài nguyên được xác định một lần trong giản đồ và được sử dụng lại trên các tài nguyên và thiết bị trong hệ thống Weave.

Yếu tố đặc điểm

Các đặc điểm được chia nhỏ thành ba phần tử chính: thuộc tính, lệnh và sự kiện. Chúng ta hãy cùng xem ví dụ về từng yếu tố thuộc tính.

Thuộc tính

Thuộc tính đại diện cho trạng thái của một đặc điểm. Các thuộc tính ở chế độ chỉ đọc/ghi hoặc chỉ đọc.

Ví dụ:

  • Phiên bản phần mềm là một thuộc tính của đặc điểm Nhận dạng thiết bị. Đây là một đặc điểm chung mà hầu hết các thiết bị đều có. Nest Thermostat, Camera và Protects—tất cả đều có phiên bản phần mềm cụ thể.
  • Bolt State (Trạng thái Bolt) là một thuộc tính của đặc điểm Khóa Lock, nhưng dành riêng cho một thiết bị như Yale x Nest Lock. Ví dụ: bạn sẽ không tìm thấy khoá bu lông trên Nest Thertheat.

Lệnh

Các lệnh các yêu cầu tuỳ chỉnh để thực hiện thao tác cụ thể với một đặc điểm, với một phản hồi dự kiến. Các lệnh này thường được gọi là lệnh tuỳ chỉnh và có thể mở rộng sang các thay đổi trạng thái cụ thể cho các thuộc tính. Ví dụ:

  • Thay đổi khóa Bolt là một lệnh tùy chỉnh thay đổi thuộc tính Trạng thái bu lông của đặc điểm Khóa bu lông.
  • Thiết lập mã PIN người dùng là một lệnh tuỳ chỉnh tạo một thuộc tính mới hoặc cập nhật một thuộc tính Mã PIN người dùng hiện có cho đặc điểm Cài đặt mã PIN của người dùng.

Sự kiện

Sự kiện các bản ghi diễn ra với một đặc điểm. Những thông báo này cho người đăng ký biết về các thay đổi trong thuộc tính đặc điểm hoặc một số loại vấn đề khác, chẳng hạn như đặt lại hệ thống.

Ví dụ: sự kiện Thay đổi trạng thái của Bộ truyền động Bolt của đặc điểm Khóa bu lông cho người đăng ký biết trạng thái hiện tại của nhiều thuộc tính Khóa bu lông, cũng như tác nhân cuối cùng đã thay đổi thuộc tính Trạng thái của bộ truyền động bu lông. Tất cả thông tin này được phân phối dưới dạng một sự kiện duy nhất.

Ngôn ngữ mô tả lược đồ Weave

Các đặc điểm giản đồ, giao diện và tài nguyên trong Weave được xác định và mô tả bằng cách sử dụng ngôn ngữ dành riêng cho miền (DSL) tận dụng cú pháp của Bộ đệm giao thức Google v3. Ngôn ngữ này được gọi là Ngôn ngữ mô tả lược đồ Weave (WDL) .

WDL chạy qua một trình biên dịch tạo ra nhiều phương thức mã hoá và thực hiện riêng cho từng nền tảng. Loại mã được tạo sẽ phụ thuộc vào tài nguyên:

  • Objective-C, Swift, Java, Scala — các ứng dụng di động và dịch vụ đám mây
  • C++ với quy trình mã hoá TLV — thiết bị nhúng và ứng dụng di động

Chúng ta sẽ tìm hiểu sâu hơn về các ví dụ về WDL ở phần sau.

Recap

Kiến thức bạn học được:

  • Giản đồ mô tả mô hình dữ liệu cơ bản cho một hệ thống Weave.
  • Giản đồ xác định ba phần tử:
    • Đặc điểm Một đơn vị chức năng cơ bản
    • Giao diện Một nhóm các đặc điểm đại diện cho một hàm mới, cụ thể
    • Tài nguyên Một vấn đề logic hoặc vật lý
  • Đặc điểm bao gồm thuộc tính, lệnh và sự kiện:
    • Thuộc tính Trạng thái của một đặc điểm tài nguyên
    • Lệnh Yêu cầu tùy chỉnh cho hành động của một đặc điểm
    • Sự kiện Bản ghi về các sự kiện đang diễn ra cho một đặc điểm
  • Giản đồ này được xác định bằng cách sử dụng Ngôn ngữ mô tả giản đồ Weave (WDL) , dựa trên Vùng đệm giao thức Google phiên bản 3

Để biết thêm thông tin chuyên sâu, hãy xem: