إنّ حزمة تطوير البرامج (SDK) للمنازل المحلية تعزّز عملية دمج المنزل المزوّد بأجهزة ذكية مع "مساعد Google" من خلال إضافة مسار تنفيذ محلي لتوجيه أغراض المنزل المزوّد بأجهزة ذكية.
تتيح لك حزمة تطوير البرامج (SDK) كتابة تطبيق تنفيذ محلي، باستخدام TypeScript أو JavaScript، يحتوي على منطق العمل في منزلك المزوّد بأجهزة ذكية. يمكن لأجهزة Google Home أو Google Nest تحميل تطبيقك وتشغيله على الجهاز. يتواصل تطبيقك مباشرةً مع أجهزتك الذكية الحالية عبر شبكة Wi-Fi على الشبكة المحلية (LAN) لتنفيذ أوامر المستخدمين عبر البروتوكولات الحالية.
يوفّر دمج حزمة تطوير البرامج (SDK) تحسينات في أداء إجراءات المنزل المزوّد بأجهزة ذكية، بما في ذلك وقت استجابة أقل وموثوقية أعلى. يتوافق أسلوب التنفيذ المحلي مع جميع أنواع الأجهزة وسماتها، باستثناء تلك التي تستخدم التحقق الثانوي من المستخدم.
فهم آلية العمل
بعد تلقّي استجابة SYNC
من توفير السحابة الإلكترونية، تفحص منصة Local Home الشبكة المحلية للمستخدم
باستخدام mDNS أو بث UDP أو UPnP، وذلك لاكتشاف الأجهزة الذكية المتصلة بخدمة "مساعد Google".
ترسل النظام الأساسي IDENTIFY
النية من أجل تحديد ما إذا كان الجهاز
قابلاً للتحكّم محليًا، وذلك من خلال مقارنة رقم تعريف الجهاز في استجابة IDENTIFY
برقم تعريف الجهاز الذي يعرضه استجابة SYNC
السابقة. إذا كان الجهاز الذي تم رصده عبارة عن
مركز أو جسر، تُرسِل المنصة هدف REACHABLE_DEVICES
وتتعامل مع
المركز على أنّه جهاز وكيل للاتصال المحلي.
عندما تتلقّى استجابة يؤكد توفّر جهاز محلي، تنشئ المنصة مسار تنفيذ محليًا إلى جهاز Google Home أو Google Nest الخاص بالمستخدم، وبعد ذلك توجّه أوامر المستخدمين لتنفيذ الطلب على الجهاز.
عندما يشغّل المستخدم إجراءً في المنزل المزوّد بأجهزة ذكية يحتوي على مسار تنفيذ محلي، يرسل "مساعد Google" الغرض من EXECUTE
أو QUERY
إلى جهاز Google Home أو Google Nest بدلاً من تنفيذ الطلب على السحابة الإلكترونية. يشغّل الجهاز بعد ذلك تطبيق التنفيذ المحلي
لمعالجة الغرض.
يُرجى العِلم أنّ اختيار جهاز Google Home أو Google Nest
من شأنه تشغيل الأمر بشكل غير مؤكد. يمكن أن يكون الجهازان المستهدفان EXECUTE
وQUERY
من خلال أي جهاز
Google Home أو Google Nest تم تحديدهما في بنية
الرسم البياني المنزلي نفسه كالجهاز المستهدَف.
تطبيق محلي لتوصيل الطلبات
يحتوي تطبيق تنفيذ الطلب المحلي على منطق الأعمال لمعالجة الأغراض التي ترسلها منصة Local Home والوصول إلى جهازك الذكي عبر شبكة المنطقة المحلية. لا يُتوقَّع أن يؤدي أي تعديل على جهازك إلى دمج عملية التنفيذ المحلية. يفي التطبيق بطلبات إجراءات المنزل المزوّد بأجهزة ذكية عن طريق إرسال أوامر التحكم إلى الجهاز الذكي من خلال بروتوكولات طبقة التطبيقات، بما في ذلك HTTP أو TCP أو UDP. في حال تعذُّر مسار التنفيذ المحلي، يتم استخدام "تلبية الطلبات على السحابة الإلكترونية" كمسار تنفيذ احتياطي.
لدعم إنشاء التطبيق، توفّر حزمة تطوير البرامج (SDK) للمنزل المحلي هاتين الفئتَين الرئيسيتَين:
DeviceManager
: تقدّم طرقًا للاتصال بالأجهزة الذكية باستخدام مقابس TCP أو UDP أو طلبات HTTP.App
: تقدِّم طرقًا لإرفاق المعالجات للأغراض التي ترسلها Google بعد اكتشاف الأجهزة التي يمكن التحكّم فيها محليًا (IDENTIFY
،REACHABLE_DEVICES
). تنفّذ هذه الفئة أيضًا أوامر المستخدم (EXECUTE
)، وتجيب عن طلبات بحث المستخدمين عن حالة الجهاز الحالية (QUERY
).
وأثناء التطوير، يمكنك إنشاء التطبيق واختباره عن طريق تحميله على خادم الاستضافة الخاص بك أو جهاز التطوير المحلي. خلال مرحلة الإنتاج، تستضيف Google تطبيقك في بيئة وضع حماية JavaScript آمنة على جهاز Google Home أو Google Nest للمستخدم.
واجهة برمجة التطبيقات Report State "غير مدعوم" حاليًا في التنفيذ المحلي. وتعتمد Google على تنفيذ السحابة الإلكترونية لمعالجة هذه الطلبات.
مراحل نشاط التطبيق
يتم تحميل تطبيق التنفيذ المحلي عند الطلب عندما تكتشف منصة Local Home أجهزة محلية جديدة تتطابق مع ضبط فحص المشروع، أو لديه نية في انتظار المراجعة للتسليم ذات الصلة بجهاز تم تحديده مسبقًا.
إنّ أجهزة Google Home أو Google Nest مقيّدة بالذاكرة وقد يتم إغلاق تطبيق توصيل الطلبات المحلي في أي وقت بسبب ضغط الذاكرة في النظام. يمكن أن يحدث ذلك إذا بدأ تطبيقك في استهلاك مساحة كبيرة جدًا من الذاكرة، أو إذا احتاج النظام إلى توفير مساحة لتطبيق آخر. لن تعيد منصّة Local Home تشغيل تطبيقك إلا عندما تكون هناك أغراض جديدة لتقديمها وموارد ذاكرة كافية لتشغيل التطبيق.
تعمل منصة Local Home على إلغاء تحميل تطبيقك بعد انتهاء مهلة عدم النشاط عندما يلغي
المستخدم ربط حسابه أو إذا لم تعُد هناك أجهزة تتوافق مع طريقة التنفيذ المحلية
المرتبطة بـ agentUserId
لدى المستخدم.
الأجهزة المتوافقة
تنفِّذ منصة Local Home تطبيق توصيل الطلبات المحلي على أجهزة Google Home أو Google Nest المتوافقة. يصف الجدول التالي الأجهزة المتوافقة ووقت التشغيل المستخدم على كل جهاز. لمعرفة المزيد من المعلومات حول متطلبات وقت التشغيل، يُرجى الاطّلاع على بيئة التنفيذ.
الجهاز | النوع | البيئة |
---|---|---|
Google Home | المتحدث | Chrome |
Google Home Mini | المتحدث | Chrome |
Google Home Max | المتحدث | Chrome |
جهاز Nest Mini | المتحدث | Chrome |
Nest Hub | الشبكة الإعلانية | Chrome |
Nest Hub Max | الشبكة الإعلانية | Chrome |
Nest Wifi | جهاز التوجيه | Node.js |
نقطة | Chrome |
بيئة التنفيذ
تعتمد بيئة التنفيذ لتطبيق التنفيذ المحلي على جهازك. تتوافق منصة Local Home مع بيئات وقت التشغيل التالية:
- Chrome: يتم تنفيذ تطبيق التنفيذ المحلي في سياق متصفِّح Chrome
window
الذي يعمل على Chrome M80 أو إصدار أحدث مع التوافق مع الإصدار ECMAscript ES2018. - Node.js: يتم تنفيذ تطبيق التنفيذ المحلي كنص برمجي ضمن عملية Node.js يتم فيها تشغيل Node v10.x LTS أو إصدار أحدث مع دعم الإصدار ECMAscript ES2018.
بنية رمز المصدر
ننصحك بتجميع العناصر الاعتمادية في ملف JavaScript واحد باستخدام إعدادات الحزمة التي توفّرها "حزمة تطوير البرامج (SDK) للمنزل المحلي" وإضافة رمز المصدر إلى الحزمة كتعبير عن دالة يتم استدعاءها فورًا.
مسار التنفيذ
لاستخدام حزمة تطوير البرامج (SDK) للمنزل المحلي في عملية دمج المنزل المزوّد بأجهزة ذكية، عليك تنفيذ المهام التالية:
1 | ضبط إعدادات المسح | يمكنك ضبط وحدة تحكّم المهام باستخدام المعلَمات الضرورية حتى يتمكّن "مساعد Google" من اكتشاف الأجهزة التي يمكن التحكّم فيها محليًا. |
2 | تعديل استجابة "المزامنة" في عملية التنفيذ على السحابة الإلكترونية | أثناء تنفيذ السحابة الإلكترونية، عليك تعديل معالج طلبات SYNC للتوافق مع حقل
otherDeviceIds الذي تستخدمه المنصة لإنشاء مسار محلي لتوفير الطلبات. في هذا الحقل، حدِّد أرقام تعريف الأجهزة التي يمكن
التحكّم فيها محليًا.
|
3 | تنفيذ تطبيق توصيل الطلبات المحلي | يمكنك استخدام حزمة تطوير البرامج (SDK) للمنزل المحلي لإنشاء تطبيق JavaScript لمعالجة الأغراض IDENTIFY و
EXECUTE و
QUERY . بالنسبة إلى الأجهزة الوكيلة للموزع أو الجسر، عليك أيضًا معالجة هدف REACHABLE_DEVICES .
|
4 | اختبار تطبيقك وتصحيح الأخطاء | يمكنك اختبار عملية الدمج (أو تقديم شهادة ذاتية) باستخدام Google Home Test Suite. |
قبل البدء
- ننصحك بالتعرّف على أساسيات إنشاء إجراءات منزلية ذكية.
- في وحدة تحكُّم الإجراءات، تأكّد من أنّه لديك مشروع حالي للمنزل المزوّد بأجهزة ذكية ومن ضبط عملية ربط الحساب.
- احرص على تسجيل الدخول باستخدام حساب Google نفسه في وحدة تحكّم "المهام" وفي "مساعد Google" على جهاز الاختبار.
- ستحتاج إلى بيئة Node.js لكتابة تطبيقك. لتثبيت Node.js وnpm، يُنصح باستخدام مدير إصدارات العقدة.
- لاستخدام أحدث إصدار من حزمة تطوير البرامج (SDK) للمنازل المحلية، عليك تسجيل أجهزة الاختبار في برنامج معاينة البث.