สคีมา Weave

สคีมา Weave

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

สคีมาคือ

  • มาตรฐาน — ประกอบด้วยฟังก์ชันการทํางานที่ได้รับอนุมัติอย่างเป็นทางการ ซึ่งมีอินเทอร์เฟซที่สอดคล้องกัน โดยไม่คํานึงถึงการติดตั้งใช้งาน เช่น หลอดไฟที่แสดงในสคีมาจะมีฟังก์ชันหลักเสมอ เช่น สถานะเปิด/ปิด และการทํางานหรือระดับการหรี่แสง
  • เขียนได้ — ผู้ใช้สามารถสร้างทรัพยากรที่ซับซ้อนซึ่งประกอบด้วยบิตขนาดเล็กของฟังก์ชันการทํางานที่กําหนดไว้อย่างชัดเจน ตัวอย่างเช่น Nest Detect มีเซ็นเซอร์ 2 ประเภท ได้แก่ การเคลื่อนไหวและการเปิด/ปิด ฟังก์ชันสําหรับเซ็นเซอร์ประเภทเหล่านี้ได้รับมาตรฐานในสคีมาและนํามาใช้ซ้ําได้ในอุปกรณ์ทุกเครื่อง
  • ขยายได้ - ผู้ใช้สามารถสร้างส่วนขยายที่กําหนดเองของฟังก์ชันการทํางานมาตรฐาน เช่น คุณอาจต้องการขยายฟังก์ชันเซ็นเซอร์ตรวจจับการเคลื่อนไหวมาตรฐานของสคีมาด้วยฟังก์ชันเพิ่มเติมสําหรับแอปพลิเคชันความปลอดภัยเฉพาะ
  • "มีเวอร์ชัน" — การเปลี่ยนแปลงทั้งหมดในสคีมาจะมีการกําหนดเวอร์ชันเพื่อส่งต่อและ เข้ากันได้แบบย้อนหลัง

สคีมาจะกําหนดองค์ประกอบ 3 อย่าง ได้แก่ ลักษณะเฉพาะ อินเทอร์เฟซ และทรัพยากร ฟังก์ชันการทํางานเกือบทั้งหมดในระบบนิเวศ Nest สําหรับการทํางานในชีวิตประจําวันได้รับการกําหนดไว้ในสคีมา มาดูรายละเอียดของแต่ละองค์ประกอบกัน

ลักษณะเฉพาะ

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

เช่น ในสคีมา คุณอาจกําหนดลักษณะเฉพาะต่อไปนี้เพื่อใช้ในอุปกรณ์ Nest

ลักษณะเฉพาะ

อินเทอร์เฟซ

เราสามารถขยายความสามารถของลักษณะเฉพาะโดยการจัดกลุ่มไว้ด้วยกัน โดยเฉพาะอย่างยิ่งหากลักษณะเฉพาะหลายรายการแสดงถึงฟังก์ชันใหม่ที่เฉพาะเจาะจง กลุ่มพฤติกรรมดังกล่าวเรียกว่าอินเทอร์เฟซ

เช่น อินเทอร์เฟซ Intercom อาจประกอบด้วยลักษณะเฉพาะของลําโพงและไมโครโฟน ดังนี้

ลักษณะเฉพาะและอินเทอร์เฟซ

ทรัพยากร

ทรัพยากร แสดงถึงองค์ประกอบเชิงตรรกะหรือทางกายภาพในสคีมา ตัวอย่างเช่น Nest Protect เป็นทรัพยากร เป็น Nest Guard หรือผู้ใช้ หรือโครงสร้าง เช่น บ้านของผู้ใช้

ทรัพยากรประกอบด้วยชุดของลักษณะที่รวมการกําหนดค่า สถานะ และความสามารถของตน

ความสัมพันธ์ระหว่างทรัพยากร อินเทอร์เฟซ และลักษณะเฉพาะมีลักษณะเช่นนี้

ทรัพยากร อินเทอร์เฟซ และลักษณะเฉพาะ

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

องค์ประกอบ

ลักษณะเฉพาะแบ่งออกเป็นองค์ประกอบหลัก 3 อย่าง ได้แก่ พร็อพเพอร์ตี้ คําสั่ง และเหตุการณ์ เรามาดูตัวอย่างองค์ประกอบของแต่ละลักษณะกัน

พร็อพเพอร์ตี้

ที่พัก แสดงสถานะของลักษณะ พร็อพเพอร์ตี้อาจเป็นแบบอ่านหรืออ่านอย่างเดียว

เช่น

  • เวอร์ชันของซอฟต์แวร์ คือพร็อพเพอร์ตี้ของลักษณะเฉพาะของอุปกรณ์ ซึ่งเป็นลักษณะเฉพาะทั่วไปของอุปกรณ์ส่วนใหญ่ Nest Thermostat, กล้อง และ Protects – ทั้งหมดนี้มีซอฟต์แวร์เฉพาะเวอร์ชัน
  • Bolt State เป็นพร็อพเพอร์ตี้ของลักษณะ Bolt Lock แต่เป็นตัวระบุสําหรับอุปกรณ์อย่างเช่น Yale x Nest Lock เท่านั้น คุณจะไม่เห็นกลอนประตูบนตัวควบคุมอุณหภูมิ Nest เช่น

คำสั่ง

คําสั่ง คือคําขอแบบกําหนดเองสําหรับลักษณะเฉพาะ โดยเฉพาะที่มีการตอบสนองที่คาดไว้ ซึ่งมักเรียกว่าคําสั่งที่กําหนดเอง และจะขยายไปยังการเปลี่ยนแปลงสถานะที่เฉพาะเจาะจงสําหรับพร็อพเพอร์ตี้ได้ เช่น

  • Bolt Lock Change เป็นคําสั่งที่กําหนดเองซึ่งจะเปลี่ยนพร็อพเพอร์ตี้ Bolt State ของลักษณะ Bolt Lock
  • ตั้งค่า PIN ของผู้ใช้ คือคําสั่งที่กําหนดเองซึ่งจะสร้างพร็อพเพอร์ตี้ใหม่หรืออัปเดตพร็อพเพอร์ตี้ Pincode ของผู้ใช้ที่มีอยู่แล้วของการตั้งค่าการตั้งค่า PIN ของผู้ใช้

กิจกรรม

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

ตัวอย่างเช่น เหตุการณ์ Change Bolt Actuator State Change ของลักษณะเฉพาะของ Bolt Lock จะแจ้งผู้ติดตามปัจจุบันของพร็อพเพอร์ตี้ Bolt Lock หลายรายการ รวมถึงผู้ดําเนินการที่ทําให้พร็อพเพอร์ตี้ Bolt Actuator State มีการเปลี่ยนแปลงครั้งล่าสุด ข้อมูลทั้งหมดนี้จะนําส่งเป็นกิจกรรมเดียว

ภาษาของคําอธิบายสคีมา Weave

ลักษณะเฉพาะของอินเทอร์เฟซ อินเทอร์เฟซ และทรัพยากรใน Weave จะได้รับการกําหนดและอธิบายโดยใช้ภาษาเฉพาะโดเมน (DSL) ซึ่งใช้ประโยชน์จากไวยากรณ์ของ Google Protocol Buffers v3 ภาษานี้เรียกว่าคําอธิบายคําอธิบาย Weave Schema (WDL)

WDL ทํางานผ่านคอมไพเลอร์ที่สร้างการรับรู้และการเข้ารหัสเฉพาะแพลตฟอร์มที่แตกต่างกัน ประเภทโค้ดที่สร้างขึ้นจะขึ้นอยู่กับทรัพยากร ดังนี้

  • Objective-C, Swift, Java, Scala - แอปบนอุปกรณ์เคลื่อนที่และบริการระบบคลาวด์
  • C++ พร้อมการเข้ารหัส TLV สําหรับ Weave ซึ่งเป็นอุปกรณ์เคลื่อนที่และแอปบนอุปกรณ์เคลื่อนที่ที่ฝังไว้

เราจะเจาะลึกตัวอย่าง WDL ในภายหลัง

สรุป

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

  • สคีมา จะอธิบายโมเดลข้อมูลที่มีโครงสร้างสําหรับระบบ Weave
  • สคีมากําหนดองค์ประกอบ 3 รายการ ได้แก่
    • ลักษณะของ หน่วยของฟังก์ชันการทํางานพื้นฐาน
    • อินเทอร์เฟซ กลุ่มของลักษณะที่แสดงฟังก์ชันใหม่ที่เฉพาะเจาะจง
    • ทรัพยากร ตรรกะหรือ ทางกายภาพ
  • ลักษณะเฉพาะประกอบด้วยพร็อพเพอร์ตี้ คําสั่ง และเหตุการณ์ ดังนี้
    • พร็อพเพอร์ตี้ สถานะของลักษณะทรัพยากร
    • คําสั่ง คําขอที่กําหนดเอง สําหรับคุณลักษณะ
    • เหตุการณ์ บันทึก อุบัติเหตุที่เกิดขึ้น
  • สคีมานี้กําหนดโดยใช้ Weave Schema Title Language (WDL) ซึ่งอิงตาม Google Protocol Buffers v3

ดูรายละเอียดเพิ่มเติมได้ที่