1. Wprowadzenie
Standard Matter to protokół łączności, który otwiera nowe możliwości w zakresie rozwoju urządzeń inteligentnych. W tym ćwiczeniu utworzysz pierwsze urządzenie Matter. Więcej informacji o Matter znajdziesz w Centrum dla deweloperów Google Home: Matter lub na stronie internetowej Connectivity Standards Alliance.
Czego się nauczysz
- Jak zintegrować urządzenie fizyczne z Matter.
- Jak skonfigurować urządzenie standardu Matter i sterować nim za pomocą Google Home.
Czego potrzebujesz
- hub, czyli dowolne urządzenie Google Nest obsługujące Matter, np. Nest Hub (2 generacji);
- Płytka ewaluacyjna Matter ESP32-DevkitC lub ESP32 M5STACK firmy Espressif Systems.
- komputer z systemem Linux,
- Podstawowa znajomość systemu Linux.
2. Konfigurowanie środowiska
Identyfikowanie urządzenia szeregowego
Pierwszym krokiem w konfigurowaniu środowiska programistycznego jest określenie portu szeregowego, do którego podłączone jest urządzenie. Te informacje pozwolą Ci zaprogramować płytkę deweloperską i z nią współpracować.
- Podłącz płytkę deweloperską do komputera za pomocą kabla USB.
- W systemie plików
/devznajdź urządzenie z płytą deweloperską. Możesz zawęzić wyszukiwanie, podając prefiks urządzenia płyty deweloperskiej. ESP32 firmy Espressif korzysta z/dev/ttyUSBx:user@host $ ls /dev/ttyUSB* /dev/ttyUSB0
Konfigurowanie centrali
Skonfiguruj hub za pomocą tego samego konta Google, którego zamierzasz użyć w tym laboratorium.
Konfigurowanie środowiska programistycznego
Wymagania wstępne
Te instrukcje zostały przetestowane w systemie Debian Linux i powinny działać w większości dystrybucji Linuksa opartych na Debianie, w tym Ubuntu. Jeśli korzystasz z innej dystrybucji systemu Linux, procedura konfiguracji zależności może się różnić od opisanej poniżej.
Instalowanie zależności
Uruchom to polecenie, aby zainstalować wymagane pliki binarne pakietu Linux, które mogą nie być jeszcze zainstalowane:
$ sudo apt-get install git gcc g++ pkg-config libssl-dev libdbus-1-dev \ libglib2.0-dev libavahi-client-dev ninja-build python3-venv python3-dev \ python3-pip unzip libgirepository1.0-dev libcairo2-dev libreadline-dev screen
Konfigurowanie pakietu SDK
Aby kontynuować to ćwiczenie, potrzebujesz pakietu Espressif SDK (Espressif IoT Development Framework lub „ESP-IDF”).
- Utwórz katalog, w którym będzie przechowywany ESP-IDF:
$ mkdir ~/esp-idf_tools
- Sklonuj ESP-IDF z GitHuba do tego katalogu:
$ cd ~/esp-idf_tools $ git clone -b v4.4.3 --recursive https://github.com/espressif/esp-idf.git
- Dokończ instalację łańcucha narzędzi:
$ cd ./esp-idf $ ./install.sh $ cd ~/
Konfigurowanie pakietu SDK Matter
- Sklonuj repozytorium Matter typu open source:
$ git clone https://github.com/project-chip/connectedhomeip.git $ cd ./connectedhomeip $ git fetch origin v1.0-branch $ git checkout FETCH_HEAD
- Pobierz moduły podrzędne repozytorium:
$ ./scripts/checkout_submodules.py --shallow --platform esp32
- Wczytaj środowisko programistyczne Matter:
$ source ./scripts/bootstrap.sh
3. Konsola programisty Google Home
Konsola programisty Google Home to aplikacja internetowa, w której możesz zarządzać integracjami Matter z Google Home.
Każde urządzenie Matter, które przeszło certyfikację Matter organizacji Connectivity Standards Alliance (Alliance), działa w ekosystemie Google Home. Urządzenia w trakcie opracowywania, które nie zostały certyfikowane, mogą być włączane do ekosystemu Google Home pod pewnymi warunkami. Więcej informacji znajdziesz w sekcji Ograniczenia parowania.
Tworzenie projektu deweloperskiego
Zacznij od otwarcia konsoli programisty Google Home:
- Kliknij Utwórz projekt.
- Wpisz unikalną nazwę projektu, a następnie kliknij Utwórz projekt.

- Kliknij + Dodaj integrację, aby przejść do ekranu Zasoby dotyczące Matter, na którym możesz wyświetlić dokumentację dotyczącą tworzenia urządzeń Matter i przeczytać informacje o niektórych narzędziach.
- Gdy wszystko będzie gotowe, kliknij Dalej: opracowywanie, aby wyświetlić stronę Lista kontrolna Matter.
- Kliknij Dalej: konfiguracja.
- Na stronie Konfiguracja wpisz nazwę produktu.
- Kliknij Wybierz typ urządzenia i z menu wybierz typ urządzenia (w tym przypadku
Light). - W polu Vendor ID (VID) wybierz Test VID, a następnie w menu Test VID wybierz 0xFFF1. W polu Identyfikator produktu (PID) wpisz 0x8000 i kliknij Save & continue (Zapisz i kontynuuj), a potem na następnej stronie kliknij Save (Zapisz). Użyj tych dokładnych wartości VID/PID, ponieważ zależą od nich kolejne kroki w samouczku.

- Teraz w sekcji Integracje Matter zobaczysz swoją integrację.
- Uruchom ponownie hub, aby mieć pewność, że otrzyma najnowszą konfigurację projektu integracji Matter. Jeśli później musisz zmienić identyfikator dostawcy lub identyfikator produktu, po zapisaniu projektu musisz też ponownie uruchomić urządzenie, aby zmiana została zastosowana. Szczegółowe instrukcje ponownego uruchamiania znajdziesz w artykule Ponowne uruchamianie urządzeń Google Nest lub Google Wifi.
4. Zbuduj urządzenie
Wszystkie przykłady w Matter znajdują się w folderze examples w repozytorium GitHub. Dostępnych jest kilka przykładów, ale w tym ćwiczeniu skupimy się na lighting-app.
Ten przykład to proste urządzenie, które w Google Home jest widoczne jako włącznik/wyłącznik światła i reaguje na polecenia włączania i wyłączania. Sterowanie prawdziwym światłem elektrycznym wykracza poza zakres tych ćwiczeń.
Konfigurowanie kompilacji
- Skonfiguruj pakiet SDK Matter i aktywuj środowisko kompilacji Matter:
$ cd ~/esp-idf_tools/esp-idf $ source export.sh $ cd ~/connectedhomeip $ source ./scripts/activate.sh
- Włącz Ccache, aby przyspieszyć proces kompilacji:
$ export IDF_CCACHE_ENABLE=1
- Przejdź do katalogu kompilacji
lighting-appESP32 i ustaw architekturę docelową:$ cd ./examples/lighting-app/esp32 $ idf.py set-target esp32
- Uruchom narzędzie do konfiguracji:
$ idf.py menuconfig
- Wybierz
Demo -> Device Typei ustawDevice TypenaESP32-DevKitC. - Naciśnij strzałkę w lewo, aby wrócić do menu najwyższego poziomu.
- Wybierz
Component config --->. - Wybierz
CHIP Device Layer --->. - Wybierz
Device Identification Options --->. - Ustaw
Vendor IDna identyfikator VID przypisany przez Alliance lub na testowy identyfikator VID. - Ustaw wartość
Product IDna identyfikator PID skonfigurowany w integracji standardu Matter w Google Home Developer Console. - Aby zapisać, naciśnij S.
- Naciśnij Return, aby zaakceptować domyślną ścieżkę, w której zostanie zapisana konfiguracja.
- Naciśnij Wróć, aby zamknąć okno potwierdzenia zapisania.
- Aby zamknąć narzędzie do konfiguracji, naciśnij Q.
- Uruchom narzędzie do konfiguracji:
Uruchamianie kompilacji
Wywołaj skrypt kompilacji:
idf.py build
Kompilacja powinna zakończyć się bez błędów.
Zaprogramuj urządzenie
- Podłącz płytkę deweloperską do komputera za pomocą kabla USB.
- Usuń poprzednie oprogramowanie sprzętowe z urządzenia (jeśli do komputera jest podłączona tylko jedna płytka deweloperska, możesz pominąć opcję
-p {device}– urządzenie powinno zostać wykryte automatycznie):idf.py -p {device} erase-flash - Skopiuj nową aplikację na płytkę deweloperską za pomocą tego polecenia:
idf.py -p {device} flash
Więcej informacji o opcjach migania znajdziesz na stronie dokumentacji Espressif.esptool.py
5. Połącz z urządzeniem
- Otwórz okno terminala.
- Zanotuj, w którym katalogu się znajdujesz, a następnie połącz się z nowym urządzeniem Matter za pomocą GNU
screen:$ screen -L {device} 115200 - Jeśli konsola jest pusta, naciśnij przycisk RESET, aby rozpocząć proces uruchamiania urządzenia.
6. Uruchom urządzenie
Uwaga: ten krok zakończy się powodzeniem tylko wtedy, gdy projekt został już skonfigurowany w Google Home Developer Console.
Nest Hub
Aby włączyć urządzenie w sieci standardu Matter, musisz mieć centralę. Jest to urządzenie Google Nest, takie jak Nest Hub (2 generacji), które obsługuje standard Matter i będzie pełnić funkcję routera granicznego dla urządzeń obsługujących Thread oraz lokalną ścieżkę realizacji do kierowania intencji związanych z inteligentnym domem.
Na tej liście znajdziesz informacje o tym, które huby obsługują Matter.
Zanim rozpoczniesz proces uruchamiania, sprawdź, czy:
- Hub jest sparowany z tym samym kontem Google, którego używasz do logowania się w konsoli Google Home.
- Hub jest połączony z tą samą siecią Wi-Fi co komputer, na którym uruchamiasz wirtualne urządzenie Matter.
- Hub znajduje się w tej samej strukturze, której używasz w aplikacji Google Home („dom” w Google Home Graph reprezentuje Twoją strukturę).
Sparuj urządzenie
Aby sparować urządzenie, postępuj zgodnie z instrukcjami parowania ESP32.
Uwaga: jeśli używasz M5STACK, pamiętaj, że po flashowaniu ekran pozostanie pusty, więc kod QR musisz wyświetlić za pomocą adresu URL, który pojawi się w konsoli. Możesz też wpisać kod parowania ręcznego.
Przykładowe dane wyjściowe konsoli z adresem URL kodu QR:
I (1926) chip[DL]: Done driving station state, nothing else to do...
I (1936) chip[SVR]: SetupQRCode: [MT:X.XXXXXXXXXXXXXXXXX]
I (1936) chip[SVR]: Copy/paste the below URL in a browser to see the QR Code:
I (1946) chip[SVR]: https://project-chip.github.io/connectedhomeip/qrcode.html?data=MT%3XX.KXXXXXXXXXXXXXXXX
I (1956) chip[SVR]: Manual pairing code: [XXXXXXXXXXX]]
Rozwiązywanie problemów
Nie udało się uruchomić
- Sprawdź, czy w konsoli Google Home masz utworzony projekt z prawidłową kombinacją identyfikatora dostawcy i identyfikatora produktu.
- Sprawdź, czy w konfiguracji kompilacji zostały wpisane prawidłowe wartości VID i PID.
- Upewnij się, że w konfiguracji kompilacji wybrano prawidłowy
Device Type.
Więcej wskazówek znajdziesz na stronie dotyczącej rozwiązywania problemów z Matter.
7. Sterowanie urządzeniem
Gdy urządzenie zgodne ze standardem Matter zostanie pomyślnie skonfigurowane i będzie widoczne w aplikacji Google Home jako żarówka, możesz spróbować sterować nim za pomocą Asystenta Google, aplikacji Google Home lub symulatora Asystenta Google w rozszerzeniu Google Home do VS Code.
Asystent Google
Używaj Asystenta Google na telefonie lub hubie, aby przełączać stan urządzenia za pomocą poleceń głosowych, np. „OK Google, włącz światła”.
Więcej przykładów poleceń znajdziesz w sekcji Sterowanie inteligentnymi urządzeniami domowymi za pomocą poleceń głosowych w artykule Sterowanie inteligentnymi urządzeniami domowymi dodanymi do aplikacji Google Home.
Aplikacja Google Home
Możesz kliknąć etykiety Włącz i Wyłącz obok ikony żarówki w aplikacji Google Home.
Więcej informacji znajdziesz w artykule Sterowanie urządzeniami za pomocą aplikacji Google Home.
Symulator Asystenta Google
W rozszerzeniu Google Home dla VS Code możesz używać symulatora Asystenta Google, aby wydawać polecenia urządzeniu za pomocą interfejsu podobnego do czatu.
8. Gratulacje!
Udało Ci się utworzyć i uruchomić pierwsze urządzenie Matter. Świetnie!
Z tego modułu dowiedzieliśmy się, jak:
- Zainstaluj środowisko programistyczne Matter, od wymagań po stan gotowości do pracy.
- Utwórz i uruchom urządzenie Matter.
- Uruchamiaj urządzenia i steruj nimi z poziomu Google Home.
Więcej informacji o Matter znajdziesz w tych materiałach:
- Podstawy Matter w Google Home, gdzie poznasz ważne pojęcia i zasady protokołu Matter.
- Specyfikacja Matter, biblioteka urządzeń Matter i biblioteka klastrów aplikacji Matter opublikowane przez Connected Standard Alliance.
- Repozytorium GitHub Matter.