1. Trước khi bắt đầu
Matter mang đến trải nghiệm thiết lập và kiểm soát thiết bị liền mạch, trên nhiều nền tảng cho người dùng cuối. Điều này chủ yếu có thể xảy ra là do nhiều thành phần của hệ sinh thái hoạt động kết hợp với nhau trong nền. Việc khắc phục những hệ thống như thế này thường có thể gây nhiều khó khăn cho các nhà phát triển mới. Vì vậy, chúng tôi đã phát triển một loạt công cụ và kỹ thuật để giúp bạn trở nên dễ dàng hơn khi làm nhà phát triển Matter trên Google Home.
Có 3 thành phần chính của Matter được đề cập trong lớp học lập trình này. Đối với mỗi hệ thống này, Google cung cấp một bộ số liệu phân tích khắc phục sự cố cho các nhà phát triển được thu thập từ điện thoại và các trung tâm:
Là nhà phát triển, bạn phải có khả năng giảm thiểu các vấn đề mà bạn gặp phải trong suốt chu kỳ phát triển thiết bị. Sau khi khởi chạy dự án của mình, bạn cần theo dõi tổng hợp xu hướng sự cố của các thiết bị trong hiện trường và khắc phục chúng thông qua các bản cập nhật phần mềm. Lớp học lập trình này bao gồm các kỹ thuật mà bạn có thể sử dụng cho cả hai mục đích này.
Điều kiện tiên quyết
- Xem hết hướng dẫn Làm quen với Matter bằng cách thiết lập thiết bị và dự án theo chuẩn Matter đang hoạt động
- Có điện thoại Android để kết nối với máy trạm (đối với nhật ký ADB)
Kiến thức bạn sẽ học được
- Cách sử dụng các công cụ phân tích dành cho Nhà thông minh để theo dõi các vấn đề Matter trên quy mô lớn.
- Cách phân loại lỗi bằng cách truy cập vào nhật ký lỗi và thu thập thông tin.
- Cách truy cập vào tài liệu về Matter và tài nguyên hỗ trợ để yêu cầu trợ giúp.
2. Xem Google Home Analytics
Việc giám sát hiệu suất là yếu tố quan trọng để tích hợp thành công với hệ sinh thái Google Home. Chúng tôi cung cấp một bộ công cụ giám sát cho các nhà phát triển nhà thông minh trên Google Cloud Platform. Bạn có thể sử dụng các công cụ này để đo lường hiệu suất của dự án.
Truy cập các chỉ số của dự án
- Bước đầu tiên để truy cập vào dữ liệu là kiểm tra các trang tổng quan của Google Home bằng cách đăng nhập vào Google Cloud Console rồi chuyển đến phần Vận hành > Giám sát > Trang tổng quan.
Dự án của bạn có một số trang tổng quan (bao gồm cả các sản phẩm khác của GCP). Trang tổng quan được cung cấp cho nhà thông minh đi kèm với tiền tố là Google Home Analytics.
Chúng tôi hiện có một trang tổng quan chung bao gồm toàn bộ dự án của bạn, cũng như các trang tổng quan dành cho việc tích hợp cụ thể (Đám mây, Cục bộ, Matter) hoặc các loại thiết bị (Máy ảnh). Những trang tổng quan này chỉ chứa dữ liệu nếu bạn tích hợp loại tương ứng với một dự án đang hoạt động đáp ứng các yêu cầu.
Khi mở một trong các trang tổng quan này, bạn sẽ thấy một loạt biểu đồ giống như sau:
Trang tổng quan Google Home chứa nhiều biểu đồ cho biết thông tin chi tiết về các sự kiện liên quan đến dự án của bạn. Với mỗi trang tổng quan tích hợp, bạn sẽ thấy một biểu đồ cho thấy tổng số yêu cầu mà dự án của bạn đã xử lý, một biểu đồ cho thấy tỷ lệ thành công của loại tích hợp đó và một vài biểu đồ cho thấy các loại thiết bị cũng như đặc điểm có liên quan. Ngoài ra, với Matter, bạn còn có một bộ biểu đồ theo dõi mức độ thành công trong quá trình uỷ quyền, cũng như việc triển khai các bản cập nhật trên thiết bị của bạn.
Xin lưu ý rằng chế độ xem mặc định có các biểu đồ mà bạn thấy trong trang tổng quan của Google Home Analytics chỉ là chế độ xem mà chúng tôi đã tạo cho dự án của bạn bằng dữ liệu về các chỉ số của nhà thông minh. Bạn cũng có thể sử dụng Trình khám phá chỉ số để tạo biểu đồ của riêng mình từ chính các chỉ số cơ bản và lưu chúng vào trang tổng quan tuỳ chỉnh.
Truy cập nhật ký lỗi
Trình khám phá nhật ký là một tập hợp các công cụ giúp bạn làm việc với nhật ký sự kiện được tạo trong một dự án. Bạn có thể truy cập báo cáo này trong Google Cloud Console bằng cách chuyển đến phần Thao tác > Ghi nhật ký > Trình khám phá nhật ký.
Sau khi mở Logs Explorer (Trình khám phá nhật ký), bạn sẽ thấy chế độ xem như sau:
Cửa sổ trình khám phá chứa nhiều công cụ để xem, lọc, truy vấn và phân tích nhật ký. Theo mặc định, chế độ xem này hiển thị nhật ký được tạo từ tất cả hệ thống có sẵn cho dự án của bạn, bao gồm cả nhật ký được tạo bên ngoài Nhà thông minh. Do đó, bạn cần sử dụng các nhật ký này bằng cách lọc các sự kiện bạn muốn gỡ lỗi. Chúng tôi sẽ nói thêm về vấn đề này trong các phần gỡ lỗi.
3. Gỡ lỗi uỷ quyền sự cố
Loại chỉ số đầu tiên mà chúng ta sẽ xem xét là về các sự kiện uỷ quyền theo Matter. Ủy quyền là tập hợp các bước cần thiết để người dùng thiết lập thiết bị theo chuẩn Matter lần đầu tiên.
Trong quá trình vận hành thiết bị, một tập hợp các hoạt động tương tác diễn ra giữa thiết bị Matter, ứng dụng Google Home và vải Matter. Hình ảnh sau đây minh hoạ một số sự kiện trong số này:
Bạn có thể xem trang về phí hoa hồng của Matter cùng để tìm hiểu thêm về từng bước trong số này. Trong phần này, chúng ta sẽ tìm hiểu các công cụ và kỹ thuật khắc phục vấn đề trong quá trình vận hành.
Sử dụng Google Home Analytics
Chúng tôi đã tạo một bộ chỉ số để bạn điều tra các vấn đề liên quan đến việc uỷ quyền, bằng cách theo dõi các sự kiện và tìm hiểu xem lỗi có thể xảy ra ở giai đoạn nào. Bạn có thể tìm thấy những thông tin này trong Trang tổng quan về việc tích hợp Matter như đã đề cập ở phần trước.
Các biểu đồ trong trang tổng quan này cung cấp dữ liệu về quá trình vận hành thiết bị:
Biểu đồ số thiết bị cho biết số lần người dùng thử vận hành vào một ngày cụ thể. Tỷ lệ thành công cho biết tỷ lệ thành công của những sự kiện này từ phía Google. Mỗi lần vận hành sẽ tạo một nhóm sự kiện với các trạng thái tương ứng. Khi xảy ra lỗi ở bất kỳ trạng thái nào trong số này, lỗi cũng được ghi lại trong biểu đồ phân tích lỗi.
Các quốc gia uỷ thác:
- COMMISSIONING_STARTED
- ONBOARDING_PAYLOAD_GENERATED
- LOCAL_DISCOVERY_SUCCESSFUL
- PASE_CONNECTION_SUCCESSFUL
- NOC_ADDED_SUCCESSFULLY
- COMMISSIONING_COMPLETE
Để xem phiên bản chi tiết của những sự kiện này, hãy chuyển đến phần Vận hành > Ghi nhật ký > Trình khám phá nhật ký. Để lọc các lỗi liên quan đến phí hoa hồng, bạn có thể tìm kiếm "clientUpdateLog
" kết hợp với "severity>=ERROR
" trong trường truy vấn.
Nhật ký lỗi vận hành cho Matter có dạng như sau:
{ "insertId": "1a32ry0f6xpzzn", "jsonPayload": { "clientUpdateLog": { "MatterUpdate": { "reportedProductId": 55, "sessionId": "1584879052892229997", "reportedVendorId": 4800, "commissioningState": "GENERIC_COMMISSIONING_ERROR", "status": "GENERIC_ERROR" } } }, "resource": { "type": "assistant_action_project", "labels": { "project_id": "<project-id>" } }, "timestamp": "2023-03-01T07:09:55.216425297Z", "severity": "ERROR", "logName": "projects/<project-id>/logs/assistant_smarthome%2Fassistant_smarthome_logs", "receiveTimestamp": "2023-03-01T07:09:55.216425297Z" }
Ngoài trạng thái vận hành và mã trạng thái, nhật ký lỗi còn có dấu thời gian của lỗi được phát hiện cũng như mã sản phẩm Matter giúp bạn xác định sản phẩm nào gây ra lỗi. Tập hợp nhật ký được tạo trong cùng một lần vận hành sẽ có chung một sessionId
.
Việc sử dụng các chỉ số từ Google Home Analytics giúp bạn có ý tưởng ban đầu về việc vấn đề có thể xảy ra ở giai đoạn nào. Để tìm ra nguyên nhân gốc rễ của lỗi trong quá trình vận hành thiết bị, đôi khi, bạn có thể cần gỡ lỗi bổ sung bằng nhật ký do thiết bị di động tạo ra trong quá trình vận hành. Để làm được những việc này, bạn cần có Cầu gỡ lỗi Android.
Sử dụng Cầu gỡ lỗi Android (ADB)
Một cách khác để khắc phục sự cố vận hành là sử dụng công cụ dòng lệnh Cầu gỡ lỗi Android (ADB). Vì quá trình vận hành chủ yếu được xử lý giữa thiết bị di động và thiết bị Matter, nên bạn có thể dùng công cụ ADB để truy cập nhật ký do ứng dụng Google Home tạo trong quá trình vận hành.
Cài đặt công cụ nền tảng
ADB là một phần trong Công cụ nền tảng SDK Android, có thể được cài đặt bằng Android Studio hoặc thông qua công cụ dòng lệnh sdkmanager
.
Sau khi bạn đã cài đặt thành công công cụ nền tảng trên hệ thống của mình, hãy xác minh ADB bằng cách kiểm tra số phiên bản từ cửa sổ dòng lệnh bằng lệnh sau:
$ adb -- version
Thao tác này sẽ hiển thị số phiên bản của tiện ích ADB đã cài đặt mà không có lỗi nào.
Bật tính năng gỡ lỗi qua USB
Tiếp theo, hãy bật tính năng gỡ lỗi qua USB trên thiết bị Android.
Trước tiên, hãy làm theo các bước để bật tuỳ chọn cho nhà phát triển trên thiết bị của bạn, sau đó bật tính năng gỡ lỗi qua USB.
Việc này cho phép ADB truy cập vào nhật ký do các ứng dụng hiện đang chạy trên thiết bị tạo.
Truy xuất mã thiết bị
- Chạy máy chủ ADB bằng lệnh sau:
$ adb start-server
- Kết nối điện thoại của bạn với máy tính chạy máy chủ ADB.
Bạn có thể nhận được một thông báo cảnh báo trên điện thoại về tính năng gỡ lỗi qua USB, hỏi xem bạn có muốn cho phép máy tính truy cập vào thông tin trên điện thoại hay không:
- Nếu bạn nhận được thông báo cảnh báo này, hãy nhấp vào Cho phép.
- Phát lệnh danh sách thiết bị từ thiết bị đầu cuối để xem máy tính của bạn có thể truy cập vào điện thoại thông qua ADB hay không bằng cách sử dụng lệnh sau:
$ adb devices
Thao tác này sẽ trả về phản hồi tương tự như sau:
List of devices attached <phone-id> device
<phone-id> của bạn là chuỗi chữ và số xác định duy nhất thiết bị của bạn.
- Ghi nhớ giá trị
<phone-id>
để sử dụng trong các bước tiếp theo.
Thu thập thông tin hệ thống
Tiếp theo là kiểm tra thông tin phiên bản của các ứng dụng và hệ thống trên thiết bị của bạn.
- Cách kiểm tra phiên bản hệ điều hành Android:
$ adb -s <phone-id> shell getprop ro.build.version.release
- Cách kiểm tra phiên bản của ứng dụng Google Home:
$ adb -s <phone-id> shell dumpsys package com.google.android.apps.chromecast.app | grep versionName
- Cách kiểm tra phiên bản của Dịch vụ Google Play:
$ adb -s <phone-id> shell dumpsys package com.google.android.gms | grep "versionName"
- Cách kiểm tra xem bạn có các mô-đun kiểm soát Trang chủ / Vấn đề thông qua Dịch vụ Play hay không:
$ adb -s <phone-id> shell dumpsys activity provider com.google.android.gms.chimera.container.GmsModuleProvider | grep "com.google.android.gms.home"
Hãy đảm bảo các giá trị trả về này được hệ sinh thái của chúng tôi hỗ trợ. Khi liên hệ để được hỗ trợ về các lỗi trong quá trình vận hành, vui lòng luôn cung cấp thông tin hệ thống trong phiếu yêu cầu hỗ trợ của bạn.
Thu thập nhật ký lỗi
Tiếp theo, hãy bắt đầu quy trình thu thập nhật ký, rồi thực hiện các bước vận hành để tạo sự kiện lỗi mà bạn muốn gỡ lỗi.
- Chạy lệnh sau bằng cách cung cấp
<phone-id>
, cũng như<file-name>
để lưu nhật ký trong máy tính của bạn (ví dụ:debug_file.txt
).
$ adb -s <phone-id> logcat > <file-name>
Thao tác này sẽ ngay lập tức bắt đầu quá trình ghi nhật ký. Tệp có tên đã cung cấp sẽ được tạo nếu chưa tồn tại và nhật ký từ điện thoại được thêm vào tệp sau mỗi sự kiện.
Tiếp tục thực hiện các bước vận hành bằng thiết bị Matter.
- Khi gặp lỗi muốn gỡ lỗi, hãy dừng việc ghi nhật ký bằng cách nhấn
Control+C
trong cửa sổ dòng lệnh đang chạy.
Giờ đây, nhật ký của bạn sẽ được lưu trữ trong tệp ghi nhật ký <file-name>
. Vì quá trình này ghi lại nhật ký từ mọi quy trình đang chạy được theo dõi trong thiết bị nên sẽ có nhiều nhật ký trong tệp này. Đó là lý do bạn nên luôn sử dụng các nhật ký này bằng cách tìm kiếm các mục mình cần.
Phân tích nhật ký lỗi
Các quy trình uỷ quyền được xử lý thông qua một hệ thống con có tên là Matter Commissioner trong GHA.
- Làm theo chiến lược chính dùng khi phân tích lỗi vận hành, hãy tìm các lỗi do hệ thống con Matter Commissioner tạo ra bằng lệnh sau:
$ grep "MatterCommissioner" <file-name>
Thao tác này sẽ tạo ra kết quả chứa các sự kiện trong quá trình vận hành.
- Nếu thiết bị Matter của bạn đang sử dụng Thread, bạn cũng có thể tìm lỗi do hệ thống con Thread tạo ra bằng lệnh sau:
$ grep -E "(ThreadNetworkManager|BorderAgentScannerImpl|ThreadBrSynchronizer)" <file-name>
Khi phân tích tệp nhật ký được tạo bởi quy trình gỡ lỗi ADB, bạn cũng nên tìm một số mẫu nhất định. Có rất nhiều lỗi uỷ quyền, trong đó có lỗi "commissioning failure
" trong thông báo lỗi.
- Tìm thông báo lỗi trong quá trình vận hành bằng lệnh sau:
$ grep "SetupDevice" $phonelog | grep -A 20 "Commissioning failed"
4. Gỡ lỗi sự cố điều khiển thiết bị
Sau khi thiết lập và kích hoạt thiết bị Matter trong hệ sinh thái Google Home, người dùng có thể ra lệnh qua giọng nói thông qua Trợ lý Google (ví dụ: "Ok Google, bật đèn trong phòng khách của tôi") hoặc bằng cách sử dụng giao diện người dùng trên ứng dụng Home hoặc thiết bị màn hình Google Nest.
Vì thông số kỹ thuật điều khiển giữa thiết bị cuối và Google Hub do Matter trung gian dàn xếp, nên ở phía kiểm soát thiết bị dự kiến sẽ có ít lỗi hơn. Mặc dù vậy, chúng tôi cũng cung cấp các chỉ số và nhật ký để bạn gỡ lỗi những loại vấn đề này.
Sử dụng chỉ số
Trong Trang tổng quan tích hợp Matter, bạn sẽ thấy một số chỉ số liên quan đến chế độ kiểm soát thiết bị. Có ba biểu đồ quan trọng để đánh giá hiệu suất của thiết bị trong trường:
Trong các vấn đề kiểm soát, bạn thường thấy xu hướng giảm về tỷ lệ phần trăm thành công và xu hướng tăng trong biểu đồ phân tích lỗi. Biểu đồ phân tích lỗi cho bạn biết các lỗi mà Google Nest Hub ghi nhận được, liên quan đến lý do không thực hiện được thao tác điều khiển thiết bị.
Sử dụng nhật ký
Mỗi vấn đề về tính năng kiểm soát thiết bị theo chuẩn Matter cũng tạo ra một nhật ký lỗi trong hệ thống. Bạn có thể lọc những lỗi này từ Trình khám phá nhật ký bằng cách tìm kiếm "executionLog
".
Nhật ký lỗi kiểm soát thiết bị Matter có dạng như sau:
{ "insertId": "1a32ry0f6xpzzn", "jsonPayload": { "executionLog": { "executionResults": [ { "executionType": "MATTER", "latencyMsec": "6000", "actionResults": [ { "action": { "actionType": "ONOFF_OFF", "trait": "TRAIT_ON_OFF" }, "status": { "externalDebugString": "No message was received before the deadline.", "statusType": "RESPONSE_TIMEOUT", "fallbackToCloud": false, "isSuccess": false }, "device": { "deviceType": "OUTLET" } } ], "requestId": "1487232799486580805" } ] }, "locale": "en-US" }, "resource": { "type": "assistant_action_project", "labels": { "project_id": "<project-id>" } }, "timestamp": "2023-03-01T15:47:27.311673018Z", "severity": "ERROR", "logName": "projects/<project-id>/logs/assistant_smarthome%2Fassistant_smarthome_logs", "receiveTimestamp": "2023-03-01T15:47:27.311673018Z" }
Mỗi nhật ký lỗi chứa dấu thời gian, loại thiết bị và đặc điểm, cũng như lỗi liên quan đến yêu cầu kiểm soát trong statusType
. Nhiều lỗi điều khiển cũng bao gồm externalDebugString
, một thông báo lỗi ngắn giải thích lỗi đó là gì.
5. Gỡ lỗi các tính năng khác
Tới đây, bạn đã học được cách xử lý các vấn đề về việc vận hành và kiểm soát thiết bị theo Matter. Ngoài ra, còn có những tính năng khác trong hệ sinh thái mà bạn có thể sử dụng các kỹ thuật do chúng tôi đề xuất để đảm bảo quá trình tích hợp đạt chất lượng cao.
Theo dõi bản cập nhật qua mạng không dây
Để theo dõi số lượt phát hành bản cập nhật qua mạng không dây (OTA) cho các thiết bị theo chuẩn Matter do Google Home phát hành, chúng tôi cung cấp một bộ chỉ số cho biết phiên bản phần cứng và phần mềm của các thiết bị hiện tại.
Sau khi bạn phát hành bản cập nhật từ bảng điều khiển, hãy chú ý các chỉ số sau:
Bạn sẽ nhận thấy rằng trong những ngày sau khi bản phát hành này ra mắt, sẽ có thêm nhiều thiết bị trong lĩnh vực này nhận được phiên bản phần mềm mới liên kết với bản phát hành phần mềm OTA của bạn.
6. Tìm sự hỗ trợ
Google cung cấp các công cụ và tài liệu để bạn gỡ lỗi các vấn đề của Matter. Tuy nhiên, vì hệ sinh thái Matter là hệ sinh thái mới nên sẽ có một số vấn đề mà các tài nguyên này chưa đề cập đến. Đối với những trường hợp này, bạn luôn có thể liên hệ với chúng tôi hoặc cộng đồng để yêu cầu hỗ trợ.
Truy cập kênh của nhà phát triển
Có ba kênh dành cho nhà phát triển được giám sát tích cực trong Google:
Mặc dù mỗi kênh trong số này được cùng một nhóm giám sát theo định kỳ, nhưng có một số điểm khác biệt chính về thời điểm sử dụng kênh nào.
- Stack Overflow: Bạn có thể liên hệ với chúng tôi và cộng đồng nhà phát triển Nhà thông minh nếu có thắc mắc về cách triển khai hoặc để được hướng dẫn. Kênh này phù hợp nhất để hỏi cách khắc phục vấn đề hoặc triển khai một tính năng nhất định.
- Công cụ theo dõi lỗi: Đây là hệ thống theo dõi lỗi chính thức do Google điều hành, nơi đối tượng bên ngoài có thể báo cáo lỗi về hệ sinh thái. Google Dịch vụ này cung cấp các công cụ web để đính kèm tệp và chia sẻ thông tin nhạy cảm khi cần. Sử dụng Công cụ theo dõi lỗi là cách phù hợp nhất để báo cáo các vấn đề về hệ sinh thái hoặc yêu cầu về tính năng chia sẻ.
- Diễn đàn của nhà phát triển: Để tham khảo hướng dẫn của nhóm hỗ trợ chính thức của Google và các chuyên gia trong cộng đồng, bạn có thể liên hệ qua Diễn đàn nhà phát triển Nest. Diễn đàn này phù hợp nhất để \ nhận hướng dẫn chính thức để phát triển.
Đăng ký nhận bản tin dành cho nhà phát triển
Bên cạnh việc truy cập kênh của nhà phát triển để đặt câu hỏi, chúng tôi cũng phát hành bản tin hàng quý nêu bật các tính năng mới và cung cấp tin tức về tình trạng của hệ sinh thái Nhà thông minh của Google.
Bạn có thể dùng biểu mẫu đăng ký để nhận bản tin dành cho nhà phát triển.
7. Xin chúc mừng
Xin chúc mừng! Bạn đã tìm hiểu thành công cách gỡ lỗi cho quá trình tích hợp Matter bằng các công cụ và kỹ thuật mà chúng tôi đề xuất. Chúc bạn có trải nghiệm tốt khi tích hợp Matter với Google Home.
Các bước tiếp theo
Hãy thử các bài tập sau và khám phá các tài nguyên bổ sung:
- Bên cạnh việc sử dụng số liệu phân tích để khắc phục sự cố, bạn cũng có thể sử dụng Bộ kiểm thử để kiểm tra việc tích hợp theo bất kỳ vấn đề tiềm ẩn nào.
- Khi dữ liệu tích hợp của bạn đã sẵn sàng để chia sẻ với mọi người, bước tiếp theo là để dự án của bạn được chứng nhận WWGH. Để biết cách này, bạn có thể làm theo các bước trên trang Chứng chỉ.