يصف المخطط نموذج البيانات الأساسية الذي يؤدي إلى تمثيل وتفسير البيانات المنبعثة من الأجهزة المنطقية أو المادية في نظام Weave.
المخطط هو:
- موحّدة — تحتوي على تعريفات معتمدة رسميًا للوظائف تقدم واجهة متسقة، بغض النظر عن تنفيذها. على سبيل المثال، سيكون للمصباح المعروض في المخطط مثلاً وظائف أساسية في حالات التشغيل/الإيقاف والإجراءات أو مستويات تعتيم الإضاءة.
- قابلة للتركيب — يمكن للمستخدم إنشاء موارد معقدة تتألف من أجزاء أصغر من الوظائف المحددة جيدًا. على سبيل المثال، يحتوي جهاز Nest Detect على نوعَين من أجهزة الاستشعار: الحركة والفتح/الإغلاق. ويتم توحيد وظائف أنواع المستشعر هذه في المخطط ويمكن إعادة استخدامها على جميع الأجهزة.
- قابل للامتداد — يمكن للمستخدم إنشاء إضافات مخصصة من الوظائف القياسية. على سبيل المثال، قد ترغب في توسيع وظائف أجهزة استشعار الحركة القياسية في المخطط للحصول على وظائف إضافية لتطبيق أمان معيّن.
- تم الإصدار — يتم تغيير جميع التغييرات في المخطط للتوافق مع الإصدارات السابقة.
يحدد المخطط ثلاثة عناصر: السمات، والواجهات، والموارد. يتم تحديد جميع الوظائف تقريبًا في منظومة Nest المتكاملة للتشغيل اليومي في المخطط. لنستعرض كل عنصر بمزيد من التفصيل.
الصفات
السمة
هي وحدة من الوظائف الأساسية. وربما تكون حالات أو إمكانات عامة للجهاز، أو تصف التهيئة التي تُعلمه بسلوكه. قد تكون هناك سمة واحدة مشتركة بين العديد من الأجهزة، أو قد تكون خاصة بنوع واحد من الأجهزة.على سبيل المثال، في المخطط، يمكنك تحديد السمات التالية للاستخدام في أجهزة Nest:
واجهات
يمكننا توسيع قابلية تجميع السمات من خلال تجميعها معًا، خاصةً إذا كانت سمات متعددة تمثل وظيفة جديدة ومحددة. ويُطلق على هذه المجموعة من السمات اسم الواجهة
.على سبيل المثال، قد تشتمل واجهة Intercom على سمات مكبر الصوت والميكروفون:
المراجِع
يمثل المورد
شيئًا منطقيًا أو ماديًا في المخطط. على سبيل المثال، Nest Protect هو مورد. وكذلك Nest Guard. أو مستخدم أو بنية مثل منزل المستخدم.تتألف الموارد من مجموعة من السمات التي تشمل التهيئة والحالة والقدرة.
تبدو العلاقة بين الموارد والواجهات والسمات على النحو التالي:
كما يتضح، فإن بعض السمات، مثل سمة الحركة، مشتركة في موارد مختلفة. كما أن بعض الواجهات، مثل واجهة Intercom، مشتركة بين الموارد المختلفة. يتم تعريف السمات والواجهات والموارد مرة واحدة في المخطط وتتم إعادة استخدامها عبر موارد وأجهزة مختلفة في نظام Weave.
عناصر الصفات
تنقسم السمات أيضًا إلى ثلاثة عناصر أساسية: الخصائص والأوامر والأحداث. لنلقِ نظرة على أمثلة لكل عنصر سمة.
أماكن إقامة
تمثّل الخصائص
حالة السمة. وتكون الخصائص إما للقراءة والكتابة أو للقراءة فقط.مثلاً:
- إصدار البرنامج هو إحدى سمات سمة هوية الجهاز. إنها سمة عامة لدى معظم الأجهزة. أجهزة Nest Thermostat والكاميرات وأنظمة الحماية - لكل من هذه الأجهزة إصدار برنامج خاص بها.
- Bolt State هو سمة لسمة Bolt Lock، ولكنّه خاص بجهاز مثل Yale x Nest Lock. فعلى سبيل المثال، لن تجد قفلًا في مسدس الترموستات من Nest.
الطلبات الصوتية
الأوامر
هي طلبات مخصّصة باتّخاذ إجراءات مخصّصة لسمة معيّنة، مع ردّ متوقّع. ويُطلق عليها عادةً أوامر مخصّصة ويمكن تمديدها إلى تغييرات حالة محدّدة للمواقع. مثلاً:- تغيير قفل Bolt هو أمر مخصّص يغيّر خاصية Bolt Lock من سمة Bolt Lock.
- ضبط رقم التعريف الشخصي للمستخدم هو أمر مخصّص ينشئ سمة جديدة أو يحدّث خاصية حالية لرقم التعريف الشخصي للمستخدم في سمة إعدادات رقم التعريف الشخصي للمستخدم.
الأحداث
الأحداث
هي سجلات لأحداث إحدى السمات. فهي تُعلِم المشترك بالتغييرات التي تطرأ على خصائص الصفة أو أي نوع آخر من الأحداث، مثل إعادة ضبط النظام.على سبيل المثال، يُعلم حدث تغيير حالة حزام المشغِّل الخاص بسمة قفل Bolt مشتركًا بالحالة الحالية للعديد من خصائص Bolt Lock، بالإضافة إلى الممثل الذي تسبب في تغيير موقع حالة Bolt Actulator State آخر مرة. يتم تقديم كل هذه المعلومات كحدث واحد.
لغة وصف مخطط الحبك
يتم تحديد سمات المخطط والواجهات والموارد في Weave ووصفها باستخدام لغة محددة للنطاق (DSL) تستفيد من بنية الإصدار الثالث من Google Protocol Buffers. تُسمّى هذه اللغة لغة وصف مخطط الحبك (WDL)
.يتم تشغيل WDL من خلال محول برمجي ينشئ عمليات ترميز وترميزات مختلفة خاصة بالنظام الأساسي. ويعتمد نوع الشفرة التي يتم إنشاؤها على المورد:
- الهدف ج، سويفت، جافا، سكالا — تطبيقات الجوّال وخدمات السحاب
- ++C مع تشفير Weave TLV — الأجهزة وتطبيقات الجوال المضمنة
سنتعمق في أمثلة WDL لاحقًا.
ملخّص
ما تعلمته:
- يصف المخطط نموذج البيانات الأساسية لنظام Weave.
- يحدد المخطط ثلاثة عناصر:
- السمة وحدة من الوظائف الأساسية
- الواجهة مجموعة من السمات التي تمثل وظيفة جديدة ومحددة
- المورد هو شيء منطقي أو فعلي
- تشمل السمات الخصائص والأوامر والأحداث:
- الخاصية حالة سمة المورد
- لتوجيه الطلب المخصص لإجراء سمة
- سجلّ أحداث عن إحدى السمات
- يتم تحديد المخطط باستخدام لغة وصف مخطط Weave (WDL) ، التي تستند إلى الإصدار 3 من Google Protocol Buffers v3
لمزيد من المعلومات التفصيلية، راجع: