โมเดลข้อมูลอุปกรณ์

อุปกรณ์ใน Matter มีโมเดลข้อมูลที่กำหนดไว้ล่วงหน้า (DM) ซึ่งเป็นโมเดลลำดับชั้นของฟีเจอร์ของอุปกรณ์ ที่ด้านบน ของลำดับชั้นนี้อยู่ที่อุปกรณ์

อุปกรณ์และอุปกรณ์ปลายทาง

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

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

ลำดับชั้นของอุปกรณ์ โหนด และปลายทาง
รูปที่ 1: อุปกรณ์ โหนด และอุปกรณ์ปลายทาง

บทบาทของโหนด

บทบาทของโหนดคือชุดของลักษณะการทำงานที่เกี่ยวข้อง แต่ละโหนดมีได้อย่างน้อย 1 รายการ บทบาทใหม่ บทบาทของโหนดมีดังนี้

  • Commissioner: โหนดที่ทำงาน ค่าคอมมิชชัน
  • ตัวควบคุม: โหนดที่ควบคุมโหนดได้อย่างน้อย 1 โหนด ตัวอย่างเช่น Google Home app (GHA) Google Assistant และ Google Nest Hub (2nd gen) ใช้บ้าง ประเภทอุปกรณ์ เช่น ไฟเปิด/ปิด เปลี่ยน ใช้ตัวควบคุม
  • ผู้ควบคุม: โหนดที่ควบคุมได้โดยอย่างน้อย 1 อย่าง โหนด อุปกรณ์ส่วนใหญ่เป็น "Controlee" ได้ ยกเว้นอุปกรณ์บางประเภท ที่มีบทบาทตัวควบคุม เช่น เปิด/ปิดไฟ เปลี่ยน ไฟเปิด/ปิด Switch สามารถเป็นผู้ควบคุมข้อมูลได้เท่านั้น ไม่สามารถเป็นผู้ควบคุมได้
  • ผู้ให้บริการ OTA: โหนดที่สามารถให้การอัปเดตซอฟต์แวร์ OTA
  • ผู้ขอ OTA: โหนดที่สามารถขอซอฟต์แวร์ OTA อัปเดต

คลัสเตอร์

ภายในปลายทาง โหนดจะมีคลัสเตอร์อย่างน้อย 1 รายการ นี่เป็นอีก ในลำดับชั้นของอุปกรณ์ เนื่องจากจะจัดกลุ่มฟังก์ชันการทำงานเฉพาะ เช่น คลัสเตอร์เปิด/ปิดบนปลั๊กอัจฉริยะ หรือคลัสเตอร์การควบคุมระดับบนอุปกรณ์หรี่แสง อุปกรณ์ปลายทางไฟ

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

Attributes

ที่ระดับสุดท้าย เราจะพบแอตทริบิวต์ ซึ่งเป็นสถานะที่โหนดยึด เช่น แอตทริบิวต์ current level ของคลัสเตอร์การควบคุมระดับ ลักษณะ อาจกำหนดเป็นข้อมูลประเภทต่างๆ เช่น uint8, สตริง หรืออาร์เรย์

ลำดับชั้นของโหนด ปลายทาง แอตทริบิวต์ และคำสั่ง
รูปที่ 2: โหนด, ปลายทาง, แอตทริบิวต์ และคำสั่ง

คำสั่ง

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

กิจกรรม

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

อุปกรณ์ตัวอย่างแบบเต็ม
รูปที่ 3: ตัวอย่างลําดับชั้นของMatter รูปแบบการโต้ตอบของอุปกรณ์

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

ประเภทอุปกรณ์

ระบบควรรวมคลัสเตอร์คลัสเตอร์ใดเป็นอุปกรณ์ทั้งหมด ผู้ผลิตวางแผนอุปกรณ์ใหม่ไหม

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

Matter ไม่ได้ระบุประเภทอุปกรณ์ โดยใช้เอกสารหลักแทน นั่นคืออุปกรณ์ คลัง ในทำนองเดียวกัน คลัสเตอร์แอปพลิเคชันทั้งหมดจะระบุไว้ในแอปพลิเคชัน ไลบรารีคลัสเตอร์ เอกสารทั้ง 3 ประเภทนี้จะพบได้ใน เว็บไซต์สมาชิก Connectivity Standards Alliance (Alliance)

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

ไคลเอ็นต์และเซิร์ฟเวอร์

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

  • อ่านและเขียนไปยังแอตทริบิวต์ระยะไกล
  • อ่านเหตุการณ์ระยะไกลของตัวเอง
  • การเรียกใช้คำสั่งระยะไกล

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

เช่น เราอาจมีโคมไฟตั้งโต๊ะ 2 ดวง ได้แก่ โหนด A และโหนด B ทั้ง 2 โหนดใช้ประเภทอุปกรณ์เปิด/ปิดไฟ อุปกรณ์ประเภทนี้มีฟังก์ชันเปิด/ปิด คลัสเตอร์เซิร์ฟเวอร์ที่ควบคุมเอาต์พุตแสงจริงที่เกี่ยวข้อง

แต่อุปกรณ์จริงของเราจะรวม สวิตช์ไฟเปิด/ปิด ประเภทอุปกรณ์สำหรับสวิตช์เปิด/ปิดเฉพาะที่ อุปกรณ์นี้ ประเภทต้องใช้คลัสเตอร์ไคลเอ็นต์แบบเปิด/ปิดเพื่อให้สามารถควบคุมเซิร์ฟเวอร์ได้ คลัสเตอร์

โคมไฟที่ใช้ทั้งหลอดไฟแบบเปิด/ปิดและสวิตช์ไฟ
ภาพที่ 4: คลัสเตอร์ของไคลเอ็นต์และเซิร์ฟเวอร์

ในตัวอย่างนี้ คลัสเตอร์ไคลเอ็นต์เปิด/ปิดในโหนด A กำลังเปลี่ยนแอตทริบิวต์ของคลัสเตอร์เซิร์ฟเวอร์เปิด/ปิดในโหนด A และโหนด B ส่วนคลัสเตอร์ไคลเอ็นต์ของโหนด B กำลังเปลี่ยนเฉพาะคลัสเตอร์เซิร์ฟเวอร์ในโหนด B เท่านั้น

ในส่วนถัดไป เราจะอธิบายรายละเอียดว่าคลัสเตอร์ของไคลเอ็นต์และเซิร์ฟเวอร์ทำงานร่วมกันอย่างไร รูปแบบการโต้ตอบ

คลัสเตอร์ข้อบ่งชี้

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

  • คลัสเตอร์เซิร์ฟเวอร์
  • คลัสเตอร์ไคลเอ็นต์
  • ประเภทอุปกรณ์
  • ปลายทางเพิ่มเติม หรือที่เรียกว่าชิ้นส่วน

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

อุปกรณ์หรืออุปกรณ์ที่ใช้ควบคุม เช่น โทรศัพท์หรือฮับสามารถใช้ ที่พบในคลัสเตอร์ Descriptor เพื่อสร้างแบบจำลองของอุปกรณ์ (แสง สวิตช์ ปั๊มน้ำ ตัวควบคุมอุณหภูมิ) และฟีเจอร์บางอย่างที่ใช้งานโดยอินสแตนซ์นั้นๆ ของอุปกรณ์ แสดง UI ที่ถูกต้องให้กับผู้ใช้

คลัสเตอร์เซิร์ฟเวอร์

แอตทริบิวต์ ServerList จะแสดงรายการคลัสเตอร์เซิร์ฟเวอร์ในปลายทาง

คลัสเตอร์ไคลเอ็นต์

แอตทริบิวต์ ClientList จะแสดงรายการคลัสเตอร์ไคลเอ็นต์ในปลายทาง

รายการประเภทอุปกรณ์

แอตทริบิวต์ DeviceTypeList คือรายการประเภทอุปกรณ์ที่ ปลายทาง พร้อมด้วยการแก้ไขที่เกี่ยวข้อง ต้องมีอย่างน้อย 1 รายการ ประเภทอุปกรณ์

รายการชิ้นส่วน

PartsList มีรายการปลายทางที่ใช้สำหรับการติดตั้งใช้งานอุปกรณ์นี้ ประเภท

PartsList ของปลายทาง 0 (โหนดราก) มีปลายทางทั้งหมดของ อุปกรณ์ที่ไม่ใช่ตัวเอง (ปลายทาง 0)

โดยปกติแล้ว PartsList ของปลายทางอื่นๆ จะว่างเปล่า ตัวอย่างเช่น เซ็นเซอร์อุณหภูมิกำหนดให้คลัสเตอร์เซิร์ฟเวอร์การวัดอุณหภูมิโดยไม่มีการดำเนินการใด ทั้งหมด

อุปกรณ์ประเภทอื่นๆ อาจประกอบกันในโครงสร้างต้นไม้ของอินสแตนซ์ Device Type มากกว่า 1 รายการ เช่น ประเภทอุปกรณ์โปรแกรมเล่นวิดีโออาจประกอบด้วยทีวี โปรแกรมเล่นวิดีโอ ลำโพง และอุปกรณ์แอปเนื้อหาประเภทต่างๆ ใน ปลายทางอื่น


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