نوفمبر 2017 ، تم عرض الرقم الحادي عشر على التقويم. كان البيع على Aliexpress على قدم وساق ، خدش يديه شيئًا للشراء. وقع الاختيار على "
Mi-light RGBW LED Lamp AC86-265V Remote Control Smart Lighting ." ونتيجة لذلك ، تم شراء نسختين من الطاقة القصوى ، بقدرة 9 وات ، ووحدة تحكم محور MiLight WiFi iBox. لم يكن التسليم من الصين طويلًا في المستقبل ، وبعد 4 أشهر ، في 13 مارس 2018 ،
تم فتح منصة Yandex.Dialogs (منصة تسمح لمطوري الجهات الخارجية بإضافة مهارات إلى المساعد الصوتي "أليس"). بعد ذلك ، ستتعلم أليس التحكم في الإضاءة (وليس فقط) في شقتك ، وسنساعدها في ذلك ، على مراحل وبدون سطر واحد من التعليمات البرمجية.
- إعداد مصباح Xiaomi الذكي
- قم بتثبيت openHAB
- التحكم بالضوء من خلال openHAB
- الوصول الخارجي إلى openHAB
- IFTTT
- أليس
1. إعداد مصابيح ذكية من Xiaomi.
أول شيء يجب فعله هو إعداد التحكم في المصباح ، على الأقل باستخدام التطبيق من Xiaomi. إذا تم تمرير هذه المرحلة من أجلك ، فلا تتردد في المضي قدمًا في إعداد خادم المنزل الذكي ، أو حتى أبعد من ذلك ، مباشرةً إلى دمج Alice و openHAB. ولكن ، أول شيء أولاً. لن يتم توصيل المصابيح نفسها بجهاز التوجيه المنزلي ، لذلك تحتاج إلى مركز iBox يمكنه التحكم في أربع مجموعات من مصادر الضوء. تحتاج إلى توصيله بالشبكة ، ثم توصيل المصابيح به.
- نقوم بتزويد iBox بالطاقة من خلال توصيله عبر USB ، على سبيل المثال ، بشاحن للهاتف.
- عند الاتصال لأول مرة ، تحتاج إلى إعادة تعيين لوحة الوصل ، لذا اضغط على RST .
- بعد ذلك ، قم بتثبيت التطبيق من Xiaomi لنظام التشغيل iOS أو Android على الهاتف. تأكد من أن الهاتف متصل بشبكة Wi-Fi المنزلية.
- افتح تطبيق Mi-Light 3.0 ، وانقر فوق + . نحن هنا مهتمون بعلامة التبويب Smart Link .
- أدخل اسم وكلمة مرور شبكة Wi-Fi المنزلية التي يتصل بها الهاتف ومن المخطط توصيل iBox .
- الآن يجب توصيل iBox بالشبكة ، ويجب أن يومض مؤشرا SYS و LINK ببطء وبسرعة ، على التوالي. إذا لم يكن كذلك ، اضغط RST مرة أخرى.
- إذا كانت المؤشرات تومض ، فانقر في تطبيق بدء التكوين ، وستبدأ عملية إعداد الاتصال للمحور.
- بعد حوالي عشر ثوانٍ ، سيتوقف الوميض ، ثم سيبدأ SYS في الوميض ببطء مرة أخرى ، وسيظل LINK قيد التشغيل. يعرض التطبيق مكوّن . لوحة الوصل متصلة بالشبكة. إذا لم يكن موجودًا في قائمة الأجهزة ، فما عليك سوى النقر فوق البحث عن الجهاز .
بالفعل ، يمكنك التحكم في لون وإضاءة iBox نفسه ، لكننا بحاجة إلى توصيل المصابيح. للقيام بذلك ، قم بربط المصابيح بإحدى المناطق الأربع المتاحة للمحور للتحكم.
- نفتح في تطبيق Mi-Light 3.0 من قائمة محور Mi-Light . انتقل إلى قسم الألوان .
- في الجزء العلوي من الشاشة ، حدد إحدى المناطق ، دعها تكون Zone1 . وانقر على رمز إقران الجهاز في الزاوية اليمنى العليا. تظهر شاشة LINK / UNLINK مع التعليمات.
- الآن نقوم بتكوين تلك المصابيح التي نريد ربطها بـ Zone1 ، وستحدث إدارتها في المستقبل بشكل متزامن. للتحكم في سطوع ولون كل مصباح على حدة ، يجب تخصيصها لمناطق منفصلة. لذا ، قم بتشغيل المصباح ، وخلال الثواني الثلاث الأولى ، انقر فوق تطبيق Link . إذا يومض المصباح ثلاث مرات ، فكل شيء على ما يرام ، وكانت المزامنة ناجحة. يمكنك التحكم في المصباح.
بشكل أساسي ، في هذه المرحلة لديك بالفعل جهاز تحكم عن بعد للتحكم عن بعد في الضوء. علاوة على ذلك ، يمكنك كتابة نظام التحكم في الإضاءة الخاص بك ، نظرًا لأن بروتوكول الاتصال بالمحور معروف منذ فترة طويلة (كان متاحًا مرة واحدة على الرابط
lesslessled.com/dev ). توجد مكتبات جاهزة في
php و
javascript و
python . لكن الإدارة ممكنة فقط من الشبكة المحلية ، والتي من الواضح أنها ليست كافية لأليس. دعونا نحاول حل هذه المشكلة.
2. تثبيت openHAB
باختصار ، ما هو
openHab . هذا هو خادم إدارة المنزل الذكي مفتوح المصدر. تم تطويره من قبل المجتمع ، ويدعم إدارة عدد كبير من الأجهزة. هناك عميل للجوال ، هناك إمكانية لإدارة Alexa من Amazon ومساعد من Google. مكتوب
بلغة جافا ، بناءً على إطار عمل
Eclipse SmartHome . لذلك يمكن تثبيته حتى على الثلاجة ، الشيء الرئيسي هو تشغيل آلة جافا الافتراضية على هذه الثلاجة. تعليمات التثبيت خاصة بـ
Linux و
Windows و
Mac OS و
Raspberry Pi للعديد من وحدات التخزين الشبكية
Synology و
QNAP . انتقل بسرعة إلى الخيار الأول.
- أضف مفاتيح المستودع:
wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add - sudo apt-get install apt-transport-https
- أضف المستودع نفسه:
echo 'deb https://dl.bintray.com/openhab/apt-repo2 stable main' | sudo tee /etc/apt/sources.list.d/openhab2.list
- نقوم بتحديث وتثبيت الخادم مع الوظائف الإضافية:
sudo apt-get update sudo apt-get install openhab2 sudo apt-get install openhab2-addons sudo apt-get install openhab2-addons-legacy
- نقوم بإعداد البدء التلقائي للخدمة بعد إعادة تشغيل الجهاز وبدء تشغيله:
sudo systemctl start openhab2.service sudo systemctl status openhab2.service sudo systemctl daemon-reload sudo systemctl enable openhab2.service
- الآن نحن ننتظر في منطقة 15-20 دقيقة (هذه ليست مبالغة ، هذه حقيقة قاسية مع النكات حول سرعة Java) ، بينما يتم تشغيلها وتظهر واجهة ويب على العنوان
http://openhab-device:8080
. - في هذه الصفحة ، نحن مهتمون بالعنصر Paper UI . مع هذا النوع من الواجهة ، سنعمل في المستقبل.

3. التحكم بالضوء من خلال openHAB
لذلك ، لدينا خادم منزلي ذكي ومصابيح من Xiaomi مع إمكانية التحكم عن بعد. من الضروري ربطها. يدعم openHAB المجلدات (تعليمات التحكم في الإلكترونيات المتصلة) للعديد من الأجهزة ، بما في ذلك هذه المصابيح.
- انتقل إلى Add-on → Bindings .
- قم بتثبيت Milight Binding .
- لإضافة الجهاز ، انقر فوق + في قسم التكوين → الأشياء .
- نختار Milight Binding ، ويبدأ البحث التلقائي عن الجهاز.
- لم أجد أي شيء تلقائيًا ، لذلك أضفت يدويًا " إضافة شيء يدويًا ".
- نختار محور iBox / iBox2 لإضافته.
- في الصفحة التي تفتح ، تحتاج إلى ملء حقلي IP و Bridge ID (عنوان mac للجهاز المتصل) ، يمكنك العثور عليها ، على سبيل المثال ، في لوحة التحكم الخاصة بالموجه (لوحة الوصل الخاصة بي مسجلة على الشبكة باسم وحدة HF-LPB100 المستخدمة فيها). أضف.
- رائع ، يظهر iBox / iBox2 الآن في قائمة الأجهزة مع النقش " عبر الإنترنت ".
- انقر فوق + مرة أخرى وحدد Milight Binding ، هذه المرة لإضافة المصابيح مباشرة.
- الآن لا تحتاج إلى إضافة أي شيء يدويًا ، ما عليك سوى تحديد مجموعة مصابيح من القائمة (في حالتي ، هذا هو عنصر Rgbww Color (المنطقة 1) ).
- يجب أن يظهر العنصر المحدد في قائمة الأشياء مع النقش " عبر الإنترنت ".

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

4. الوصول الخارجي إلى openHAB
لأسباب أمنية ، بعد التلاعبات الموضحة أعلاه ، يمكن إدارة خادم المنزل الذكي فقط من الشبكة المحلية. من الواضح أن هذا لا يكفي لمهمتنا.
هناك العديد من خيارات التكوين : تكوين VPN للوصول من الإنترنت إلى شبكة محلية ، أو تكوين وكيل عكسي ، أو توصيل الخادم الخاص بك بخدمة myopenHAB Cloud على myopenHAB.org. نظرًا لأن عدد موظفي Roskomnadzor في روسيا يتناسب طرديًا مع عدد مستخدمي VPN وخادم الوكيل ، فسوف نستخدم الخيار الأخير.
لا تضاعف الأشياء بلا داع
- نسجل على موقع myopenHAB ، قم بتسجيل الدخول وانتقل إلى https://myopenhab.org/account . في هذه الصفحة ، نحن مهتمون بمجالين : openHAB UUID و openHAB Secret . تسمح لك بتنظيم اتصال الخادم. دعونا معرفة مكان الحصول عليها.
- ننتقل إلى لوحة تحكم PaperUI openHAB .
- افتح قسم التكوين → الوظائف الإضافية → متفرقات .
- قم بتثبيت openHAB Cloud Connector .
- في التكوين ← الخدمات ، يجب أن تظهر وحدة سحابة openHAB مع وضع " الإشعارات والوصول عن بُعد ".
- في التكوين ← النظام ← إدارة الوظائف الإضافية ، يجب تنشيط المفتاح “ Acceess Remote Repository ”.
- بعد تثبيت الملحق ، ستكون البيانات التي نبحث عنها في الملفات / var / lib / openhab2 / uuid و / var / lib / openhab2 / openhabcloud / secret ( userdata / uuid و userdata / openhabcloud / secret ، إذا لم تقم بتثبيتها من الحزمة). نقوم بإدخالها في إعدادات الحساب على myopenHAB وانقر فوق تحديث . إذا تمت تهيئة كل شيء بشكل صحيح ، فيجب أن تظهر كلمة " متصل " على يمين عنوان بريدك. هذا يشير إلى أن الوصول إلى منزلك الذكي من الإنترنت مفتوح ، ولكن لن تتمكن Alice من استخدامه على الفور. تحتاج أولاً إلى إتاحة الوصول إلى الجهاز الذي تم تكوينه مسبقًا من الخارج.
- انتقل إلى التكوين → الخدمات → openHAB Cloud → تكوين .
- في العناصر التي يتم عرضها على قائمة التطبيقات مثل IFTTT ، قم بتنشيط مربع الاختيار الخاص بعنصر التحكم في السطوع وانقر فوق حفظ .
- بعد فترة ، نتحقق من أن العنصر المحدد مدرج في صفحة myopenhab.org/items بالحالة "تشغيل".

أصبح التحكم في المصباح ممكنًا الآن من الإنترنت ، عبر openHAB Cloud API ، الذي يدعم تفويض OAuth2. ولكن ، للأسف ، يتم تحديد العملاء مسبقًا مسبقًا ، وهي خدمة Alexa و Google Assistant و IFTTT. أليس ليست في هذه القائمة حتى الآن. لكن هذه ليست مشكلة!
5. IFTTT
إذا كان ذلك الحين ثم.
خدمة تسمح لك ببناء سلسلة من الإجراءات من عدة خدمات. استجب بشكل مشروط بإجراء في خدمة واحدة إذا نجح تشغيل حدث في خدمة أخرى. يدعم IFTTT عددًا كبيرًا من الخدمات ، بما في ذلك myopenHAB التي تهمنا. ولكن لا يدعم أليس. بشكل عام ، يمكن لأي شخص إنشاء وحدة نمطية لخدمته هناك ، أولاً وقبل كل شيء ، تحتاج إلى الاتصال بقسم المبيعات ومعرفة حجم دفعتك السنوية لصالح IFTTT. هدفنا هو استخدام الخدمة مجانًا حتى نتمكن من إعادة توجيه الطلبات من Alice إلى openHAB.
- نسجل على الموقع الإلكتروني ifttt.com وننتقل إلى التطبيقات الصغيرة ← التطبيق الجديد .
- بعد النقر فوق + هذا ، تحتاج إلى تحديد الخدمة التي سيتم تشغيل الحدث فيها. لأن خدمة أليس ليست في القائمة ، نحتاج إلى اختيار شيء يمكنه تلقي أوامر منها. هذه خدمة Webhooks . انقر فوق Connect .
- بعد ذلك ، حدد المشغل " تلقي طلب الويب " من القائمة باستخدام عنصر واحد.
- حدد اسم الحدث ، على سبيل المثال light_on ، وانقر فوق إنشاء .
- الآن نحن بحاجة لتحديد الرد ، انقر فوق + ذلك . اختيارنا من openHAB ، التوصيل.
- في النافذة التي تفتح ، إذن OAuth2 المذكور سابقًا ، انقر فوق السماح .
- يتوفر رد أمر الإرسال الوحيد.
- من القائمة المنسدلة ، حدد عنصر تحكم المصباح (على سبيل المثال ، Light_Switcher) ، وكأمر لتشغيل الضوء ، حدد كلمة " ON ". نحن نخلق.
للتحقق ، نحتاج إلى استدعاء مشغل على خدمة Webhooks. كيف تفعل ذلك؟ إرسال طلب ما بعد.
- نحن نبحث عن خدمة Webhooks على موقع IFTTT على الويب وننتقل إلى الوثائق المرتبطة بها.
- في الصفحة التي تفتح ، هناك أمر نحتاج إلى تنفيذه ، واستبدال {event} بـ light_on .
- بعد النقر فوق Test It ، يجب تشغيل المصباح.
يبقى إنشاء وصفة مماثلة للحدث light_off ، والتي سترسل الأمر OFF إلى عنصر التحكم في الضوء. ثم قم بتعليم أليس لاستدعاء هذه المحفزات بناء على طلبنا.

6. أليس
في طلبي ، ورغبتي ،
ستضيء أليس الضوء إذا كنت تستخدم منصة
Yandex.Dialogs . تم افتتاح النظام الأساسي في مارس من هذا العام ويسمح لأي شخص بإضافة مهارات إلى أليس من خلال كتابة الرمز المناسب. في الوقت الحالي ، تم عرض عدد كبير من المهارات
في الكتالوج . تطوير المهارات هو موضوع لمقال منفصل عن حبري ، وهنا لدينا "
بدون سطر واحد من التعليمات البرمجية ". لذلك سنستخدم التطورات المتاحة.
- نقوم بتثبيت الإصدار التجريبي من تطبيق بحث Yandex ، إلا أنه يدعم حاليًا مهارات المستخدم فقط .
- نقول أليس " تشغيل السحر ". إنها قدرة التعويذات السحرية / التعويذات السحرية التي ستسمح لنا بتنفيذ طلبات POST على خوادم IFTTT .
- انقر فوق إضافة وحدد العنوان لتشغيل ضوء النموذج:
https://maker.ifttt.com/trigger/light_on/with/key/{user_id}
- الخطوة التالية هي نطق عبارة أو كلمة سترد عليها أليس بإكمال طلب على العنوان المحدد (تجيبني أليس على "تشغيل الضوء").
إذا نقرت الآن على الزر المقابل أو صوتت الاقتراح ، فسيذهب الطلب من خوادم Yandex إلى خادم المهارات ، من هناك إلى IFTTT ، ثم إلى myopenHAB ، الذي سينقل البيانات إلى المثيل المحلي الخاص بك مع الوصول المباشر إلى محور المصباح وسيضيء الضوء. سنضيف على الفور أمرًا مشابهًا لإيقاف الإضاءة.
عليك أن تفهم أن مجرد تشغيل Alice وقول "
تشغيل الضوء " ليس كافيًا. لا تعرف Yandex أي شيء عن فرقنا للمنازل الذكية ، ويتم تخزين البيانات الخاصة بها في قاعدة بيانات مهارة "
السحر السحري ". لذلك ، تحتاج أولاً إلى استدعاء المهارة بقول "
تشغيل التعاويذ السحرية " ، وبعد ذلك فقط قم بتشغيل الضوء وإيقافه بصوتك.
ملاحظة
النهج مع دمج أليس و openHAB من خلال IFTTT لا يحد من خيالك. يمكنك استخدام إمكانية "
التعاويذ السحرية " للتحكم في أي شيء بصوت منزلك الذكي. على سبيل المثال ، يحتوي openHAB على روابط لـ Samsung SmartTV ، والتي تسمح لك بالتحكم في صوت وقنوات التلفزيون. تفاعل Alice و Webhooks هو تنفيذ واجهة صوتية لجميع خدمات IFTTT ، تسمح لك "
التعاويذ السحرية " بتنفيذ أمر أي منها. أو لا يمكنك استخدام Alice على الإطلاق ، وكتابة الواجهة الأمامية الخاصة بك ، على سبيل المثال ، تطبيق جوال يقوم بتنفيذ طلبات IFTTT من خلال جميع Webhooks نفسها. نعم ، و IFTTT ليست ضرورية للاستخدام ، عن طريق القياس ، يمكنك تكوين "
نوبات سحرية " لتلبية الطلبات إلى الخادم الخاص بك.