1. บทนำ
Matter เป็นโปรโตคอลการเชื่อมต่อที่มอบโอกาสที่น่าตื่นเต้นสำหรับการพัฒนาอุปกรณ์อัจฉริยะ ใน Codelab นี้ คุณจะได้สร้างอุปกรณ์ Matter เครื่องแรกโดยใช้ทรัพยากรจาก Matter SDK
ดูข้อมูลเกี่ยวกับ Matter ได้ที่ศูนย์นักพัฒนาแอป Google Home หรือเว็บไซต์ Connectivity Standards Alliance
สิ่งที่คุณจะได้เรียนรู้
- วิธีตั้งค่าสภาพแวดล้อมการสร้าง Matter
- วิธีสร้างอุปกรณ์ Matter เสมือนที่ทำงานบนคอมพิวเตอร์
- วิธีคอมมิชชันและควบคุมอุปกรณ์ Matter เสมือนด้วย Google Home
สิ่งที่คุณต้องมี
- ฮับ ซึ่งก็คืออุปกรณ์ Google Nest ที่รองรับ Matter เช่น Nest Hub (รุ่นที่ 2)
- เครื่อง Linux ที่ใช้ระบบหน้าต่าง X11
- Docker
- Git
- มีความรู้พื้นฐานเกี่ยวกับ Linux
- โปรดทราบว่าเชลล์ที่ใช้สำหรับคำสั่งทั้งหมดในโค้ดแล็บนี้คือ BASH
2. ตั้งค่าสภาพแวดล้อม
ตรวจสอบฮาร์ดแวร์
การติดตั้ง Docker นี้ไม่รองรับคอมพิวเตอร์ Windows และ macOS คุณติดตั้งและสร้าง Matter ด้วยตนเองใน macOS ได้
นอกจากนี้ คำสั่งเหล่านี้ยังถือว่าเครื่อง Linux ของคุณใช้ระบบหน้าต่าง X11 หากเครื่อง Linux ใช้ Wayland ให้ตรวจสอบว่าได้ติดตั้ง X.Org ด้วย
ตั้งค่าสภาพแวดล้อมในการพัฒนา
- ติดตั้ง Docker Engine (อย่าใช้ Docker Desktop)
- โคลน Matter SDK และจดบันทึกคอมมิตที่เราใช้ในส่วนต่อไปนี้
git clone https://github.com/project-chip/connectedhomeip.git cd connectedhomeip git show commit f2f3d0eb03ba5bea32b22f19982c402a8c1c9063
- เรียกใช้คอนเทนเนอร์บิลด์โดยใช้อิมเมจ CI สาธารณะของ SDK และเรียกใช้อุปกรณ์เสมือนที่สร้างขึ้นใหม่จากภายในคอนเทนเนอร์นี้ ค้นหาอิมเมจที่จะใช้ให้ตรงกับ SDK เวอร์ชันของเรา ดังนี้
หากคุณใช้คอมมิตเดียวกัน คุณควรเห็นbuildimage=$(grep chip-build .github/workflows/chef.yaml | head -n 1 | awk '{print $2}') echo $buildimageghcr.io/project-chip/chip-build:66First, forward xhost ports so we can later use UI applications: จากนั้นเริ่มคอนเทนเนอร์ด้วยทรัพยากรที่เหมาะสมซึ่งส่งต่อจากโฮสต์ (การชำระเงินของ SDK, เครือข่าย และทรัพยากรการแสดงผล/การสื่อสาร)xhost local:1000
docker run -it --ipc=host --net=host -e DISPLAY --name matter-container --mount source=$(pwd),target=/workspace,type=bind --workdir="/workspace" $buildimage /bin/bash
มาทำความเข้าใจคำสั่ง Docker และตัวเลือกที่เราส่งไปยังคำสั่งกัน
xhost local:1000อนุญาตให้ X Window System รับการเชื่อมต่อจากโฮสต์ในเครื่องบนพอร์ต 1000 ซึ่งจะช่วยให้ใช้กราฟิกอินเทอร์เฟซผู้ใช้ได้docker run … imageจะเรียกใช้รูปภาพที่ระบุ โดยดึงมาจากรีจีสทรี Docker หากจำเป็น--ipc=hostช่วยให้ Docker แชร์เนมสเปซการสื่อสารระหว่างกระบวนการกับเครื่องโฮสต์ได้--net=hostอนุญาตให้ Docker ใช้สแต็กเครือข่ายของโฮสต์ภายในคอนเทนเนอร์ ซึ่งจำเป็นเพื่อให้ Docker ส่งต่อการรับส่งข้อมูล mDNS จากโฮสต์ไปยังคอนเทนเนอร์ และแชร์จอแสดงผล X11 ของโฮสต์ได้-e DISPLAYจะส่งออก$DISPLAYไปยังโฮสต์เพื่อให้เข้าถึงอินเทอร์เฟซกราฟิกของระบบได้ ซึ่งจำเป็นต้องใช้เพื่อเรียกใช้เครื่องมือ ZAP เมื่อแก้ไขคลัสเตอร์ Matter-itจะเรียกใช้ Docker ด้วยเทอร์มินัลแบบอินเทอร์แอกทีฟ (tty) แทนที่จะเป็นกระบวนการเบื้องหลัง--mountจะติดตั้ง SDK ที่เราเช็คเอาต์ก่อนหน้านี้ลงในคอนเทนเนอร์--workdirจะตั้งค่าไดเรกทอรีการทำงานเมื่อเปิดใช้เป็นไดเรกทอรี SDK ที่เราติดตั้ง
คุณอาจเรียกใช้เซสชันเทอร์มินัลที่ 2 ก็ได้ (ไม่บังคับ)
user@host> docker exec -it matter-container /bin/bash $
หยุดและเริ่มคอนเทนเนอร์ Matter Docker
เมื่อใดก็ตามที่คุณเรียกใช้คำสั่ง 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 เบื้องต้น
เริ่มต้น SDK
เริ่มต้น Matter SDK การดำเนินการนี้จะใช้เวลาหลายนาทีจึงจะเสร็จสมบูรณ์
source scripts/bootstrap.sh python3 scripts/checkout_submodules.py --shallow --platform linux
ตอนนี้ระบบได้เริ่มต้น Matter SDK แล้ว หากต้องการเริ่มต้นสภาพแวดล้อมใหม่ในอนาคตอย่างรวดเร็ว ให้เรียกใช้คำสั่งต่อไปนี้
sudo docker exec -it matter-container /bin/bash source ./scripts/activate.sh
แชร์ไฟล์ระหว่างโฮสต์กับคอนเทนเนอร์
ก่อนหน้านี้ เราเข้าถึงไฟล์ในเครื่องโฮสต์จากภายในคอนเทนเนอร์โดยใช้การเชื่อมโยง นอกจากนี้ คุณยังเขียนไฟล์ไปยังไดเรกทอรีที่เชื่อมต่อจากภายในคอนเทนเนอร์เพื่อเข้าถึงจากโฮสต์ได้ด้วย
โดยทั่วไป ให้ใช้การเชื่อมโยงแบบ Bind โดยเรียกใช้คอนเทนเนอร์ด้วยอาร์กิวเมนต์เพิ่มเติม --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 Developer Console
Google Home Developer Console คือเว็บแอปพลิเคชันที่คุณใช้จัดการการผสานรวม Matter กับ Google Home
อุปกรณ์ Matter ที่ผ่านการรับรอง Matter จาก Connectivity Standards Alliance (Alliance) จะใช้งานได้ในระบบนิเวศของ Google Home อุปกรณ์ที่อยู่ระหว่างการพัฒนาและยังไม่ได้รับการรับรองจะสามารถเปิดใช้ในระบบนิเวศของ Google Home ได้ภายใต้เงื่อนไขบางประการ ดูข้อมูลเพิ่มเติมได้ที่ข้อจำกัดในการจับคู่
สร้างโปรเจ็กต์นักพัฒนาแอป
เริ่มต้นโดยไปที่ Google Home Developer Console
- คลิกสร้างโปรเจ็กต์
- ป้อนชื่อโปรเจ็กต์ที่ไม่ซ้ำกัน แล้วคลิกสร้างโปรเจ็กต์

- คลิก + เพิ่มการผสานรวม ซึ่งจะนำคุณไปยังหน้าจอแหล่งข้อมูล Matter ที่คุณสามารถดูเอกสารประกอบการพัฒนา Matter และอ่านเกี่ยวกับเครื่องมือบางอย่างได้
- เมื่อพร้อมที่จะดำเนินการต่อ ให้คลิกถัดไป: พัฒนา ซึ่งจะแสดงหน้าเช็กลิสต์ Matter
- คลิกถัดไป: ตั้งค่า
- ในหน้าตั้งค่า ให้ป้อนชื่อผลิตภัณฑ์
- คลิกเลือกประเภทอุปกรณ์ แล้วเลือกประเภทอุปกรณ์จากเมนูแบบเลื่อนลง (ในกรณีนี้คือ
Light) - ในรหัสผู้ให้บริการ (VID) ให้เลือกVID ทดสอบ แล้วเลือก 0xFFF1 จากเมนูแบบเลื่อนลงของ VID ทดสอบ ในรหัสผลิตภัณฑ์ (PID) ให้ป้อน 0x8000 แล้วคลิกบันทึกและดำเนินการต่อ จากนั้นคลิกบันทึกในหน้าถัดไป ใช้ค่า VID/PID ที่แน่นอนเหล่านี้ เนื่องจากขั้นตอนใน Codelab ในภายหลังจะขึ้นอยู่กับค่าเหล่านี้

- ตอนนี้คุณจะเห็นการผสานรวมในส่วนการผสานรวม Matter
- รีบูตฮับเพื่อให้แน่ใจว่าฮับจะได้รับการกำหนดค่าโปรเจ็กต์การผสานรวม Matter ล่าสุด หากต้องเปลี่ยน VID หรือ PID ในภายหลัง คุณจะต้องรีบูตหลังจากบันทึกโปรเจ็กต์เพื่อให้การเปลี่ยนแปลงมีผล ดูวิธีการรีบูตแบบทีละขั้นตอนได้ที่รีสตาร์ทอุปกรณ์ Google Nest หรือ Google Wifi
4. สร้างอุปกรณ์
ตัวอย่างทั้งหมดใน Matter จะอยู่ในโฟลเดอร์ examples ในที่เก็บข้อมูล GitHub มีตัวอย่างหลายรายการ แต่ใน Codelab นี้เราจะเน้นที่ Chef
Chef มีทั้ง
- แอปตัวอย่างที่มีอินเทอร์เฟซเทอร์มินัล ซึ่งมีฟีเจอร์การแรปที่พบได้ในแอป
examples/shellด้วย - สคริปต์ที่ใช้หลักการ "การกำหนดค่าตามธรรมเนียม" เพื่อห่อหุ้มงานทั่วไปหลายอย่างที่จำเป็นสำหรับการพัฒนาอุปกรณ์ที่เปิดใช้ Matter
ไปที่โฟลเดอร์ตัวอย่าง Chef แล้วสร้างบิลด์ Matter แรกของคุณ
$ cd examples/chef $ ./chef.py -zbr -d rootnode_dimmablelight_bCwGYSDpoe -t linux
Chef มีตัวเลือกบางอย่างที่ดูได้โดยการเรียกใช้ 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. ตั้งค่าอุปกรณ์
หมายเหตุ: ขั้นตอนนี้จะสำเร็จก็ต่อเมื่อคุณตั้งค่าโปรเจ็กต์ใน Google Home Developer Console แล้ว
Nest Hub
คุณต้องมีฮับเพื่อเตรียมใช้งานอุปกรณ์ใน Fabric ของ Matter นี่คืออุปกรณ์ Google Nest เช่น Nest Hub (รุ่นที่ 2) ที่รองรับ Matter และจะทำหน้าที่เป็นทั้ง Border Router สำหรับอุปกรณ์ที่เปิดใช้ Thread และเป็นเส้นทางการดำเนินการในพื้นที่สำหรับการกำหนดเส้นทางเจตนาของสมาร์ทโฮม
โปรดดูรายการนี้เพื่อดูว่าฮับใดรองรับ Matter
โปรดตรวจสอบสิ่งต่อไปนี้ก่อนเริ่มกระบวนการคอมมิชชัน
- ฮับจะจับคู่กับบัญชี Google เดียวกันกับที่คุณใช้ลงชื่อเข้าใช้ใน Google Home Console
- ฮับอยู่ในเครือข่าย Wi-Fi เดียวกันกับคอมพิวเตอร์ที่คุณใช้เรียกใช้อุปกรณ์ Matter เสมือน
- ฮับอยู่ในโครงสร้างเดียวกันกับที่คุณใช้ในแอป Google Home ("บ้าน" ในกราฟ Google Home แสดงถึงโครงสร้างของคุณ)
รับคิวอาร์โค้ด
กระบวนการจัดสรรต้องใช้ข้อมูลการเริ่มต้นใช้งาน Matter ที่ระบุผ่านคิวอาร์โค้ด ตรวจสอบเอาต์พุตคอนโซลของแอปพลิเคชัน Matter ซึ่งจะมีลิงก์สำหรับคิวอาร์โค้ดที่เกี่ยวข้องกับการจัดสรร
ดำเนินการค่าคอมมิชชัน
- เปิดแอป Google Home
- แตะ + ที่มุมซ้ายบน
- แตะตั้งค่าอุปกรณ์
- แตะอุปกรณ์ใหม่
- เลือกบ้าน แล้วแตะถัดไป
- แอป Google Home จะสแกนหาอุปกรณ์ หากได้รับข้อความ "พบอุปกรณ์ Matter..." ให้แตะ "ใช่" หรือแตะตั้งค่าอุปกรณ์อื่น แล้วเลือกอุปกรณ์ Matter จากรายการอุปกรณ์
- เล็งกล้องไปที่คิวอาร์โค้ดของอุปกรณ์หรือคิวอาร์โค้ดที่เว็บไซต์สร้างขึ้น
- ดำเนินการจับคู่ต่อตามที่ระบุไว้ในขั้นตอนของแอป Google Home
เมื่อทำตามขั้นตอนเหล่านี้เสร็จแล้ว อุปกรณ์เสมือน Matter ควรได้รับการจัดสรรเรียบร้อย และควรปรากฏเป็นไอคอนใหม่ในแอป Google Home

การแก้ปัญหา
การจัดสรรล้มเหลวโดยมีข้อความแสดงข้อผิดพลาด "ปัญหาการเชื่อมต่อ" หรือ "ติดต่อ Google ไม่ได้"
- ตรวจสอบว่าคุณได้สร้างโปรเจ็กต์ที่มีชุดค่าผสม VID/PID ที่ถูกต้อง ใน Google Home Console และไม่มีโปรเจ็กต์อื่นๆ ที่ใช้ชุดค่าผสม VID/PID เดียวกัน
การจัดสรรไม่สำเร็จหลังจาก "สแกนอุปกรณ์" เป็นเวลานาน
- ยืนยันว่าไฟร์วอลล์ของคอมพิวเตอร์ปิดอยู่และคุณกำลังเรียกใช้เครื่องเสมือน
- ยกเลิกการเชื่อมต่ออินเทอร์เฟซเครือข่ายจริง (อีเทอร์เน็ต) เพื่อให้มั่นใจว่าคอมพิวเตอร์ใช้ Wi-Fi เท่านั้น
6. ควบคุมอุปกรณ์
เมื่อตั้งค่าอุปกรณ์ที่เปิดใช้ Matter เรียบร้อยแล้วและอุปกรณ์ปรากฏในแอป Google Home เป็นหลอดไฟ คุณอาจทดสอบการควบคุมอุปกรณ์ด้วยวิธีต่างๆ ดังนี้
- การใช้ Google Assistant
- ใช้แอป Google Home
Google Assistant
ใช้ Google Assistant ในโทรศัพท์หรือฮับเพื่อสลับสถานะอุปกรณ์จากคำสั่งเสียง เช่น พูดว่า "Ok Google สลับไฟ"
ดูตัวอย่างคำสั่งเพิ่มเติมได้ที่ส่วนควบคุมอุปกรณ์สมาร์ทโฮมด้วยคำสั่งเสียงของควบคุมอุปกรณ์สมาร์ทโฮมที่เพิ่มลงในแอป Google Home
แอป Google Home
คุณอาจแตะป้ายกำกับเปิดและปิดข้างไอคอนหลอดไฟที่แสดงในแอป Google Home
ดูข้อมูลเพิ่มเติมได้ที่ส่วนควบคุมอุปกรณ์ด้วยแอป Google Home ของควบคุมอุปกรณ์สมาร์ทโฮมที่เพิ่มลงในแอป Google Home
7. ยินดีด้วย
คุณสร้างอุปกรณ์ Matter เครื่องแรกเรียบร้อยแล้ว ยอดเยี่ยม!
ในโค้ดแล็บนี้ คุณได้เรียนรู้วิธีการต่อไปนี้
- ติดตั้งสภาพแวดล้อมในการพัฒนา Matter
- สร้างและเรียกใช้อุปกรณ์เสมือน Matter
- จัดสรรและควบคุมอุปกรณ์เสมือนจาก Google Home
ดูข้อมูลเพิ่มเติมเกี่ยวกับ Matter ได้ที่แหล่งข้อมูลต่อไปนี้
- ข้อมูลเบื้องต้นเกี่ยวกับ Matter ในศูนย์นักพัฒนาแอป Google Home ซึ่งคุณจะได้เรียนรู้พื้นฐานของแนวคิดเกี่ยวกับ Matter
- Matter Specification, Matter Device Library และ Matter Application Cluster Library ซึ่งเผยแพร่โดย Connectivity Standards Alliance
- ที่เก็บ Matter ใน GitHub