
Google Home Sample App for Matter ใช้ Google Home Mobile SDK เพื่อสร้างแอป Android ที่คล้ายกับ Google Home app (GHA) แอปตัวอย่างนี้มีฟีเจอร์ต่อไปนี้
- จัดสรรอุปกรณ์จริงและอุปกรณ์เสมือน Matter ให้กับ Local Android fabric
- จัดสรรอุปกรณ์จริงและอุปกรณ์เสมือนให้กับโครงสร้างพื้นฐานสำหรับการพัฒนา
- ควบคุมอุปกรณ์ใน Fabric สำหรับการพัฒนา เช่น การเปิด ไฟ
- ฟีเจอร์ผู้ดูแลระบบหลายคนช่วยให้คุณแชร์อุปกรณ์ใน Fabric สำหรับการพัฒนา กับแอปอื่นๆ ได้ และในทางกลับกันก็สามารถรวมอุปกรณ์ที่แชร์จากแอปอื่นๆ ไว้ใน Fabric สำหรับการพัฒนา ได้ด้วย
- ยูทิลิตีสำหรับนักพัฒนาแอป
คู่มือนี้อธิบายวิธีติดตั้ง Sample App for Matter APK และใช้ เพื่อจัดสรร ควบคุม และแชร์อุปกรณ์ Matter
หากต้องการดาวน์โหลดซอร์สโค้ด ดูวิธีผสานรวม Mobile SDK และปรับแต่งหน้าจอใน Android Studio โปรดลองใช้ Sample App for Matter Codelab ของเรา
ไปที่ Sample App for Matter codelab
ข้อกำหนดเบื้องต้น
- อุปกรณ์ Android O (8.1, API ระดับ 27) ขึ้นไปที่พร้อมสำหรับการทดสอบ หากต้องการตรวจสอบว่าอุปกรณ์มีMatter การรองรับล่าสุด โปรดอ่านคู่มือยืนยันโมดูลและบริการMatter
- สร้างอุปกรณ์ Matter ที่มีความสามารถในการเปิด/ปิด แอปตัวอย่างนี้ทำงานร่วมกับอุปกรณ์เสมือนและ ESP32
- อุปกรณ์เสมือน Matter (MVD) เราขอแนะนำอย่างยิ่งให้คุณใช้ MVD เพื่อเริ่มต้น เพื่อลดปัญหาเกี่ยวกับสภาพแวดล้อม หากพบปัญหา การตรวจสอบจะง่ายขึ้นมากหากใช้แอปตัวอย่างกับ MVD
- สร้างMatterอุปกรณ์เสมือน
ด้วยแอป
rootnode_dimmablelight_bCwGYSDpoeเมื่อคุณ สร้างMatterการผสานรวม ใน Google Home Developer Console ให้ใช้0xFFF1เป็นรหัสผู้ให้บริการและ0x8000เป็นรหัสผลิตภัณฑ์ - สร้างอุปกรณ์ Espressif
ด้วย
all-clusters-appเมื่อคุณ สร้างMatterการผสานรวม ใน Developer Console ให้ใช้0xFFF1เป็นรหัสผู้ให้บริการและ0x8001เป็นรหัสผลิตภัณฑ์
คุณไม่จำเป็นต้องมีฮับ เช่น Google Nest Hub (2nd gen) เพื่อเปิดใช้งานและควบคุมอุปกรณ์ที่มี Sample App for Matter
ติดตั้ง
ไปที่ส่วนรีลีส ในที่เก็บ Sample App for Matter GitHub สำหรับรุ่นล่าสุด ให้ค้นหา APK ที่ชื่อ
GHSAFM-version-default-debug.apkในส่วนชิ้นงาน อย่าเลือกtargetcommissionerติดตั้ง Android Debug Bridge (adb) โดยทำดังนี้
เชื่อมต่ออุปกรณ์ Android ด้วย USB และเปิดใช้การโอนไฟล์ จากนั้น ติดตั้ง APK โดยทำดังนี้
$ adb unroot && adb install GHSAFM-version-default-debug.apk
ตั้งค่าอุปกรณ์
เมื่อเปิดแอปตัวอย่างเป็นครั้งแรก คุณจะเห็นกล่องโต้ตอบที่มี ลิงก์ไปยัง Sample App for Matter Codelab หากเลือกอย่าแสดงข้อความนี้อีก คุณจะเรียกกล่องโต้ตอบกลับมาได้ทุกเมื่อโดยการอัปเดตค่ากำหนดในส่วนผู้ดูแลระบบของแอป
ในขั้นตอนถัดไป คุณจะเพิ่มMatterอุปกรณ์ลงใน Fabric Android ในพื้นที่ พร้อมกับ Fabric สำหรับการพัฒนาที่อยู่ในแอปตัวอย่างเท่านั้น
Matter Fabrics คืออะไร

Matter Fabric คือโดเมนความน่าเชื่อถือที่แชร์กันในหมู่อุปกรณ์ ในเครือข่ายในบ้าน ซึ่งช่วยให้อุปกรณ์สื่อสารกันได้
อุปกรณ์อาจมี Fabric อย่างน้อย 1 รายการที่สอดคล้องกับแพลตฟอร์ม แอป หรือ กลุ่มอุปกรณ์ที่โต้ตอบกัน Fabric มีรหัสที่ไม่ซ้ำกัน และอุปกรณ์จะใช้ชุดข้อมูลเข้าสู่ระบบและผู้ออกใบรับรอง (CA) ชุดเดียวกัน ระบบจะกำหนดข้อมูลเข้าสู่ระบบเหล่านี้ในระหว่างการMatter เตรียมใช้งาน
หากต้องการเปิดใช้Matter ให้ทำตามขั้นตอนต่อไปนี้
แตะปุ่มเพิ่ม อุปกรณ์เพื่อเริ่มกระบวนการจัดสรร

จากนั้นระบบจะโอนการควบคุมไปยัง Google Play services ซึ่งเปิดตัว จากการเรียกไปยัง Mobile SDK หากต้องการยืนยันการเป็นเจ้าของ ให้สแกนคิวอาร์โค้ดหรือแตะใช้รหัสการจับคู่

เมื่อการคอมมิชชันเสร็จสมบูรณ์ ให้ป้อนชื่ออุปกรณ์ แล้วแตะเสร็จสิ้น
ตอนนี้อุปกรณ์ของคุณเชื่อมต่อกับทั้ง Fabric ของ Android ในเครื่องและ Fabric สำหรับการพัฒนาแล้ว
Play services จะจัดการงานการจัดสรรทั้งหมดและหน้าจอที่เกี่ยวข้องเมื่อจัดสรรอุปกรณ์ ซึ่งจะช่วยให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่สอดคล้องกันและลดความจำเป็นในการจัดการสิทธิ์ที่ละเอียดอ่อน เช่น ข้อมูลเข้าสู่ระบบ Wi-Fi และ Thread
ควบคุมอุปกรณ์
Fabric การพัฒนาจะสร้างข้อมูลเข้าสู่ระบบเพื่อควบคุม Matter อุปกรณ์ได้โดยตรงจากแอปตัวอย่าง
จากหน้าจอหลัก คุณสามารถเปิดหรือปิดอุปกรณ์ได้ แตะอุปกรณ์เพื่อเข้าถึงรายละเอียดอุปกรณ์

แชร์อุปกรณ์
การแชร์อุปกรณ์เรียกว่าโฟลว์ผู้ดูแลระบบหลายคนในข้อกำหนดของ Matter เมื่อจัดสรรอุปกรณ์ให้กับแอปตัวอย่างแล้ว คุณจะแชร์อุปกรณ์กับระบบนิเวศอื่นๆ ได้อย่างง่ายดาย
หากต้องการแชร์อุปกรณ์ Matter กับระบบนิเวศอื่นๆ คุณจะต้องติดตั้งแพลตฟอร์มอื่นในอุปกรณ์ Android แพลตฟอร์มภายนอกนี้จะกลายเป็นผู้กำหนดเป้าหมาย เราได้สร้างอินสแตนซ์อื่นของแอปตัวอย่างที่คุณใช้เป็นผู้รับค่าคอมมิชชันเป้าหมายได้
ไปที่ส่วนรีลีส ในที่เก็บ Sample App for Matter GitHub สำหรับรุ่นล่าสุด ให้ค้นหา APK ที่ชื่อ
GHSAFM-version-targetcommissioner-debug.apkในส่วนชิ้นงาน อย่าเลือกdefaultติดตั้งผู้ดูแลระบบเป้าหมาย
$ adb unroot && adb install GHSAFM-version-targetcommissioner-debug.apkจากหน้าจอหลัก ให้แตะอุปกรณ์เพื่อแสดงข้อมูลอุปกรณ์ แตะ แชร์

แอปตัวอย่างจะเรียกใช้ Mobile SDKShare API และระบบจะโอนการควบคุมไปยัง Play services อีกครั้ง
แผ่นแชร์จะปรากฏขึ้นเพื่อให้คุณเลือกแอปหรือแพลตฟอร์มที่ต้องการจับคู่อุปกรณ์ หน้าจอนี้มีวิธีแชร์อุปกรณ์ 2 วิธี ดังนี้
- ด้วยตนเองผ่านรหัสการตั้งค่าที่จะแชร์กับแอปค่าคอมมิชชันเป้าหมาย
- ด้วยแอป Android ในพื้นที่ที่ลงทะเบียนเป็น Matterผู้รับมอบอำนาจ
แอปผู้รับมอบสิทธิ์เป้าหมายมีป้ายกำกับ GHSAFM-TC แตะอินสแตนซ์ของ แอปตัวอย่างนี้เพื่อแชร์อุปกรณ์
จากนั้นแอปภายนอก (ผู้จัดสรรเป้าหมาย) จะจัดสรร อุปกรณ์ลงใน Fabric ของตัวเองให้เสร็จสมบูรณ์
การตั้งค่า
จากหน้าจอหลัก ให้คลิกไอคอนการตั้งค่า ในส่วนนี้ คุณจะมีตัวเลือกในการ อัปเดตค่ากำหนดของผู้ใช้ รับความช่วยเหลือ และดูข้อมูลเพิ่มเติมเกี่ยวกับแอป

การแจ้งเตือนแบบครึ่งหน้า
จากหน้าจอการตั้งค่า คุณเลือกปิดใช้การแจ้งเตือนการค้นพบที่แนะนำซึ่งมีค่าคอมมิชชันสำหรับMatterอุปกรณ์ได้
หากแอปพลิเคชันมีMatterขั้นตอนการค้นพบหรือ การว่าจ้างของตัวเอง คุณอาจต้องการระงับการแจ้งเตือนเหล่านี้เพื่อป้องกัน การหยุดชะงัก ดูข้อมูลเพิ่มเติมได้ที่ระงับการแจ้งเตือนการค้นพบที่คิดค่าคอมมิชชันได้
ยูทิลิตีสำหรับนักพัฒนาแอป
จากหน้าจอการตั้งค่า คุณยังเข้าถึงยูทิลิตีสำหรับนักพัฒนาแอปได้ด้วย
หากต้องการตรวจสอบเนื้อหาของที่เก็บ Device and User Preferences DataStore ใน Logcat ให้ทำตามขั้นตอนต่อไปนี้
คลิกเนื้อหาที่เก็บบันทึก
คลิก OK ในกล่องโต้ตอบ แล้วตรวจสอบ Logcat
ความคิดเห็นและความช่วยเหลือ
หากต้องการส่งความคิดเห็นเกี่ยวกับวิธีปรับปรุงประสบการณ์การพัฒนาด้วย Sample App for Matter โปรดกรอกแบบฟอร์มความคิดเห็น
หากพบปัญหาเกี่ยวกับ Sample App for Matter ให้ลองทำตาม ขั้นตอนเพื่อยืนยันสภาพแวดล้อม
หากมีคำถามเกี่ยวกับการใช้แอปตัวอย่างหรือพบข้อบกพร่องในโค้ด คุณ สามารถส่งปัญหาไปยังเครื่องมือติดตามปัญหาในที่เก็บของ GitHub ได้
หากต้องการรับคำแนะนำอย่างเป็นทางการจาก Google เกี่ยวกับคำถามด้านเทคนิค ให้ใช้ฟอรัมสำหรับนักพัฒนาแอปสมาร์ทโฮม
หากต้องการรับการสนับสนุนทางเทคนิคจากชุมชน ให้ใช้แท็ก google-smart-home บน Stack Overflow: