โปรดทราบ โปรแกรมทดลองใช้สําหรับนักพัฒนาซอฟต์แวร์ใหม่จะเปิดตัวเร็วๆ นี้ สมัครที่นี่ และร่วมเป็นหนึ่งในคนกลุ่มแรกที่ได้ลองใช้เครื่องมือใหม่ๆ และแสดงความคิดเห็น

สร้างอุปกรณ์เสมือนจริงกรณี

1. ข้อมูลเบื้องต้น

Matter เป็นโปรโตคอลการเชื่อมต่อที่มอบโอกาสอันน่าตื่นเต้นสําหรับการพัฒนาอุปกรณ์อัจฉริยะ ใน Codelab นี้ คุณจะสร้างอุปกรณ์ Matter เครื่องแรกโดยใช้ SDK และทรัพยากร Dependency ที่ให้ไว้ในอิมเมจ Dock ที่กําหนดค่าไว้ล่วงหน้า

ดูข้อมูลเพิ่มเติมเกี่ยวกับ Matter ได้ที่ศูนย์นักพัฒนาแอป Google Home หรือเว็บไซต์ Connection Standards Alliance

สิ่งที่คุณจะได้เรียนรู้

  • วิธีตั้งค่าสภาพแวดล้อมบิลด์ของ Matter
  • วิธีสร้างอุปกรณ์ Matter เสมือนจริงที่ทํางานในคอมพิวเตอร์
  • วิธีว่าจ้างและควบคุมอุปกรณ์ Matter ออนไลน์ด้วย Google Home

สิ่งที่ต้องมี

  • ฮับซึ่งเป็นอุปกรณ์ Google Nest ที่รองรับ Matter เช่น Nest Hub (รุ่นที่ 2) คุณสามารถซื้อฮับที่ Google Store หรือที่ร้านค้าปลีกที่ต้องการ
  • เครื่อง Linux ที่ใช้ระบบหน้าต่าง X11
  • แท่นชาร์จ
  • ความรู้พื้นฐานเกี่ยวกับ Linux

2. ตั้งค่าสภาพแวดล้อม

เราจะใช้คอนเทนเนอร์ CDN ที่กําหนดค่าไว้ก่อนหน้านี้บนเครื่องโฮสต์ Linux คอนเทนเนอร์นี้อาศัยทรัพยากร Dependency ที่จําเป็นทั้งหมดสําหรับการสร้างและเรียกใช้อุปกรณ์เสมือน Matter

ตรวจสอบฮาร์ดแวร์ของคุณ

ขณะนี้ระบบยังไม่รองรับการติดตั้ง Windows สําหรับคอมพิวเตอร์ Windows และ MacOS คุณจะติดตั้งและสร้างกรณีด้วยตนเองใน MacOS หรือ Windows ก็ได้

นอกจากนี้ วิธีการเหล่านี้จะถือว่าเครื่อง Linux ของคุณใช้ระบบหน้าต่าง X11 หากเครื่อง Linux เรียกใช้ Wayland โปรดตรวจสอบว่าได้ติดตั้ง X.Org แล้ว

ตั้งค่า Dock

  1. ติดตั้ง Dock Engine (อย่าใช้ Dock Desktop)
  2. ดึงอิมเมจ Dock จาก Dock Hub ในหน้าต่างเทอร์มินัล ให้เรียกใช้คําสั่งต่อไปนี้
    user@host> docker pull us-docker.pkg.dev/nest-matter/docker-repo/virtual-device-image:latest
    
    การดําเนินการนี้อาจใช้เวลาสักครู่จึงจะเสร็จสมบูรณ์
  3. เริ่มต้นคอนเทนเนอร์ Dock ที่ทํางานอยู่:
    user@host> xhost local:1000
    user@host> docker run -it --ipc=host --net=host -e DISPLAY --name matter-container us-docker.pkg.dev/nest-matter/docker-repo/virtual-device-image:latest
    

หลังจากเริ่มต้นคอนเทนเนอร์ คุณควรเห็นผลลัพธ์การวินิจฉัยบางอย่าง ตามด้วยข้อความที่ยืนยันว่าการกําหนดค่าคอนเทนเนอร์ของคุณถูกต้อง และสุดท้ายคือ ข้อความแจ้งของคอนเทนเนอร์คอนเทนเนอร์:

Environment looks good, you are ready to go!
$

เรามาเข้าใจคําสั่ง Docker และตัวเลือกที่เราส่งต่อกัน

  • xhost local:1000 อนุญาตให้ระบบหน้าต่าง X รับการเชื่อมต่อจากโฮสต์ในเครื่องบนพอร์ต 1000 ทําให้สามารถใช้อินเทอร์เฟซผู้ใช้แบบกราฟิกได้
  • docker run … image จะเรียกใช้รูปภาพที่ระบุโดยดึงข้อมูลจากรีจิสทรีของ CDN หากจําเป็น
  • --ipc=host อนุญาตให้ Dock แชร์เนมสเปซการสื่อสารระหว่างการประมวลผลกับเครื่องโฮสต์
  • --net=host อนุญาตให้ Dock ใช้สแต็กเครือข่ายของโฮสต์ภายในคอนเทนเนอร์ ซึ่งจําเป็นต่อการส่ง mDNS จากโฮสต์ไปยังคอนเทนเนอร์ และแชร์จอแสดงผลโฮสต์ X11
  • -e DISPLAY จะส่งออก $DISPLAY ไปยังโฮสต์ ซึ่งให้สิทธิ์เข้าถึงอินเทอร์เฟซกราฟิกของระบบของคุณ ขั้นตอนนี้จําเป็นสําหรับการเรียกใช้เครื่องมือ ZAP เมื่อแก้ไขคลัสเตอร์ Matter
  • -it เรียกใช้ Dock ที่มีเครื่องชําระเงินแบบอินเทอร์แอกทีฟ (ty) แทนที่จะเป็นกระบวนการเบื้องหลัง

คุณสามารถเลือกเรียกใช้อินสแตนซ์เซสชันเทอร์มินัลที่ 2 ได้โดยทําดังนี้

user@host> docker exec -it matter-container /bin/bash
$

หยุดและเริ่มคอนเทนเนอร์คอนเทนเนอร์ Matter

เมื่อใดก็ตามที่คุณเรียกใช้คําสั่ง docker run คุณจะสร้างคอนเทนเนอร์ใหม่ที่มีรูปภาพที่ระบุ เมื่อดําเนินการนี้ ข้อมูลเก่าที่บันทึกไว้ในอินสแตนซ์คอนเทนเนอร์ก่อนหน้าจะหายไป ในบางครั้ง ก็อาจเกิดกรณีเช่นนี้ขึ้นได้เพราะจะช่วยให้คุณเริ่มต้นด้วยการติดตั้งใหม่ได้ แต่ก็มีบางครั้งที่คุณต้องการบันทึกการกําหนดค่างานและสภาพแวดล้อมระหว่างเซสชัน

ดังนั้นหลังจากที่สร้างคอนเทนเนอร์แล้ว คุณควรหยุดการทํางานของคอนเทนเนอร์เพื่อป้องกันไม่ให้งานของคุณสูญหาย

user@host> docker stop matter-container

เมื่อคุณพร้อมที่จะเรียกใช้อีกครั้งแล้ว ให้เริ่มต้นคอนเทนเนอร์และเปิดหน้าต่างเทอร์มินัล โดยทําดังนี้

user@host> docker start matter-container
user@host> docker exec -it matter-container /bin/bash

คุณอาจเปิดเซสชันเทอร์มินัลเพิ่มเติมในคอนเทนเนอร์ด้วยสิ่งต่อไปนี้

user@host> docker exec -it matter-container /bin/bash

หรือเริ่มเซสชันรูทโดยใช้สิ่งต่อไปนี้

user@host> docker exec -u 0 -it matter-container /bin/bash

การตั้งค่ากรณีเริ่มต้น

เมื่อเครื่องชําระเงินเปิดอยู่ เครื่องจะอยู่ในที่เก็บโคลนของ Matter ที่ ~/connectedhomeip คุณไม่จําเป็นต้องดําเนินการใดๆ เพิ่มเติมเพื่อตั้งค่า Matter

แชร์ไฟล์ระหว่างโฮสต์กับคอนเทนเนอร์

หากต้องการเข้าถึงไฟล์ในเครื่องโฮสต์จากภายในคอนเทนเนอร์ คุณอาจใช้ตัวยึดการเชื่อมโยง นอกจากนี้ คุณยังเขียนไฟล์ไปยังไดเรกทอรีที่ติดตั้งไว้จากภายในคอนเทนเนอร์ได้ด้วยเพื่อให้เข้าถึงได้ง่ายจากโฮสต์

เรียกใช้คอนเทนเนอร์ด้วยอาร์กิวเมนต์เพิ่มเติม --mount source=$(pwd),target=/workspace,type=bind เพื่อต่อเชื่อมไดเรกทอรีการทํางานปัจจุบันในคอนเทนเนอร์ที่ /workspace

user@host> docker run -it --ipc=host --net=host -e DISPLAY --name matter-container --mount source=$(pwd),target=/workspace,type=bind us-docker.pkg.dev/nest-matter/docker-repo/virtual-device-image:latest

ต้องมีการอนุญาตให้ผู้ใช้ของผู้ใช้คอนเทนเนอร์ในไดเรกทอรีต่อเชื่อมในโฮสต์

รับรหัสกลุ่มของผู้ใช้คอนเทนเนอร์จากภายในคอนเทนเนอร์

$ id
uid=1000(matter) gid=1000(matter) groups=1000(matter)

เปิดเซสชันเทอร์มินัลอื่นในโฮสต์คอนเทนเนอร์ และตั้งค่าไดเรกทอรีการทํางานเป็นไดเรกทอรีที่คอนเทนเนอร์ต่อเชื่อม

กําหนดกลุ่มซ้ําสําหรับไฟล์ในไดเรกทอรีที่ต่อเชื่อมกับกลุ่มของผู้ใช้คอนเทนเนอร์

user@host> sudo chgrp -R 1000 .

ให้สิทธิ์ที่ต้องการในไดเรกทอรีแก่กลุ่ม ตัวอย่างนี้ให้สิทธิ์การอ่าน เขียน และเรียกใช้กลุ่มของผู้ใช้คอนเทนเนอร์ในไฟล์ทั้งหมดในไดเรกทอรีต่อเชื่อม

user@host> sudo chmod -R g+rwx .

โปรดทราบว่าคําสั่งเหล่านี้จะไม่ส่งผลกระทบต่อสิทธิ์ของไฟล์ใหม่ที่สร้างโดยผู้ใช้โฮสต์ อย่าลืมอัปเดตสิทธิ์ของไฟล์ใหม่ที่สร้างขึ้นในโฮสต์ตามความจําเป็น

คุณอาจเพิ่มผู้ใช้โฮสต์ลงในกลุ่มของผู้ใช้คอนเทนเนอร์เพื่อรับช่วงสิทธิ์ในไฟล์ที่สร้างโดยผู้ใช้คอนเทนเนอร์

user@host> currentuser=$(whoami)
user@host> sudo usermod -a -G 1000 $currentuser

3. คอนโซลของนักพัฒนาซอฟต์แวร์ของ Google Home

คอนโซลของนักพัฒนาซอฟต์แวร์ Google Home คือเว็บแอปพลิเคชันที่คุณจัดการการผสานรวม Matter กับ Google Home

อุปกรณ์ Matter ใดๆ ที่ผ่านการรับรอง CSA Matter จะทํางานในระบบนิเวศของ Google Home อุปกรณ์ที่อยู่ระหว่างการพัฒนาแต่ไม่ได้รับการรับรองอาจได้รับค่าคอมมิชชันในระบบนิเวศของ Google Home ภายใต้เงื่อนไขบางอย่าง ดูข้อมูลเพิ่มเติมได้ที่ข้อจํากัดการจับคู่

สร้างโปรเจ็กต์นักพัฒนาซอฟต์แวร์

เริ่มจากไปที่ Google Home Console

  1. ในหน้าจัดการโปรเจ็กต์ ให้คลิกสร้างโปรเจ็กต์
    ศูนย์นักพัฒนาซอฟต์แวร์ Google Home
  2. ในหน้าเริ่มต้นใช้งาน ให้คลิกสร้างโปรเจ็กต์

  1. ป้อนชื่อโปรเจ็กต์ที่ไม่ซ้ํากัน แล้วคลิกสร้างโปรเจ็กต์ใหม่ กล่องโต้ตอบการสร้างโปรเจ็กต์ใหม่
  2. คลิก + เพิ่มการผสานรวม ซึ่งจะนําคุณไปยังหน้าจอ "ทรัพยากร Matter" ซึ่งคุณจะเห็นเอกสารการพัฒนา Matter และอ่านเกี่ยวกับเครื่องมือบางอย่าง
  3. เมื่อคุณพร้อมดําเนินการต่อ ให้คลิกถัดไป: พัฒนา ซึ่งแสดงหน้ารายการตรวจสอบกรณี
  4. คลิกถัดไป: การตั้งค่า
  5. ป้อนชื่อผลิตภัณฑ์ในหน้าตั้งค่า
  6. คลิกเลือกประเภทอุปกรณ์ แล้วเลือกประเภทอุปกรณ์จากเมนูแบบเลื่อนลง (ในกรณีนี้คือ Light)
  7. ในรหัสผู้ให้บริการ (VID) ให้เลือกทดสอบ VID แล้วเลือก 0xFFF1 จากเมนูแบบเลื่อนลงสําหรับทดสอบ VID ในรหัสผลิตภัณฑ์ (PID) ให้ป้อน 0x8000 แล้วคลิกบันทึกและดําเนินการต่อ แล้วคลิกบันทึกในหน้าถัดไป
    การสร้างโปรเจ็กต์
  8. ตอนนี้คุณจะเห็นอุปกรณ์ Matter 1 เครื่องในส่วนการผสานรวม Matter การผสานรวม Matter
  9. รีบูตฮับเพื่อให้แน่ใจว่าได้รับการกําหนดค่าโปรเจ็กต์การผสานรวม Matter ล่าสุด หากต้องเปลี่ยน VID หรือ PID ในภายหลัง คุณจะต้องรีบูตหลังจากที่บันทึกโปรเจ็กต์แล้ว เพื่อให้การเปลี่ยนแปลงมีผล

4. สร้างอุปกรณ์

ตัวอย่างทั้งหมดใน Matter อยู่ในโฟลเดอร์ examples ในที่เก็บ GitHub มีตัวอย่างหลายรายการ แต่เราได้มุ่งเน้นไปที่ Codelab นี้ใน Chef

เชฟ เป็นทั้งสอง:

  • แอปตัวอย่างที่มีอินเทอร์เฟซเทอร์มินัลและรวมฟีเจอร์การตัดไปในแอป examples/shell ด้วย
  • สคริปต์ที่ยึดมั่นในหลักการของการกําหนดค่าตามปกติเพื่อสรุปงานทั่วไปหลายอย่างที่จําเป็นต่อการพัฒนาอุปกรณ์ที่เปิดใช้ Matter

ไปที่โฟลเดอร์ตัวอย่างของ Chef แล้วสร้าง Matter รายการแรก

$ cd examples/chef
$ ./chef.py -zbr -d rootnode_dimmablelight_bCwGYSDpoe -t linux

เชฟมีตัวเลือกบางอย่างที่มองเห็นโดยเรียกใช้ chef.py -h ตัวเลือกที่เราใช้มีดังนี้

  • -d: กําหนดประเภทอุปกรณ์ที่จะใช้ ในกรณีนี้ เราจะสร้างแอปการจัดแสงที่มีการเปิด/ปิดและการควบคุมระดับอุปกรณ์
  • -z: เรียกใช้เครื่องมือ ZAP เพื่อสร้างไฟล์แหล่งที่มาที่ใช้ประเภทอุปกรณ์ กล่าวคือ ZAP จะสร้างโค้ดขึ้นโดยอัตโนมัติเพื่อนําไปรวมไว้ในบิลด์ที่กําหนดแสง (โมเดลข้อมูล) และวิธีที่ผู้ใช้โต้ตอบกับอุปกรณ์ (โมเดลการโต้ตอบ) ตามแสงที่คุณเลือก
  • -b: บิลด์
  • -r: [ไม่บังคับ] เปิดใช้เซิร์ฟเวอร์ RPC ในอุปกรณ์ Matter เสมือนจริงเพื่อให้คอมโพเนนต์อื่นๆ (เช่น GUI) สื่อสารกับอุปกรณ์เพื่อตั้งค่าและเรียกข้อมูลแอตทริบิวต์โมเดลข้อมูลได้
  • -t linux: แพลตฟอร์มเป้าหมาย แพลตฟอร์มการสนับสนุนคือ linux, nrfconnect และ esp32 คุณสามารถเรียกใช้ ./chef.py -h เพื่อดูคําสั่งทั้งหมดและแพลตฟอร์มเป้าหมายที่รองรับได้ linux ใช้กับอุปกรณ์ Matter เสมือนจริง

เรียกใช้อุปกรณ์

Matter ใช้พอร์ต TCP/UDP 5540 ดังนั้นหากคุณมีไฟร์วอลล์ทํางานอยู่ในคอมพิวเตอร์ ให้ปิดเครื่องหรืออนุญาตการเชื่อมต่อ TCP/UDP ขาเข้าบนพอร์ต 5540

เรียกใช้อุปกรณ์เสมือนในคอนเทนเนอร์ด้วยสิ่งต่อไปนี้

$ ./linux/out/rootnode_dimmablelight_bCwGYSDpoe
   [1648589956496] [14264:16538181] CHIP: [DL] _Init]
...
[1648562026.946882][433632:433632] CHIP:SVR: SetupQRCode: [MT:Y3.13Y2N00KA0648G00]
[1648562026.946893][433632:433632] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code:
[1648562026.946901][433632:433632] CHIP:SVR: https://project-chip.github.io/connectedhomeip/qrcode.html?data=MT%3AY3.13Y2N00KA0648G00
[1648562026.946915][433632:433632] CHIP:SVR: Manual pairing code: [34970112332]

ปล่อยให้อุปกรณ์ทํางานต่อไป ทีนี้เราจะหันมาให้ความสําคัญกับแอป Google Home เพื่อที่จะได้ค่าคอมมิชชันให้อุปกรณ์เป็น Google Home

หยุดอุปกรณ์

คุณจะออกจากโปรแกรมได้ด้วย CTRL+C หากแอปไม่ออก คุณอาจต้องใช้ CTRL+\ ด้วย

ข้อมูลเข้าสู่ระบบสําหรับอุปกรณ์เสมือนจะจัดเก็บอยู่ในไดเรกทอรี /tmp/ โดยจะแสดงไฟล์ที่ขึ้นต้นด้วยคํานําหน้า chip

หากต้องการทําตามขั้นตอนค่าคอมมิชชันทั้งหมดตั้งแต่ต้น ก็จะต้องลบไฟล์เหล่านั้นโดยเรียกใช้คําสั่งต่อไปนี้

$ rm /tmp/chip*

5. ตัวควบคุมอุปกรณ์เสมือน

ตัวควบคุมอุปกรณ์เสมือนเป็นแอปแบบสแตนด์อโลนที่มีอินเทอร์เฟซผู้ใช้แบบกราฟิกเพื่อควบคุมและแสดงสถานะของอุปกรณ์ Matter เสมือนจริง โดยใช้ไคลเอ็นต์ RPC เพื่อสื่อสารกับอุปกรณ์ Matter ที่เชื่อมต่อกับสภาพแวดล้อมในการพัฒนาซอฟต์แวร์

ตัวควบคุมอุปกรณ์เสมือน

ตัวควบคุมอุปกรณ์เสมือนนําเสนอภาพอุปกรณ์เสมือนจริงของคุณ

คุณโต้ตอบกับอุปกรณ์เสมือนได้ผ่านอินเทอร์เฟซผู้ใช้กราฟิก (GUI) เสมือนของตัวควบคุมอุปกรณ์เสมือน การเปลี่ยนแปลงใน GUI ของคุณส่งผลต่อโมเดลข้อมูลที่สําคัญ ปัจจุบันตัวควบคุมอุปกรณ์เสมือนรองรับอุปกรณ์แบบหรี่ไฟได้

ติดตั้งตัวควบคุมอุปกรณ์เสมือน

ตัวควบคุมอุปกรณ์เสมือนติดตั้งไว้ล่วงหน้าบนคอนเทนเนอร์ Ubuntu LTS 20.04

เรียกใช้ตัวควบคุมอุปกรณ์เสมือน

สร้างอินสแตนซ์เซสชันเทอร์มินัลที่ 2 ดังนี้

user@host> docker exec -it matter-container /bin/bash
$

เริ่มตัวควบคุมอุปกรณ์เสมือนโดยระบุเต้ารับเครือข่ายที่จะใช้สื่อสารกับอุปกรณ์เสมือน ดังนี้

  $ cd ~/matter-virtual-device-gui/
  $ electron main.js --s=localhost:33000 --no-sandbox

หากคุณเริ่มตัวควบคุมโดยไม่ระบุอาร์กิวเมนต์ ค่าเริ่มต้นจะเป็นตัวเลือกซ็อกเก็ตเครือข่ายโดยใช้พอร์ต localhost 33000 เมื่อตัวควบคุมเชื่อมต่อกับอุปกรณ์เสมือนได้ หน้าจอจะแสดงสถานะอุปกรณ์ดังต่อไปนี้

อินเทอร์เฟซผู้ใช้กราฟิกเสมือนในอุปกรณ์

แอปจะส่งคําขอไปยังเซิร์ฟเวอร์ RPC ของอุปกรณ์เมื่อคุณทําการเปลี่ยนแปลงในแอปตัวควบคุมเสมือน และให้แบบสํารวจเซิร์ฟเวอร์ RPC 1 ครั้งต่อวินาทีเพื่อเรียกสถานะ

นอกจากนี้ คุณยังใช้แอปตัวควบคุมอุปกรณ์เสมือนเพื่อเรียกคิวอาร์โค้ดซึ่งเป็นส่วนหนึ่งของขั้นตอนการตั้งค่าอุปกรณ์ได้ คลิกไอคอนคิวอาร์โค้ดข้างรูปภาพอุปกรณ์เพื่อแสดงคิวอาร์โค้ดสําหรับอุปกรณ์นี้

โค้ด QR

คุณใช้คิวอาร์โค้ดนี้เพื่อตั้งค่าอุปกรณ์ได้

6. ค่าคอมมิชชันอุปกรณ์

หมายเหตุ: ขั้นตอนนี้จะสําเร็จก็ต่อเมื่อคุณตั้งค่าโปรเจ็กต์ใน Google Play Console แล้วเท่านั้น

Nest Hub

ต้องมีฮับเพื่อตั้งค่าอุปกรณ์บนผ้า Matter อุปกรณ์นี้เป็นอุปกรณ์ Google Nest เช่น Nest Hub (รุ่นที่ 2) ที่รองรับ Matter ซึ่งจะทําหน้าที่เป็นทั้ง Border Router สําหรับอุปกรณ์ที่เปิดใช้ชุดข้อความ และเป็นเส้นทางการตอบสนองในเครื่องสําหรับการกําหนดเส้นทาง Intent ของ Smart Home

ดูรายการนี้เพื่อดูว่าฮับใดรองรับ Matter ก็ได้

ก่อนเริ่มขั้นตอนการว่าจ้าง ให้ตรวจสอบดังนี้

  • ฮับของคุณจับคู่กับบัญชี Google เดียวกันกับที่คุณใช้ในการลงชื่อเข้าใช้บน Google Home Console
  • ฮับของคุณอยู่ในเครือข่าย Wi-Fi เดียวกันกับคอมพิวเตอร์ที่คุณใช้เรียกใช้อุปกรณ์ Virtual Matter
  • ฮับอยู่ในโครงสร้างเดียวกันกับที่คุณใช้ในแอป Google Home ("บ้าน" ในกราฟ Google Home แสดงโครงสร้างของคุณ)

รับคิวอาร์โค้ด

กระบวนการว่าจ้างต้องใช้ข้อมูลการเริ่มต้นใช้งานของ Matter ผ่านคิวอาร์โค้ด คุณรับคิวอาร์โค้ดสําหรับอุปกรณ์เสมือนได้จากตัวควบคุมอุปกรณ์เสมือน

ดําเนินการค่าคอมมิชชัน

  1. เปิดแอป Google Home
  2. แตะเครื่องหมาย + ที่มุมซ้ายบน
  3. แตะตั้งค่าอุปกรณ์
  4. แตะอุปกรณ์ใหม่
  5. เลือกบ้านแล้วแตะถัดไป
  6. แอป Google Home จะสแกนหาอุปกรณ์ของคุณ หากได้รับข้อความ "พบอุปกรณ์ Matter..." ให้แตะ "ใช่" หรือแตะตั้งค่าอุปกรณ์อื่น แล้วเลือกอุปกรณ์จากรายการอุปกรณ์
  7. เล็งกล้องไปที่คิวอาร์โค้ดของอุปกรณ์หรือคิวอาร์โค้ดที่เว็บไซต์สร้างขึ้น
  8. ทําตามขั้นตอนการจับคู่ตามที่ระบุไว้ในขั้นตอนของแอป Google Home

เมื่อทําตามขั้นตอนเหล่านี้แล้ว อุปกรณ์เสมือน Matter ควรทําค่าคอมมิชชันเรียบร้อยแล้ว และควรแสดงเป็นไอคอนใหม่ในแอป Google Home

หลอดไฟที่จับคู่ในแอป Google Home

การแก้ปัญหา

ค่าคอมมิชชันไม่สําเร็จโดยมีข้อความแสดงข้อผิดพลาด "ปัญหาการเชื่อมต่อ" หรือ "ติดต่อ Google ไม่ได้"

  • ตรวจสอบว่าคุณได้สร้างโปรเจ็กต์ที่มีชุดค่าผสม VID/PID ที่ถูกต้อง ในคอนโซล Google Home และไม่มีโปรเจ็กต์อื่นๆ ที่ใช้ชุดค่าผสม VID/PID เดียวกัน

ค่าคอมมิชชันไม่สําเร็จหลังจาก "สแกนอุปกรณ์" เป็นเวลานาน

7. ควบคุมอุปกรณ์

เมื่ออุปกรณ์ค่าคอมมิชชัน Matter ทํางานสําเร็จและปรากฏในแอป Google Home เป็นหลอดไฟ คุณอาจทดสอบการควบคุมอุปกรณ์ได้ด้วยวิธีต่อไปนี้

  • การใช้ Google Assistant
  • ใช้แอป Google Home
  • การใช้ UI ของอุปกรณ์เสมือน

Google Assistant

ใช้ Google Assistant ในโทรศัพท์หรือฮับเพื่อสลับสถานะอุปกรณ์จากคําสั่งเสียง เช่น พูดว่า "Ok Google สลับไฟของฉัน"

ดูตัวอย่างคําสั่งเพิ่มเติมได้ในส่วนควบคุมอุปกรณ์ในบ้านอัจฉริยะด้วยคําสั่งเสียงในควบคุมอุปกรณ์ในบ้านอัจฉริยะที่เพิ่มลงในแอป Google Home

แอป Google Home

แตะป้ายกํากับเปิดและปิดข้างไอคอนหลอดไฟที่แสดงในแอป Google Home

โปรดดูข้อมูลเพิ่มเติมในส่วนควบคุมอุปกรณ์ด้วยแอป Google Home ของควบคุมอุปกรณ์ในบ้านอัจฉริยะที่เพิ่มลงในแอป Google Home

GUI อุปกรณ์เสมือน

คุณจะโต้ตอบกับ GUI ของอุปกรณ์เสมือนเพื่อเปลี่ยนสถานะของอุปกรณ์ได้ ไม่ว่าคุณจะควบคุมอุปกรณ์เสมือนด้วยตัวควบคุมอุปกรณ์เสมือน แอป Google Home ในโทรศัพท์ หรือกับฮับ อินเทอร์เฟซทั้งหมดเหล่านี้จะแสดงถึงสถานะปัจจุบันของอุปกรณ์เสมือน

8. ยินดีด้วย

คุณได้สร้างอุปกรณ์ Matter เครื่องแรกสําเร็จแล้ว ยอดเยี่ยม

ใน Codelab นี้ คุณได้เรียนรู้วิธีทําสิ่งต่อไปนี้

  • ติดตั้งสภาพแวดล้อมการพัฒนา Matter โดยใช้อิมเมจ Dock ที่สร้างไว้ล่วงหน้า
  • สร้างและเรียกใช้อุปกรณ์เสมือน Matter
  • ค่าคอมมิชชันและควบคุมอุปกรณ์เสมือนจาก Google Home

หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับ Matter ให้ดูข้อมูลอ้างอิงต่อไปนี้

  • Merter Primer ใน Google Home Developer Center ซึ่งคุณจะได้เรียนรู้ข้อมูลเบื้องต้นเกี่ยวกับแนวคิดของ Matter
  • ข้อมูลจําเพาะของ Matter, ไลบรารีอุปกรณ์ Matter และไลบรารีคลัสเตอร์แอปพลิเคชัน Matter เผยแพร่โดย Connectivity Standards Alliance
  • ที่เก็บ GitHub ของ Matter