Local Home SDK tăng cường khả năng tích hợp nhà thông minh với Google Trợ lý bằng cách thêm đường dẫn thực hiện cục bộ vào tuyến đường ý định 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, có chứa logic kinh doanh nhà thông minh. Các 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 của bạn sẽ giao tiếp trực tiếp với thiết bị thông minh hiện có thiết bị qua Wi-Fi trên mạng cục bộ (LAN) để thực hiện lệnh của người dùng, so với các giao thức hiện tại.
Việc tích hợp SDK giúp nâng cao hiệu suất cho ngôi nhà thông minh của bạn Hành động, bao gồm độ trễ thấp hơn và độ tin cậy cao hơn. Thực hiện đơn hàng tại địa phương là đượ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 thiết bị sử dụng người dùng phụ xác minh.
Tìm 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 mình, nền tảng Local Home sẽ quét thông tin
mạng cục bộ sử dụng mDNS, truyền tin UDP 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ó
có thể điều khiển cục bộ, bằng cách so sánh mã thiết bị trong phản hồi IDENTIFY
với những kết quả được phản hồi SYNC
trước đó trả về. Nếu thiết bị được phát hiện là
trung tâm hoặc cầu nối, thì nền tảng sẽ gửi ý định REACHABLE_DEVICES
và xử lý
thiết bị trung tâm làm 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 Hành động trong nhà thông minh có một đường dẫn thực hiện cục bộ,
Trợ lý gửi EXECUTE
ý định hoặc ý định QUERY
đối với
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ị
chạy ứng dụng thực hiện cục bộ để xử lý ý định.
Nền tảng Local Home không mang tính quyết định việc chọn thiết bị Google Home hay Google Nest
kích hoạt lệnh. Ý định EXECUTE
và QUERY
có thể bắt nguồn từ bất kỳ
Thiết bị Google Home hoặc Google Nest được xác định trong cùng một Home Graph
làm 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 nghiệp vụ để xử lý ý định do nền tảng Local Home và truy cập vào thiết bị thông minh của bạn qua mạng cục bộ. Dự kiến bạn sẽ không cần sửa đổi phần cứng để tích hợp phương thức thực hiện cục bộ. Chiến lược phát hành đĩa đơn ứng dụng thực hiện các yêu cầu Hành động trong nhà thông minh bằng cách gửi lệnh điều khiển đến thông minh thông qua 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, trạng thái thực hiện của bạn trên đám mây sẽ được sử dụng làm đường dẫn thực thi dự phòng.
Để hỗ trợ xây dựng ứng dụng, Local Home SDK cung cấp hai yếu tố chính lớp:
DeviceManager
: Cung cấp các phương thức giao tiếp với thiết bị thông minh bằng cổng TCP, UDP hoặc các yêu cầu 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 ra 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 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ự tải ứng dụng máy chủ lưu trữ hoặc máy phát triển cục bộ. Trong quá trình sản xuất, Google lưu trữ ứng dụng trong môi trường hộp cát JavaScript 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 là hiện không được hỗ trợ cho phương thức thực hiện đơn hàng tại địa phương. Google dựa vào trên đám mây để 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 đơn hàng cục bộ của bạn sẽ được tải theo yêu cầu khi nền tảng Local Home phát hiện thấy thiết bị mới trong máy phù hợp với cấu hình quét dự án hoặc có trạng thái đang chờ xử lý ý đị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ị giới hạn 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 cứ 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 ngốn quá nhiều bộ nhớ hoặc nếu hệ thống cần tạo không gian cho một ứng dụng khác. Nền tảng Local Home chỉ khởi động lại ứng dụng của bạn 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 Local Home sẽ tải ứng dụng của bạn sau thời gian chờ ở trạng thái 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ợ
phương thức thực hiện liên kết với agentUserId
của người dùng.
Thiết bị được hỗ trợ
Nền tảng Local Home thực thi ứng dụng thực hiện cục bộ của bạn trên nền tảng được hỗ trợ Thiết bị Google Home hoặc Google Nest. 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 mỗi thiết bị. Để tìm hiểu thêm về yêu cầu đối với thời gian chạy, hãy xem 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 cho ứng dụng thực hiện cục bộ phụ thuộc vào thiết bị. Nền tảng Local Home hỗ trợ những tính năng sau đây môi trường thời gian chạy:
- Chrome: Ứng dụng thực hiện cục bộ được thực thi trong ngữ cảnh của Chrome
trình duyệt
window
đang chạy Chrome M80 hoặc phiên bản cao hơn có hỗ trợ cho 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 một tập lệnh trong Node.js quy trình đang chạy Nút v10.x LTS hoặc phiên bản cao hơn có 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 Local Home SDK cung cấp và đóng gói mã nguồn dưới dạng Biểu thức hàm được gọi ngay lập tức (IIFE).
Lộ trình triển khai
Nếu muốn sử dụng SDK Home cục bộ cho quy trình tích hợp nhà thông minh, bạn cần phải thực hiện những tác vụ sau:
1 | Thiết lập tính năng quét cấu hình | Định cấu hình bảng điều khiển Actions với các tham số cần thiết cho Trợ lý để khám phá các thiết bị điều khiển được cục bộ. |
2 | Cập nhật Phản hồi SYNC trong phương thức thực hiện trên đám mây | Trong phương thức thực hiện trên đám mây, hãy sửa đổi
SYNC
trình xử lý yêu cầu để 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ể
được kiểm soát cục bộ.
|
3 | Triển khai ứng dụng thực hiện đơn hàng cục bộ | Dùng Local Home SDK để tạo ứng dụng JavaScript nhằm
xử lý IDENTIFY ,
Ý định
EXECUTE và
QUERY . Đối với các thiết bị proxy trung tâm hoặc cầu nối, bạn nên
cũng xử lý ý định REACHABLE_DEVICES .
|
4 | Kiểm thử và gỡ lỗi ứng dụng | 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ộ kiểm tra Google Home. |
Trước khi bắt đầu
- Làm quen với các bước cơ bản để tạo một nhà thông minh Action (Hành động).
- Trong phần Hành động Play Console, tạo bạn đã có một dự án nhà thông minh và việc liên kết tài khoản định cấu hình.
- Hãy đảm bảo rằng bạn đã đăng nhập vào cùng một 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 cần có một Node.js để viết ứng dụng. Để cài đặt Node.js và npm, Phiên bản nút Người quản lý .
- Để 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 phải đăng ký thiết bị thử nghiệm của bạn vào Bản xem trước của Cast Chương trình.