Chào mừng bạn đến với Trung tâm nhà phát triển Google Home, một điểm đến mới để tìm hiểu cách phát triển các hành động nhà thông minh. Lưu ý: Bạn sẽ tiếp tục tạo các hành động trong Bảng điều khiển Actions.

Thực hiện đơn hàng tại địa phương

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

SDK Nhà địa phương nâng cao khả năng tích hợp nhà thông minh với Trợ lý Google bằng cách thêm đường dẫn thực hiện cục bộ để định tuyến ý định cho nhà thông minh.

SDK cho phép bạn viết một ứng dụng thực hiện cục bộ, sử dụng TypeScript hoặc JavaScript, chứa logic kinh doanh nhà thông minh của bạn. Thiết bị Google Home hoặc Google Nest có thể tải và chạy ứng dụng của bạn trên thiết bị. Ứng dụng sẽ giao tiếp trực tiếp với các thiết bị thông minh hiện có qua Wi-Fi trên mạng cục bộ (LAN) để thực hiện các lệnh của người dùng qua các giao thức hiện có.

Việc tích hợp SDK giúp cải thiện hiệu suất cho Hành động thông minh của nhà bạn, bao gồm độ trễ thấp hơn và độ tin cậy cao hơn. Tính năng thực hiện cục bộ được hỗ trợ cho tất cả các loại thiết bị và đặc điểm thiết bị, ngoại trừ những loại thiết bị sử dụng tính năng xác minh người dùng phụ.

Bắt đầu xây dựng Thử mẫu

Hiểu cách hoạt động

Sau khi nhận được phản hồi SYNC từ quá trình thực hiện dịch vụ đám mây, nền tảng Trang chủ cục bộ sẽ quét mạng cục bộ của người dùng bằng cách sử dụng mDNS, UDP Broadcast hoặc UPnP để khám phá các thiết bị thông minh đã kết nối với Trợ lý.

Nền tảng này sẽ gửi một ý định IDENTIFY để xác định xem thiết bị có thể điều khiển cục bộ hay không, bằng cách so sánh mã thiết bị trong phản hồi IDENTIFY với dữ liệu do phản hồi SYNC trước đó trả về. Nếu thiết bị được phát hiện là một trung tâm hoặc cầu nối, thì nền tảng sẽ gửi một ý định REACHABLE_DEVICES và coi trung tâm này là thiết bị proxy để giao tiếp cục bộ.

Khi nhận được phản hồi xác nhận một thiết bị cục bộ, nền tảng sẽ thiết lập một đường dẫn thực hiện cục bộ đến thiết bị Google Home hoặc Google Nest của người dùng, sau đó định tuyến lệnh của người dùng để thực hiện đơn hàng cục bộ.

Khi người dùng kích hoạt một Thao tác thông minh trong nhà có đường dẫn thực hiện cục bộ, Trợ lý sẽ gửi ý định EXECUTE hoặc ý định QUERY đến thiết bị Google Home hoặc Google Nest thay vì phương thức thực hiện trên đám mây. Sau đó, thiết bị sẽ chạy ứng dụng thực hiện cục bộ để xử lý ý định.

Hình này cho thấy quy trình thực thi đối với phương thức thực hiện cục bộ. Đường dẫn thực thi thu thập ý định của người dùng từ điện thoại bằng Trợ lý Google, sau đó ý định của người dùng được Google Cloud xử lý, sau đó được thực thi cục bộ trên thiết bị Google Home và lệnh được gửi trực tiếp đến trung tâm thiết bị hoặc trực tiếp đến thiết bị. Bạn có thể sử dụng đám mây dành cho nhà phát triển dưới dạng
            tính năng dự phòng trên đám mây.
Hình 1: Thêm đường dẫn thực hiện cục bộ cho hành động nhà thông minh của bạn.

Nền tảng Trang chủ cục bộ không phải là yếu tố quyết định khi chọn thiết bị Google Home hoặc Google Nest nào để kích hoạt lệnh. Ý định EXECUTEQUERY có thể nằm trong bất kỳ thiết bị Google Home hoặc Google Nest nào được xác định trong cùng cấu trúc Home của ứng dụng như thiết bị mục tiêu.

Ứng dụng thực hiện đơn hàng tại địa phương

Ứng dụng thực hiện cục bộ chứa logic kinh doanh để xử lý các ý định do nền tảng Trang chủ cục bộ gửi và truy cập thiết bị thông minh của bạn qua mạng cục bộ. Theo dự kiến, thiết bị của bạn sẽ không được tích hợp phương thức thực hiện đơn hàng tại địa phương. Ứng dụng đáp ứng các yêu cầu của Thiết bị thông minh về hành động tại nhà bằng cách gửi các lệnh điều khiển đến thiết bị thông minh thông qua các giao thức lớp ứng dụng, bao gồm HTTP, TCP hoặc UDP. Trong trường hợp đường dẫn thực hiện cục bộ không thành công, phương thức thực hiện trên đám mây của bạn sẽ được dùng làm đường dẫn thực thi dự phòng.

Để hỗ trợ xây dựng ứng dụng, SDK cục bộ cho nhà cung cấp hai lớp chính sau:

  • DeviceManager: Cung cấp các phương thức để giao tiếp với thiết bị thông minh bằng sử dụng cổng TCP, UDP hoặc yêu cầu HTTP.
  • App: Cung cấp các phương thức để đính kèm trình xử lý cho những ý định mà Google gửi sau khi khám phá các thiết bị có thể điều khiển cục bộ (IDENTIFY, REACHABLE_DEVICES). Lớp này cũng đáp ứng các lệnh của người dùng (EXECUTE) và trả lời các truy vấn của người dùng trên trạng thái thiết bị hiện tại (QUERY).

Trong quá trình phát triển, bạn có thể tạo và kiểm thử ứng dụng bằng cách tải ứng dụng đó trên máy chủ lưu trữ của máy chủ hoặc máy phát triển cục bộ. Trong phiên bản chính thức, Google lưu trữ ứng dụng của bạn trong môi trường hộp cát JavaScript an toàn trên thiết bị Google Home hoặc Google Nest của người dùng.

API Trạng thái báo cáo hiện không được hỗ trợ cho phương thức thực hiện cục bộ. Google sẽ dựa vào phương thức thực hiện trên đám mây của bạn để xử lý các yêu cầu này.

Vòng đời của ứng dụng

Ứng dụng thực hiện cục bộ được tải theo yêu cầu khi nền tảng Trang chủ cục bộ phát hiện thiết bị cục bộ mới khớp với cấu hình quét dự án hoặc có ý định phân phối đang chờ xử lý liên quan đến một thiết bị đã xác định trước đó.

Các thiết bị Google Home hoặc Google Nest bị hạn chế bộ nhớ và ứng dụng thực hiện đơn hàng tại địa phương có thể bị chấm dứt bất kỳ lúc nào do áp lực về bộ nhớ trong hệ thống. Điều này có thể xảy ra nếu ứng dụng của bạn bắt đầu tiêu thụ quá nhiều bộ nhớ hoặc nếu hệ thống cần nhường chỗ cho một ứng dụng khác. Nền tảng cục bộ cho ứng dụng chỉ khởi động lại ứng dụng khi có ý định mới để phân phối và có đủ tài nguyên bộ nhớ để ứng dụng chạy.

Nền tảng Trang chủ cục bộ sẽ gỡ tải ứng dụng của bạn sau khi hết thời gian chờ khi người dùng hủy liên kết tài khoản của họ hoặc không còn thiết bị nào hỗ trợ tính năng thực hiện cục bộ được liên kết với agentUserId của người dùng.

Thiết bị được hỗ trợ

Nền tảng Trang chủ địa phương sẽ thực thi ứng dụng thực hiện đơn hàng tại địa phương trên các thiết bị Google Home hoặc Google Nest được hỗ trợ. Bảng sau đây mô tả các thiết bị được hỗ trợ và thời gian chạy dùng trên mỗi thiết bị. Để tìm hiểu thêm về các yêu cầu trong thời gian chạy, hãy xem nội dung Môi trường thực thi.

Thiết bị Loại Môi trường
Google Home Loa Chrome
Google Home Mini Loa Chrome
Google Home Max Loa Chrome
Nest Mini Loa Chrome
Nest Hub Màn hình Chrome
Nest Hub Max Màn hình Chrome
Nest Wifi Bộ định tuyến Node.js
Điểm Chrome

Môi trường thực thi

Môi trường thực thi của ứng dụng thực hiện cục bộ phụ thuộc vào thiết bị của bạn. Nền tảng Trang chủ cục bộ hỗ trợ các môi trường thời gian chạy sau:

  • Chrome: Ứng dụng thực hiện cục bộ của bạn được thực thi trong bối cảnh trình duyệt Chrome window chạy Chrome M80 trở lên với khả năng hỗ trợ phiên bản ECMAScript ES2018.
  • Node.js: Ứng dụng thực hiện cục bộ của bạn được thực thi dưới dạng tập lệnh trong quy trình Node.js chạy Node v10.x LTS trở lên với sự hỗ trợ cho ECMAScript phiên bản ES2018.

Cấu trúc mã nguồn

Bạn nên nhóm các phần phụ thuộc vào một tệp JavaScript duy nhất bằng cách sử dụng cấu hình gói do SDK cục bộ cung cấp và đóng gói mã nguồn dưới dạng một Biểu thức hàm được gọi ngay (IIFE).

Lộ trình triển khai

Để sử dụng SDK Home cục bộ cho hoạt động tích hợp nhà thông minh, bạn cần thực hiện các việc sau:

1 Thiết lập cấu hình quét Định cấu hình bảng điều khiển Actions với các thông số cần thiết để Trợ lý Google khám phá các thiết bị có thể điều khiển cục bộ.
2 Cập nhật phản hồi SYNC (Ứng dụng đồng bộ hóa) trong phương thức thực hiện của đám mây Trong phương thức thực hiện đám mây của bạn, hãy sửa đổi trình xử lý yêu cầu SYNC để hỗ trợ trường otherDeviceIds mà nền tảng sử dụng để thiết lập đường dẫn thực hiện cục bộ. Trong trường đó, hãy chỉ định mã thiết bị có thể điều khiển cục bộ.
3 Triển khai ứng dụng thực hiện đơn hàng địa phương Hãy dùng SDK cục bộ cho nhà để tạo một ứng dụng JavaScript giúp xử lý các ý định IDENTIFY, EXECUTE QUERY. Đối với các thiết bị proxy trung tâm hoặc cầu nối, bạn cũng nên xử lý ý định REACHABLE_DEVICES.
4 Thử nghiệm và gỡ lỗi ứng dụng Kiểm tra việc tích hợp của bạn (hoặc tự xác nhận) bằng cách sử dụng Bộ thử nghiệm Google Home.

Trước khi bạn bắt đầu