SDK Home cục bộ nâng cao khả năng tích hợp nhà thông minh của bạn 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ộ bằng cách 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 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ó của bạn 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 thô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 dành cho nhà thông minh của bạn, bao gồm cả độ trễ thấp hơn và độ tin cậy cao hơn. Phương thức 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 quy trình xác minh người dùng phụ.
Hiểu cách hoạt động
Sau khi nhận được phản hồi SYNC
từ phương thức thực hiện trên đám mây của bạn, nền tảng cục bộ Home 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 được 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ể kiểm soát 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 những thiết bị được 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 đườ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 tại địa phương.
Khi người dùng kích hoạt một Hành động nhà thông minh 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 qua đám mây. Sau đó, thiết bị sẽ chạy ứng dụng thực hiện cục bộ để xử lý ý định.

Nền tảng Home Home không có tính quyết định khi chọn thiết bị Google Home hoặc Google Nest để kích hoạt lệnh. Ý định EXECUTE
và QUERY
có thể đến thông qua mọi thiết bị Google Home hoặc Google Nest được xác định trong cùng một cấu trúc Biểu đồ chính 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 Home cục bộ gửi và truy cập thiết bị thông minh của bạn thông qua mạng cục bộ. Theo dự kiến, việc tích hợp phương thức thực hiện cục bộ sẽ không có thay đổi về phần cứng. Ứng dụng đáp ứng các yêu cầu về Hành động dành cho nhà thông minh 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, thì 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ợ việc xây dựng ứng dụng, SDK Home Home sẽ cung cấp hai lớp chính sau đây:
DeviceManager
: Cung cấp các phương thức để giao tiếp với thiết bị thông minh bằng cách sử dụng ổ cắm TCP, UDP hoặc HTTP.App
: Cung cấp các phương thức để đính kèm trình xử lý cho các ý định mà Google gửi sau khi phát hiện 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 về trạng thái của 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 trên máy chủ lưu trữ hoặc máy phát triển cục bộ của riêng bạn. Trong phiên bản chính thức, Google lưu trữ ứng dụng của bạn trong một môi trường hộp cát bảo mật 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 dựa vào phương thức thực hiện trên đám mây của bạn để xử lý những 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 cục bộ Home phát hiện các 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 liên quan đến một thiết bị đã xác định trước đó.
Thiết bị Google Home hoặc Google Nest bị hạn chế bộ nhớ và ứng dụng thực hiện cục bộ của bạn có thể bị chấm dứt bất kỳ lúc nào do áp lực 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 tốn quá nhiều bộ nhớ hoặc nếu hệ thống cần tạo chỗ trống cho ứng dụng khác. Nền tảng Local Home chỉ khởi động lại ứng dụng khi có ý định mới để phân phối và đủ tài nguyên bộ nhớ để ứng dụng chạy.
Nền tảng Màn hình chính cục bộ sẽ huỷ tải ứng dụng sau một thời gian chờ không hoạt động khi người dùng huỷ liên kết tài khoản của họ hoặc không còn thiết bị nào hỗ trợ việc thực hiện phương thức cục bộ liên kết với agentUserId
của người dùng.
Thiết bị được hỗ trợ
Nền tảng Home Home 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 được sử dụng trên từng 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 phần 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 |
Trang chủ Google Max | Loa | Chrome |
Nest Mini | Loa | Chrome |
Nest Hub | Mạng Hiển thị | Chrome |
Nest Hub Max | Mạng Hiển thị | 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 cho ứ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 đây:
- 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ợ ECMAScript phiên bản 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 khả năng hỗ trợ ECMAScript phiên bản ES2018.
Cấu trúc mã nguồn
Bạn nên kết hợp các phần phụ thuộc vào một tệp JavaScript bằng cách sử dụng cấu hình gói do SDK Home Home 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 những thao tá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 tham số cần thiết để Trợ lý phát hiện các thiết bị có thể điều khiển cục bộ. |
2 | Cập nhật phản hồi SYNC trong quá trình thực hiện đám mây | Trong phương thức thực hiện trên đám mây, 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ã nhận dạng của các 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 tại địa phương | Hãy sử dụng SDK Home cục bộ để tạo ứng dụng JavaScript nhằm xử lý các ý định IDENTIFY ,
EXECUTE và
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 | Kiểm thử và gỡ lỗi ứng dụng | Hãy kiểm tra quá trình tích hợp (hoặc tự xác nhận) bằng cách sử dụng Bộ thử nghiệm Google Home. |
Trước khi bắt đầu
- Làm quen với các khái niệm cơ bản về cách tạo một Hành động dành cho nhà thông minh.
- Trong Bảng điều khiển thao tác, hãy đảm bảo bạn có sẵn dự án nhà thông minh và tính năng liên kết tài khoản đã được định cấu hình.
- Hãy đảm bảo bạn đã đăng nhập bằng chính Tài khoản Google trong bảng điều khiển Actions và trong Trợ lý trên thiết bị thử nghiệm.
- Bạn sẽ cần một môi trường Node.js để viết ứng dụng. Để cài đặt Node.js và npm, bạn nên sử dụng Trình quản lý phiên bản Node.
- Để làm việc với phiên bản mới nhất của SDK Home cục bộ, bạn cần đăng ký các thiết bị thử nghiệm vào Chương trình dùng thử truyền.