1. Pengantar
Matter adalah protokol konektivitas yang menghadirkan peluang menarik untuk pengembangan perangkat smart. Dalam codelab ini, Anda akan membuat perangkat Matter pertama Anda. Untuk mempelajari Matter, buka Pusat Developer Google Home: Matter atau situs Connectivity Standards Alliance.
Yang akan Anda pelajari
- Cara mengintegrasikan perangkat fisik dengan Matter.
- Cara melakukan commissioning dan mengontrol perangkat Matter Anda dengan Google Home.
Yang Anda butuhkan
- Hub, yang merupakan perangkat Google Nest yang mendukung Matter, seperti Nest Hub (generasi ke-2).
- Papan evaluasi Matter ESP32-DevkitC atau ESP32 M5STACK dari Espressif Systems.
- PC yang menjalankan Linux.
- Pengetahuan dasar tentang Linux.
2. Menyiapkan lingkungan Anda
Mengidentifikasi perangkat serial
Langkah pertama dalam menyiapkan lingkungan pengembangan adalah menentukan port serial mana yang terhubung dengan perangkat Anda. Informasi ini akan memungkinkan Anda memprogram dan berinteraksi dengan board developer.
- Hubungkan board developer ke komputer menggunakan kabel USB.
- Lihat sistem file
/dev
untuk menemukan perangkat board developer. Anda dapat mempersempit penelusuran dengan menentukan awalan perangkat board developer. ESP32 Espressif menggunakan/dev/ttyUSBx
:user@host $ ls /dev/ttyUSB* /dev/ttyUSB0
Menyiapkan hub Anda
Siapkan hub Anda menggunakan Akun Google yang sama dengan yang ingin Anda gunakan untuk codelab ini.
Menyiapkan lingkungan pengembangan
Prasyarat
Petunjuk ini telah diuji pada Debian Linux dan akan berfungsi pada sebagian besar distribusi Linux berbasis Debian, termasuk Ubuntu. Jika Anda bekerja dengan distribusi Linux yang berbeda, prosedur penyiapan dependensi mungkin berbeda dari yang berikut.
Menginstal dependensi
Jalankan perintah berikut untuk menginstal biner paket Linux yang diperlukan yang mungkin belum diinstal:
$ 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
Siapkan SDK
Untuk melanjutkan codelab ini, Anda memerlukan Espressif SDK (espressif IoT Development Framework atau ‘ESP-IDF').
- Buat direktori untuk memuat ESP-IDF:
$ mkdir ~/esp-idf_tools
- Clone ESP-IDF dari GitHub ke direktori ini:
$ cd ~/esp-idf_tools $ git clone -b v4.4.3 --recursive https://github.com/espressif/esp-idf.git
- Selesaikan penginstalan toolchain:
$ cd ./esp-idf $ ./install.sh $ cd ~/
Menyiapkan Matter SDK
- Buat clone repositori Matter open source:
$ git clone https://github.com/project-chip/connectedhomeip.git $ cd ./connectedhomeip $ git fetch origin v1.0-branch $ git checkout FETCH_HEAD
- Ambil submodul repositori:
$ ./scripts/checkout_submodules.py --shallow --platform esp32
- Lakukan bootstrap pada lingkungan pengembangan Matter:
$ source ./scripts/bootstrap.sh
3. Konsol Developer Google Home
Konsol Google Home adalah aplikasi web tempat Anda mengelola integrasi Matter dengan Google Home.
Setiap perangkat Matter yang telah lulus sertifikasi Matter Connectivity Standards Alliance (Alliance) berfungsi di ekosistem Google Home. Perangkat dalam pengembangan yang belum disertifikasi dapat dipesan di ekosistem Google Home dalam kondisi tertentu. Lihat Batasan penyambungan untuk mengetahui informasi selengkapnya.
Membuat project developer
Mulailah dengan membuka Konsol Developer Google Home:
- Klik Buat proyek.
- Masukkan nama project yang unik, lalu klik Create project.
- Klik + Tambahkan integrasi, yang akan mengarahkan Anda ke layar Resource Matter, tempat Anda dapat melihat dokumentasi pengembangan Matter dan membaca beberapa alat.
- Jika sudah siap untuk melanjutkan, klik Berikutnya: Kembangkan, yang menampilkan halaman Checklist Matter.
- Klik Berikutnya: Penyiapan
- Di halaman Setup, masukkan Product name.
- Klik Pilih jenis perangkat dan pilih jenis perangkat dari menu drop-down (dalam hal ini,
Light
). - Di ID Vendor (VID), pilih Test VID, lalu pilih 0xFFF1 dari menu drop-down Test VID. Di ID Produk (PID), masukkan 0x8000 lalu klik Simpan & lanjutkan, lalu klik Simpan di halaman berikutnya. Gunakan nilai VID/PID persis ini, langkah codelab berikutnya akan bergantung pada nilai tersebut.
- Sekarang Anda akan melihat integrasi di bagian integrasi Matter.
- Mulai ulang hub Anda untuk memastikan hub tersebut menerima konfigurasi project integrasi Matter terbaru. Jika harus mengubah VID atau PID nanti, Anda juga harus memulai ulang setelah menyimpan project agar perubahan dapat diterapkan. Lihat Memulai ulang perangkat Google Nest atau Google Wifi untuk mengetahui petunjuk langkah demi langkah memulai ulang perangkat.
4. Membuat perangkat
Semua contoh di Matter ditempatkan di folder contoh di repositori GitHub. Ada beberapa contoh yang tersedia, tetapi fokus kita pada codelab ini adalah di lighting-app.
Contoh ini adalah perangkat sederhana yang muncul di Google Home sebagai Lampu Aktif/Nonaktif, yang merespons perintah Aktif dan Nonaktif. Kemampuan untuk mengontrol lampu listrik yang sebenarnya berada di luar cakupan codelab ini.
Mengonfigurasi build
- Konfigurasi Matter SDK dan aktifkan lingkungan pembuatan Matter:
$ cd ~/esp-idf_tools/esp-idf $ source export.sh $ cd ~/connectedhomeip $ source ./scripts/activate.sh
- Aktifkan Ccache, yang mempercepat proses build:
$ export IDF_CCACHE_ENABLE=1
- Pindah ke direktori build ESP32
lighting-app
dan tetapkan arsitektur target:$ cd ./examples/lighting-app/esp32 $ idf.py set-target esp32
- Jalankan utilitas konfigurasi:
$ idf.py menuconfig
- Pilih
Demo -> Device Type
dan tetapkanDevice Type
keESP32-DevKitC
. - Tekan tombol panah kiri untuk kembali ke menu tingkat atas.
- Pilih
Component config --->
. - Pilih
CHIP Device Layer --->
. - Pilih
Device Identification Options --->
. - Setel
Vendor ID
ke VID yang ditetapkan Aliansi, atau VID pengujian. - Tetapkan
Product ID
ke PID yang Anda tetapkan pada integrasi Matter di Konsol Google Home. - Tekan S untuk Menyimpan.
- Tekan tombol Return untuk menyetujui jalur default tempat konfigurasi akan disimpan.
- Tekan Return untuk menutup dialog konfirmasi penyimpanan.
- Tekan Q untuk Keluar dari utilitas konfigurasi.
- Jalankan utilitas konfigurasi:
Menjalankan build
Panggil skrip build:
idf.py build
Build akan selesai tanpa error.
Buat program perangkat
- Hubungkan board developer ke komputer menggunakan kabel USB.
- Hapus semua firmware sebelumnya pada perangkat (jika hanya ada satu board developer yang terhubung ke komputer, Anda dapat menonaktifkan opsi
-p {device}
- perangkat akan terdeteksi secara otomatis):idf.py -p {device} erase-flash
- Salin aplikasi baru Anda ke board developer dengan:
idf.py -p {device} flash
Informasi selengkapnya tentang opsi flash dapat ditemukan di halaman dokumentasi esptool.py
Espressif.
5. Hubungkan ke perangkat
- Buka jendela terminal.
- Catat direktori tempat Anda berada, lalu hubungkan ke perangkat Matter baru menggunakan GNU
screen
:$ screen -L {device} 115200
- Jika Anda melihat konsol kosong, tekan tombol RESET untuk memulai proses booting perangkat.
6. Komisi perangkat
Catatan: Langkah ini hanya akan berhasil jika Anda telah menyiapkan project di Konsol Google Home.
Nest Hub
Perlu hub untuk melakukan commissioning pada perangkat Anda pada kain Matter. Perangkat ini adalah perangkat Google Nest, seperti Nest Hub (generasi ke-2), yang mendukung Matter dan akan berfungsi sebagai Router Batas untuk perangkat yang mendukung Thread dan sebagai jalur fulfillment lokal untuk mengarahkan intent Smart Home.
Lihat daftar ini untuk melihat hub mana yang mendukung Matter.
Sebelum memulai proses commissioning, pastikan bahwa:
- Hub Anda disambungkan dengan Akun Google yang sama dengan yang Anda gunakan untuk login di Konsol Google Home.
- Hub Anda berada di jaringan Wi-Fi yang sama dengan komputer yang Anda gunakan untuk menjalankan Perangkat Virtual Matter.
- Hub Anda berada dalam struktur yang sama dengan yang Anda gunakan di Aplikasi Google Home. ("Rumah" di Grafik Google Home mewakili struktur Anda).
Pasangkan perangkat
Ikuti petunjuk penyambungan ESP32 untuk menyambungkan perangkat.
Catatan: Jika Anda menggunakan M5STACK, perhatikan bahwa layarnya akan tetap kosong setelah di-flash, sehingga Anda harus melihat kode QR menggunakan URL yang muncul di konsol. Atau, Anda dapat mengetikkan kode penyambungan manual.
Contoh output konsol yang menampilkan URL kode 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]]
Pemecahan masalah
Commissioning gagal
- Pastikan Anda telah membuat project dengan kombinasi VID/PID yang benar di Google Home Console.
- Pastikan Anda memasukkan VID dan PID yang benar dalam konfigurasi build.
- Pastikan Anda memilih
Device Type
yang benar dalam konfigurasi build.
Untuk mengetahui tips pemecahan masalah lainnya, lihat halaman Pemecahan Masalah Matter.
7. Mengontrol perangkat
Setelah perangkat yang mematuhi Matter berhasil ditugaskan dan muncul di aplikasi Google Home sebagai bohlam, Anda dapat mencoba mengontrol perangkat menggunakan Asisten Google, aplikasi Google Home, atau Simulator Asisten Google di Ekstensi Google Home untuk VS Code.
Asisten Google
Gunakan Asisten Google di ponsel atau hub Anda untuk mengalihkan status perangkat dari perintah suara, seperti mengucapkan "Ok Google, alihkan lampu saya".
Lihat bagian Mengontrol perangkat smart home dengan perintah suara di Mengontrol perangkat smart home yang ditambahkan ke aplikasi Google Home untuk mengetahui contoh perintah lainnya.
Aplikasi Google Home
Anda dapat mengetuk label Aktif dan Nonaktif di samping ikon bohlam yang ditampilkan di Aplikasi Google Home.
Lihat Mengontrol perangkat dengan aplikasi Google Home untuk mengetahui informasi selengkapnya.
Simulator Asisten Google
Di Ekstensi Google Home untuk VS Code, dengan menggunakan Simulator Asisten Google, Anda dapat mengeluarkan ucapan ke perangkat menggunakan antarmuka seperti chat.
8. Selamat!
Anda telah berhasil membuat dan menginstruksikan perangkat Matter pertama Anda. Keren!
Dalam codelab ini, Anda telah mempelajari cara:
- Menginstal lingkungan pengembangan Matter dari persyaratan hingga status kerja.
- Membuat dan menjalankan perangkat Matter.
- Lakukan komisi dan kontrol perangkat Anda dari Google Home.
Untuk mempelajari Matter lebih lanjut, pelajari referensi berikut:
- Matter Primer dari Google Home, tempat Anda akan mempelajari konsep dan prinsip penting protokol Matter.
- Spesifikasi Matter, Library Perangkat Matter, dan Library Cluster Aplikasi Matter, yang dipublikasikan oleh Terhubung Standard Alliance.
- Repositori GitHub Matter.