في نهاية سبتمبر ، تم عقد أول اجتماع لنا لمطوري الأجهزة - Yandex.Zhelezo. هذه خطوة مهمة في سوق شركات تصنيع الأجهزة الجديدة بالنسبة لنا. استمع المشاركون (حوالي 150 شخصًا) إلى التقارير ، وتحدثوا وقضوا وقتًا طويلاً في المدرجات ، حيث يمكنك النظر داخل السيارة بدون طيار ، ونزع فتيل "القنبلة" عن طريق قطع الأسلاك الضرورية ، وتفكيك محطة ياندكس. (تسجيل - 6 دقائق و 23 ثانية) ، وأيضًا اختبار على متن الكمبيوتر Yandex.Auto والمنزل الذكي.



فقط عن منصة المنزل الذكي والتحدث اليوم. في الربيع ،
أطلقناها لجميع المطورين ، وعلى Yandex.Zhelez ، قام مدير تطوير المنصات Marat Mavlyutov بتلخيص النتائج الأولى وأظهر كيفية تأسيس إدارة الجهاز. من التقرير ، يمكنك التعرف على شروط واجهة برمجة التطبيقات الصوتية ، وطرق الوصف والتفاعل مع جهاز المستخدم.

- دعنا نتحدث عن المنزل الذكي. كيف تجعل منزلك أكثر ذكاءً حتى لا تبقى قطة واحدة جائعة وتفتح كل البوابات في يكاترينبرج؟
دعنا نبدأ من البداية ، سوف نفهم ماهية المنزل الذكي. يبدو لنا أن هذا المنزل لا تحتاج فيه إلى البحث عن مخرج مخفي خلف الستار أو المفتاح. هذا منزل لا تحتاج فيه إلى البحث عن جهاز تحكم عن بعد من التلفزيون ، وهو هاتف به تطبيق يمكنه التحكم في غلاية الماء أو لمبة الإضاءة. هذا هو المنزل الذي يفهمك ، حيث يستخدم الشخص الواجهة الطبيعية الأكثر بالنسبة له - الصوت.
لماذا صعدنا إلى هناك وماذا نريد أن نحصل عليه؟ نريد حقًا أن نتأكد من أن مساعد الصوت لدينا هو مجرد مساعد ، بحيث لا يمكنه تشغيل الموسيقى أو الفيديو فحسب ، بل يساعد في أكثر الأشياء الطبيعية شيوعًا.
نحن نفهم أيضًا أنه لا يمكننا كتابة جميع الشفرات في العالم على الإطلاق والتكامل مع جميع الأجهزة. لهذا السبب نريد أن توفر هذه الواجهة الصوتية للمطورين والشركات والأشخاص الذين يعرفون بالفعل كيفية صنع الأجهزة وجعلها باردة. تقول إريكسون إنه بحلول عام 2021 ، سيكون هناك 28 مليار جهاز ذكي متصل في جميع أنحاء العالم. هذا يعني ، للحظة ، أنك إذا تخيلت أن الكرة الأرضية بأكملها متصلة بالإنترنت ، فسيحصل كل شخص على أربعة أجهزة في المتوسط.

قبل الإطلاق مباشرة ، أجرينا بحثًا لفهم كيف يستخدم الناس المنازل الذكية ، وما يريدون رؤيته ، وما يريدون إدارته. لقد اخترنا أهم ثلاث وجهات:
- التحكم في أجهزة التلفزيون وأجهزة استقبال الصوت والفيديو وأجهزة الوسائط وما إلى ذلك ،
- التحكم في أجهزة الإضاءة والإضاءة ،
- التحكم في درجة الحرارة - تكييف الهواء ، الحرارة ، البطارية ، المرجل ، إلخ.
الشريحة التالية تحتوي على إحصائيات. على سبيل المثال ، بدأنا منذ أربعة أشهر فقط ، في مايو ، والآن نرى أن متوسط عدد الأجهزة في نظامنا الأساسي لكل مستخدم هو 3.8. نظرت بالأمس ، كان 3.93. وقبل شهرين ، كان هذا الرقم 3.2. هذا يعني أن الناس لا يستخدمون المنازل الذكية فحسب ، بل يقومون أيضًا بشراء الأجهزة التي يحبونها. نحن فخورون بالشكل التالي: 96٪ من المستخدمين يسيطرون على منازلهم الذكية باستخدام الصوت ، رغم أن لديهم جميعًا تطبيقًا يمكن من خلاله أيضًا التحكم في هذه الأجهزة الذكية.
ونحن نتفهم القيود المفروضة على واجهة برمجة التطبيقات الحالية ، لا يزال هناك القليل جدًا الذي يمكن توصيله أو وصفه. لكن الشركات المصنعة أو المتحمسين أو المطورين كانوا قادرين على الاندماج مع منصتنا بحيث نرى الآن أكثر من 800 من طرازات الأجهزة المختلفة فيه. هذه هي بالضبط نماذج الأجهزة: جميع أنواع الغلايات ، ومكيفات الهواء ، وأجهزة التلفزيون ، إلخ.

أكرر ، لقد كنا في الإنتاج لمدة أربعة أشهر فقط ، لكن هذه الشركات الكبيرة الموزعة تمكنت بالفعل من الاندماج مع برنامجنا ، وأعتقد أن هذه ميزة كبيرة للفريق. يشير هذا إلى أن واجهة برمجة تطبيقاتنا بسيطة للغاية ، بحيث تمكن الناس من الاندماج مع ياندكس في أربعة أشهر.

من المطورين والمتحمسين المستقلين ، نرى أشخاصًا يكتبون مهارات مثل المنزل الذكي. وبالتالي ، فإنهم يدمجون نظامنا الأساسي مع أنظمة أخرى: openHAB ، Homebridge ، Home Assistant ، على سبيل المثال ، بحيث يمكن للأجهزة التي شحذها نظام Apple البيئي أن تعمل أيضًا مع Alice. هناك عدد قليل من حالات التطبيق من شركائنا. لقد اعتقدنا أن المنزل الذكي من Yandex سوف يستهدف هؤلاء المتحمسين الذين بدأوا للتو في دفع هذا السوق إلى الأمام. ولكن جاء إلينا أشخاص من صناعات مختلفة تمامًا ، بدون Yandex تقريبًا ، وقالوا إنهم يرغبون في إنشاء منشآت بها منزل ذكي.
على سبيل المثال ، هناك حالة معروفة لدى مطور PIK و Rubetek. باعتبارها واحدة من أفضل العروض لتزيين الشقق ، فإنها تقدم منزلاً أنيقًا على منصة ياندكس. في مثل هذه الشقق ، في صالات العرض الحالية بالفعل ، يمكن للمستخدم الحضور وطلب من Alice إعداد القهوة أو فتح الستائر أو التحكم في الضوء. نحن نعمل أيضًا مع مطوري المكاتب في الوقت الحالي. إنهم يرغبون ، على سبيل المثال ، في تضمين Alice في غرف الاجتماعات الخاصة بهم حتى يتمكنوا من طنين غرفة الاجتماعات ، أو الاتصال بمدينة أخرى أو التحكم ، مرة أخرى ، في نوع من مصابيح الإضاءة. ونحن أيضا نبدأ بعض التجارب مع الفنادق. يمكنك طلب وجبة الإفطار في غرفتك ، وتغيير وسادتك للحصول على دفء أو تشغيل قناة مدفوعة.
دعونا الآن الغوص قليلا إلى التفاصيل الفنية. مخطط العمل مع المنزل الذكي بسيط للغاية. هناك العديد من الشركات المصنعة للأجهزة الذكية ، ويمكن التحكم في كل هذه الأجهزة عن طريق الهاتف المحمول. هذا يعني أن جميع هذه الشركات المصنعة لديها نوع من واجهة برمجة التطبيقات التي ينقر المستخدم عليها على الهاتف المحمول ، ويرسل الهاتف المحمول بعض الطلبات إلى السحابة ، على التوالي ، من هذه الشركة المصنعة ، ويقوم الجهاز بتشغيل ، إيقاف ، يتغير السطوع ، بعض المعلمات.
وفقا لذلك ، في هذا الاتجاه الذي نريد دمج. يمكننا أن نقول أن المستخدم لا يرتكز على الهاتف ، ولكن يتحدث بصوت ، على سبيل المثال. وأرسل نفس الطلب بالضبط إلى سحابة هذه الشركة المصنعة. وهذا ما يسمى سحابة إلى سحابة التفاعل. على الشريحة التالية موصوفة بالتفصيل.

وهذا يعني أن الشخص يتحكم إما باستخدام الهاتف المحمول أو الصوت. تنتقل خوادم Yandex الإضافية من سحابة الشركة المصنعة المناظرة ، ويتم تشغيل الجهاز.

كيف تعرف ياندكس عن الجهاز الذي يمتلكه المستخدم؟ للقيام بذلك ، نستخدم الإجراء القياسي. يطلق عليه ربط حساب Oauth2. يحتاج المستخدم فقط للذهاب إلى تطبيق ياندكس ، وربط ما يسمى الحسابات. تحدث تقريبا ، على الأصابع ، وأنها تعمل مثل هذا.
عندما نريد توصيل حسابنا بـ Philips ، يقوم المستخدم بإدخال اسم المستخدم أو كلمة المرور أو يخبرنا برمز مميز خاص ، ومن المفترض أن نذهب باستخدام هذا الرمز المميز إلى اسم مستخدم Philips.

الجزء الرئيسي الثاني الذي يتكون منه بروتوكول المنزل الذكي هو النوايا الصوتية. الأول والأهم هو اكتشاف. نحن مع رمز المستخدم نذهب إلى سحابة الشركة المصنعة المقابلة ، والشركة المصنعة تخبرنا: المستخدم لديه مثل هذه الأجهزة. ثم كل شيء بسيط. الاستعلام ، العمل. يأتي Yandex مع طلب Query لمعرفة حالة الجهاز - المكواة في وضع التشغيل ، أو درجة حرارة جهاز تكييف الهواء في الوقت الحالي. الإجراء ، وهذا يعني أن الوضع الحالي يحتاج إلى تغيير. يحدث إلغاء الربط عندما يقرر المستخدم كسر حزمة الحسابات بحيث ينسى Yandex جميع الأجهزة الموجودة.

دعنا نذهب أكثر عمقا ونرى كيف تعمل كل هذه النوايا. أولاً وقبل كل شيء ، هذه هي أنواع الأجهزة - نوع الجهاز. تؤثر أنواع الأجهزة فقط على تمثيلات الجهاز في الواجهة. هذه هي تخطيطات خاصة في تطبيق المحمول. بالإضافة إلى ذلك ، ربما يكون أهم شيء هو أن أنواع الأجهزة تعمم نوعًا من التمثيل الصوتي ، وبعض الأوامر الصوتية. بمعنى أنه لا يهم ما يسميه المستخدم المصباح الخاص به ، فلا يزال يجب أن يرد على كلمة "النور" ، على سبيل المثال. أو لا ينبغي أن تكون مهمة على الإطلاق ، يقول المستخدم "تشغيل مكيف الهواء" أو "الشقة". علاوة على ذلك ، يمكن استدعاء مكيف الهواء هذا.
وثانياً ، لفهم كيفية التحكم في الجهاز ، نحتاج إلى معرفة أن هذا الجهاز يمكنه ذلك. نحن نسمي هذه الأشياء القدرات. أي أنها تشبه لبنة البناء التي تتحدث عن ما يمكن أن يفعله الجهاز.

أكثر قليلا عن نوع الجهاز. في البداية ، كان لدينا ستة ، في رأيي. الآن لقد نمت إلى هذه الكمية. على سبيل المثال ، أطلقوا سراحهم قبل أسبوعين ، وتمكن الرجال من فتح أبوابهم. يمكنهم الآن قول: "أليس ، افتح البوابة" وليس "أليس ، قم بتشغيل البوابة" ، على سبيل المثال.

الآن دعونا نتحدث عن القدرات ، وما هي القدرات المتاحة وكيفية جعل Alice تفهم كيفية إدارة جهازك.
أول وأهم وأبسط شيء هو on_off. تقريبا كل جهاز لديه هذه القدرة. لإخبار Alice أنه يمكن تشغيل الجهاز وإيقاف تشغيله ، ما عليك سوى إضافة هذين السطورين من Jason وتحديد العلامة التي يمكن استرجاعها. تعني هذه العلامة أنه يمكنك معرفة ما إذا كان الجهاز قيد التشغيل أم لا.
مثال بسيط مع جهاز تلفزيون. من المحتمل أن يكون لديك جهاز تلفزيون في المنزل ، ونظرًا إلى جهاز التحكم عن بُعد الخاص بالتلفزيون ، من المستحيل أن تفهم ما إذا كان التلفزيون قيد التشغيل أو مطفأ ، بالطبع ، إذا كان جهاز التحكم عن بعد بالأشعة تحت الحمراء.

النوع التالي من القدرة الذي يصف مصابيح الإضاءة هو ضبط الألوان. كما أن لديها العلم استرجاعها. ولكن الأهم من ذلك ، هذه المعلمتين هي color_model. باستخدام هذه المعلمة ، يخبرنا المصنّع أنه يعرف كيفية التحكم في اللون. يمكن أن يكون هذا اللون في وضع hsv أو rbg.

والثاني هو تدرج الأبيض. بمعنى أنه يمكن القول أن لمبة الإضاءة الخاصة بي يمكن أن تكون بيضاء باردة ، صفراء دافئة ، وهكذا ، بحيث يمكن للمستخدم أن يقول: "الرجاء جعل المصباح أكثر دفئًا".

بعد ذلك ، سوف نذهب إلى القدرات ، ونعمم بعض الأوضاع. التشبيه الجيد للغاية مع الواجهة هو أزرار الراديو ، عندما تحتاج إلى اختيار واحد من عدة أوضاع. أو فكر في غسالة ملابس من نوع krutilochka ، حيث يوجد بالتأكيد "بياضات قطنية" ، وضع "غسيل دقيق" ، إلخ.

هنا من المهم بالنسبة لنا أن نعرف بالضبط أي مثيل لهذا الوضع يستحق كل هذا العناء. المثال الحالي ، هناك بالفعل ستة منهم. ولكن هذه هي بالضبط تلك التي طبقناها في المرحلة الأولى ، وهي مثال على مكيف الهواء - الوضع التلقائي ، التبريد ، إلخ. أو ، على سبيل المثال ، هناك ، وضع تشغيل المروحة هو أبطأ أو متوسط أو تلقائي مرة أخرى.
وفيما يتعلق بالوضع ، يمكننا أن نقول: "يرجى تشغيل الوضع التالي". وهي مريحة للغاية لمكيفات الهواء أو لنفس الغسالة.

القدرة الأخرى هي المدى. كما هو مطبق في تشبيه الواجهات ، يمكن لهذا النوع من شريط التمرير من الحد الأدنى إلى الحد الأقصى للقيمة تنظيم شيء ما. هذا شريط التمرير لديه أيضا المثال. على سبيل المثال ، هذا هو درجة الحرارة والحجم والسطوع ، وهكذا ، أي نطاق يمكن وصفه تقريبًا. هذه الوحدة ، لأن بعض الناس ، كما اتضح فيما بعد ، لفحص أجهزة تكييف الهواء ، يقولون درجة الحرارة في فهرنهايت. وهذه ، وفقا لذلك ، هي درجات حرارة مختلفة تماما. عندما يسأل شخص ما لإدراجه في فهرنهايت أو مئوية ، يجب أيضًا فهم ذلك.
من المحتمل أن تكون علامة الوصول العشوائي معروفة لك ، فهذا هو الوقت الذي يمكننا فيه إعطاء العدد الدقيق الذي سيتم تعيين القيمة عليه في هذا النطاق. مثال بسيط جدا ، مرة أخرى ، مع أجهزة التلفزيون. لا يمكن التحكم في مستوى الصوت لأعلى ولأسفل. ويمكن تحديد درجة الحرارة على مكيفات الهواء بدقة.
ووصف النطاق ذاته ، عندما نعرف بعض الحد الأدنى للقيمة والحد الأقصى للقيمة والخطوة الصغيرة التي يمكننا من خلالها تغيير هذه القيمة. على مكيفات الهواء ، مرة أخرى ، يمكن أن يكون نوعًا ما بالكامل ، أو في أجزاء من عشرات.

القدرة الأخيرة تشبه الواجهة ، إنها علامة اختيار. تذكر ، في أجهزة الكمبيوتر القديمة كان هناك وضع توربو - تضغط ، ويعمل الكمبيوتر بشكل أسرع؟ هنا تقول: "أليس ، أطفئ الصوت" ، نضغط على زر كتم الصوت ويختفي الصوت. يمكننا القول ، على الأرجح ، أن هذا هو نوع من الوضع الثنائي.
ومزيج من كل هذه القدرات ، كل المهارات. يمكننا وصف جميع أنواع الأجهزة المتوفرة حاليًا في السوق.

على سبيل المثال ، المصباح الكهربائي الذكي. إنها تعرف كيفية تشغيلها وإيقافها. إنها تعرف كيفية ضبط اللون ، وتعرف كيفية ضبط السطوع. ولكن إذا كان كل شيء بسيطًا باستخدام مصباح كهربائي ، فلنحاول معًا وصف بعض الأجهزة الأخرى. على سبيل المثال ، غلاية.

ما رأيك غلاية ذكية يجب أن تكون قادرة على القيام؟ أعطيتك تلميحًا ، لقطة شاشة من واجهة تطبيق Yandex. كيف تصفين الغلاية؟ درجة الحرارة. آخر؟ نعم ، وتشغيله وإيقاف تشغيله. غلاية هو جهاز بسيط جدا. إنه يعرف كيفية تشغيله وإيقاف تشغيله ، على سبيل المثال ، الشاي الأخضر المفضل لدي ، أريد أن أصنعه عند 85 درجة. هل يوجد بها ماء؟ نعم ، نقطة جيدة. نحن هنا في انتظار المعلومات من الشركة المصنعة.

أود أن أخبرك عن الأجهزة الأخرى. يعد تكييف الهواء أحد أكثر الأجهزة تطوراً المتوفرة الآن. ما رأيك تكييف الهواء يجب أن تكون قادرة على القيام به؟ دافئ أو بارد. ضبط درجة الحرارة. وضع مع الستائر. سرعة المروحة. كل شيء صحيح. ومكيف الهواء ، الذي يمكن الآن وصفه في قدرتنا ، يمكنه القيام بكل هذا. إنه يعرف كيفية تشغيله وإيقاف تشغيله وتحديد وضع التبريد وضبط درجة حرارة وسرعة المروحة ، والتي تهب إما بالهواء البارد أو الساخن. قد يكون هناك هواء عادي في الوضع دون تكييف الهواء.

دعنا نذهب إلى الأسفل ونرى نوع الإجابات التي نتوقعها من الشركات المصنعة عند وصف الأجهزة. هذا هو اكتشاف النوايا. هناك القليل من YAML هنا ، لكن من السهل قراءتها.
في الوقت الذي يربط فيه المستخدم الحسابات ، نطلب من الشركة المصنعة ما لديه هذا المستخدم ، وما هي الأجهزة - فقط لفهم كيفية إدارتها.
أولاً وقبل كل شيء: نحن في انتظار user_id لهذا المستخدم وقائمة الأجهزة.

يتم وصف جهاز واحد فقط هنا: المستخدم لديه مصباح كهربائي ، devices.types.light. يمكن أن يكون ، بالمناسبة ، ليس فقط المصباح الكهربائي. يمكن أن يكون نوعا من الشريط RGB أو جزازة العشب مع الإضاءة الخلفية. لا يهمنا على الإطلاق. الشيء الرئيسي هو أنه يتفاعل مع كلمة "النور" وأنه في الواجهة يمكننا استخلاص القدرة ، المسؤولة عن الضوء.

يبدو جزازة العشب لدينا لمعرفة كيفية تشغيل وإيقاف. إنها تعرف كيفية تغيير السطوع. وهي تعرف كيفية ضبط اللون. وليس فقط اللون - إن تركيبات الإضاءة هذه لديها أيضًا ضبط لدرجة حرارة اللون.

لنفترض أن المستخدم يسأل: "أليس ، ما هي حالة المصباح الكهربائي الآن؟" أو "أليس ، هل نوري مضيء؟" ثم نرسل مثل هذا السؤال إلى الموفر ، ونقول إنه يجب طرح مثل هذا الجهاز على وضع الألوان الموجود الآن وما إذا كان الجهاز نفسه قيد التشغيل.


إذا أراد المستخدم تغيير هذا الوضع ، فيمكنه ، على سبيل المثال ، أن يقول: "أليس ، أطفئ الضوء". هناك مصباح كهربائي بمعرف abc-123 ، "يرجى إيقافه" ، قيمة خاطئة.

نحن في انتظار قيام الشركة المصنعة للجهاز على الجانب الآخر من السحابة بالرد علينا: حسناً ، light abc-123 ، action_result ، status DONE. لذا فإن الضوء قد انطفأ.

أكثر قليلا عن النصوص. نحن نتفهم أن المستخدمين لا يريدون فقط إدارة أجهزتهم بشكل فردي ، ولكن أيضًا تجميعها معًا. على سبيل المثال ، عندما يستيقظون ، يقولون: "أليس ، صباح الخير" ، ويريدون تنفيذ مجموعة معينة من الإجراءات.
وفقًا لذلك ، في تطبيق Yandex ، يمكنك قول ذلك ، وستقوم Alice بتشغيل بعض الموسيقى ، وإيقاف تشغيل ضوء الليل ، وسوف تبدأ الغلاية في العمل ، وغلي الماء لصنع القهوة المفضلة لديك.

عن الخطط. نحن نتفهم هذا العمل بشكله الحالي ، على الرغم من أنه يسمح لك بوصف عدد كبير من الأجهزة ، ولكن ، على سبيل المثال ، لا يسمح لك بتلقي المعلومات من أجهزة الاستشعار. لن نتمكن من تكوين أي حدث في السيناريوهات حتى يتسنى لنا فهم مستشعر التسرب أو الدخان أو فتح الباب أن شيئًا ما قد حدث. نحن نهدف إلى القيام بذلك. نحن نفهم أيضًا أنه في الوقت الحالي لا يمكننا التحكم في تدفق الوسائط. أبسط مثال على ذلك هو أن ساعيًا جاء إلى منزلك بالبيتزا الساخنة ، ويأتي إلى هاتفك هاتفك بضغطة. هذا رائع! الآن أصبح من المستحيل القيام بذلك بالقدرات الحالية - على الأرجح ، ستظهر القدرات التي تصف الكاميرات.
حول أجهزة الاستشعار سأتطرق إلى موضوع زلق - IFTTT. مع IFTTT ، نريد تشغيل برنامج نصي ليس فقط بصوت ، كما هو الحال الآن. نريد تشغيلها في أحداث مختلفة: على المؤقت ، والجداول الزمنية ، وشروق الشمس أو غروب الشمس وغيرها من الأحداث. ونريد حقًا ألا يكون المنزل الذكي مخصصًا فقط للمهوسون الذين يفهمون سبب حاجتهم لنقل كلمة المرور الخاصة بهم من لمبة Wi-Fi. نريد أن نجعلها حتى لا يكون الأشخاص الذين لا يرتبطون مطلقًا بالمنزل الذكي ، أو الذين لا يفهمون كيف يعمل ، مجرد شراء نوع من الغلاية ، الغسالة ، المصباح الكهربائي ، لا يهم. وقالت أليس: "يبدو أن لديك نوعًا ما من الأجهزة الجديدة في منزلي. هل تريد توصيله؟ " وكل شيء للعمل على الفور.
في الختام ، أريد أن أقول: لاستخدام هذه التقنية ، المنزل الذكي ، ما عليك سوى قراءة الوثائق ووصف جهازك بشكل صحيح باستخدام أنواع الأجهزة والقدرات الحالية. شكرا لك