مرحبا. في الوقت الحالي ، تمكنت من إدراك إحدى إمكانات المنزل الذكي ، ألا وهي التحكم الصوتي الكامل في الإضاءة من خلال خدمة Alice’s Yandex ، وخاصة من خلال محطة Smart العمود Yandex و Alice على الهاتف. ولكن كل شيء سيعمل أيضًا على أي جهاز مثبت عليه. يعتمد التثبيت الخفيف على 4 وحدات تحكم RGBWW MiLight FUT039 ووحدة تحكم WiFi MiLight ibox2 (التي تسحب 4 مناطق تحكم) ، يتم تكوين وحدات تحكم MiLight (3 قطع) بشكل متوازٍ وتعمل كمراقبة احتياطية في حالة عدم وجود الإنترنت ، لكن لا علاقة لها بالتحكم في الصوت ، لذلك ، لن نأخذها في الاعتبار.
ما هو الفرق بين هذا التنفيذ؟ إن دائرة التحكم سهلة التنفيذ ، ولا تتطلب أي مهارات برمجة وتكاليف تتعلق بتكلفة مكبر الصوت الذكي والحاسوب الصغير Raspberry 3 ، كما أن برنامج الكمبيوتر الصغير مجاني تمامًا. ولا تحتاج إلى توصيل الأجهزة التي تتحكم فيها بخوادم الشركات المصنعة. هناك حاجة إلى الإنترنت من أجل خدمات Alice و Yandex ، وتحتاج إلى بثها على المنفذ 443.
سأشرح بإيجاز كيف جئت إلى هذا. في البداية ، كان يتم التحكم في الضوء بواسطة وحدات التحكم MiLight FUT039 من خلال أجهزة التحكم عن بعد المعلقة في أكثر النقاط ملائمة في الشقة ، ثم اشتريت وحدة التحكم iBox2 ، وبعد ذلك تمكنت من التحكم في الضوء أيضًا من الهاتف. بعد فترة وجيزة ، بناءً على نصيحة أحد الزملاء ، استحوذت على محطة Yandex-mini ذكية للغاية ، لقد أحببت حقًا الفرصة لضبط المنبه عن طريق الصوت ، وضبط التذكيرات وغيرها من التافهات. بعد ذلك ، اتضح أن العمود يمكنه إدارة الأجهزة الذكية ، حتى من خلال الحسابات على مواقع الشركات المصنعة.
بعد قراءة المعلومات حول كيفية عمل التحكم من خلال حزم الحسابات ، ظهرت الفكرة أنه يمكنك بطريقة ما إعطاء أوامر مباشرة للأجهزة الذكية عبر Wi-Fi ، لأن الهاتف بطريقة ما كان قادرًا على التحكم في الضوء عبر Wi-Fi. في الواقع ، تبين أن كل شيء كان مختلفًا قليلاً ، واضطررت إلى مجرفة وتجاهل الكثير من الخيارات المعطلة مثل نقل الإخراج من البرامج النصية في بيثون أو pkhp من خلال وحدة راديو ، ولكن نتيجة لذلك تحول كل شيء.
سأقدم على الفور مقالات تحتوي على روابط تم تنفيذها على أساسها وسأصف قليلاً ما أخذته من هناك. الشيء الأكثر إثارة للاهتمام هو أن كل مقال أعطى اتجاهه في إدارة الجهاز ، ولكن كان التأثير على الجمع بين هذه الميزات.
هكذا
المادة الأولى ، ولكن ليس الرئيسي. الشيء الرئيسي الذي أخذته من هنا هو معلومات حول وجود Openhab2 ، وتركيب وحدة تحكم iBox2 وتوصيلها بها. بعد تثبيت المحور المفتوح ، تمكنت من التحكم في الإضاءة أيضًا من الكمبيوتر. الأكثر أساسية هو أول 3 فصول ، ثم في رأيي ذهب هراء. أعتذر للمؤلف ، لكنه كذلك. لتوصيل المزيد من الموارد الخارجية (الإنترنت) لإعداد الاتصال بالإضافة إلى نوع من "تعاويذ سحرية" هو تمثال نصفي.
هذه المقالة أساسية وملزمة. وهنا أدركت أين أتحرك وكيفية تنفيذ كل شيء. يقدم المؤلف مخططًا عامًا للتفاعل بين الأجهزة والخدمات ، بالإضافة إلى أنه يفكك بوضوح نظام الأوامر والأجهزة في YandexUD. والأهم من ذلك هو البرنامج المساعد
yandex2mqtt الذي كتبه مؤلف
Munrexio (
https://sprut.ai/client/plugins/instruction/1821 ) ، والذي بدونه لن يعمل أي شيء. باختصار ، ما حصلت عليه من هنا: البرنامج المساعد yandex2mqtt ، فكرة استخدام خادم MQTT لنقل الولايات والأوامر ، ونظام العمل مع YandexUnnyDom و Yandex.Dialogs باستخدام شهادات للترخيص وتسجيل المهارات. استغرق كل شيء حتى رأس العقدة الأحمر. علاوة على ذلك ، فإن التفاصيل المرتبطة باستخدام وحدة تحكم Wiren Board من قبل المؤلف ، أي قراءة هي أساسا لفهم عام. في حالتي ، الوحدة الرئيسية هي OpenHub ، التي تدعم إدارة الجهاز ، والمكون الإضافي yandex2mqtt وخادم MQTT هما عناصر الاتصال مع خدمات Yandex
معلومات اضافية:
3. Raspberry Pi: تكوين / اختبار الوسيط وعميل Mosquitto على Raspberry Pi
ما هو MQTT ولماذا هو مطلوب في IIoT؟ وصف بروتوكول MQTT
http://wikihandbk.com/wiki/Raspberry_Pi:٪D0٪9D٪D0٪B0٪D1٪81٪D1٪82٪D1٪80٪D0٪BE٪D0٪B9٪D0٪BA٪D0٪ B0 /٪ D0٪ A2٪ D0٪ B5٪ D1٪ 81٪ D1٪ 82٪ D0٪ B8٪ D1٪ 80٪ D0٪ BE٪ D0٪ B2٪ D0٪ B0٪ D0٪ BD٪ D0٪ B8٪ D0٪ B5_ ٪ D0٪ B1٪ D1٪ 80٪ D0٪ BE٪ D0٪ BA٪ D0٪ B5٪ D1٪ 80٪ D0٪ B0_٪ D0٪ B8_٪ D0٪ BA٪ D0٪ BB٪ D0٪ BB٪ D0٪ B8٪ D0٪ B5٪ D0 ٪ BD٪ D1٪ 82٪ D0٪ B0_Mosquitto_٪ D0٪ BD٪ D0٪ B0_Raspberry_Pi # .D0.A2.D0.B5.D1.81.D1.82.D0.B8.D1.80.D0.BE.D0. B2.D0.B0.D0.BD.D0.B8.D0.B5_.D0.B1.D1.80.D0.BE.D0.BA.D0.B5.D1.80.D0.B0_.D0.B8_. D0.BA.D0.BB.D0.B8.D0.B5.D0.BD.D1.82.D0.B0_Mosquitto_.D0.BD.D0.B0_Raspberry_Pi.5B1.5D - جزء التطبيق ، التثبيت والعمل على سطر الأوامر لـ الفحوصات الصحية
https://ipc2u.ru/articles/prostye-resheniya/chto-takoe-mqtt/ - فهم عام للبروتوكول
يتم وصف التثبيت والتكوين بالتفصيل في المقالات الأصلية ، لذلك سأعطيك الإجراء فقط. في المستقبل القريب ، سوف أقوم بنشر صورة Raspbian مع نظام عمل ، بالطبع سأقوم بتغيير كلمات المرور الخاصة بي وحذف شهادات العمل ، والتعليمات الخاصة بإنشائها موجودة في المقالات ، وبعد ذلك ، مع مرور الوقت ، سأعيد رفع النظام على صورة جديدة وأكتب إرشادات العناصر التي تحتوي على أوامر التثبيت الإعدادات. يجب أن أقول على الفور أن هناك الكثير من الفائض في الصورة ، حاولت التحكم في Milight عليه من خلال وحدة الراديو RF24 والبرامج النصية بيثون التي وجدت على جيثب. لكن لم تنجح طريقة واحدة ، لذا فقد سجلتها ، لكنني لم أنظف النظام.
دعنا نذهب. قمنا بإعداد ضوء raspban ، تم تحديثه بشكل طبيعي ، وقمنا بتعيين وتكوين البعوض (المقالات تصف الإعدادات مع الوصول عن طريق تسجيل الدخول وكلمة المرور) ، وإعادة توجيه المنافذ على جهاز التوجيه ، ثم تحت عنوان "المنزل الذكي من قبل الكبار" نقوم بتسجيل المجال لاستلام الشهادات والحصول على الشهادات. نقوم بتثبيت المكون الإضافي yandex2mqtt ، وتكوينه ، وتعيين الشهادات ، وتسجيلات الدخول وكلمات المرور فيه ، وتحرير أجهزة mqtt والمواضيع. نقوم بالتسجيل في Yandex.oAuth ، والحصول على الرموز المميزة لنطاقنا هناك ، والتسجيل في YandexUD ، حيث نصف الوصول وكل شيء آخر. بعد الموافقة الناجحة على المسودة من قبل المشرف ، يمكنك رؤية الأجهزة من المكون الإضافي yandex2mqtt على الهاتف في تطبيق Yandex أو على الكمبيوتر على الخدمة
https://dialogs.yandex.ru/developer/skills/ في المسودة في علامة التبويب اختبار.
الآن نحن نقوم بتعيين وتكوين لوحة الوصل المفتوحة من مقالة "Alice ، تشغيل الضوء" ، يمكنك أيضًا العثور على مقالة حول إعداد لوحة الوصل المفتوحة على الموارد الأخرى. بعد إضافة أجهزة MiLIght وتكوينها والتحقق منها ، يتم تكوين أجهزة mqtt (
https://robot-on.ru/articles/prostaya-rabota-s-mqtt-v-openhab-2 ) والقنوات وعناوين المواضيع في المحور المفتوح. كما أفهمها ، فإن الأجهزة الموجودة في البرنامج المساعد yandex2mqtt تتلقى أوامر من خدمات Yandex وتحويلها إلى صواب / خطأ (0/1 ، على التوالي) أو المستوى الحالي في المئة مع خطوة مخصصة. يرسل المكوّن الإضافي هذه البيانات إلى موضوعات ، أي الناشر ، و openhub ، باعتباره مشتركًا في موضوعات ، يأخذ قيمًا من المواضيع المقابلة ويرسلها إلى تبديل العناصر في الأجهزة المسجلة فيها ، كنتيجة لذلك يتم التحكم في الأجهزة.
مثل أي عمل يتم لأول مرة ، هناك العديد من الفروق الدقيقة.
- كنت قادراً على تثبيت openhub على جهاز الكمبيوتر الصغير العامل الخاص بي ، حتى لو اضطررت إلى ركله. لكنه لم يستطع إعادة تثبيته على صورة نظيفة جديدة ، ولم يساعد الحل الذي تم طرحه في المرة الأخيرة. خطأ (خطأ HTTP 404 مشكلة في الوصول / الفهرس / السبب. لم يتم العثور على). ضع ذلك في الاعتبار. ولكن كخيار ، يمكن أيضًا تثبيت openhub على جهاز كمبيوتر للاختبار.
- يتم إصدار شهادة المجال لـ letsencrypt.org لمدة ثلاثة أشهر. أنا لم أزعجني الحصول على شهادة أخرى أطول
- نجح مشروع للمهارة على https://dialogs.yandex.ru/developer/ في النجاح في الإشراف ، لكنه لم يتمكن بعد من نشره. خطأ (أخطاء التحقق من الصحة: - عنوان URL لنقطة النهاية: خطأ في تنفيذ بروتوكول المنزل الذكي: user_unlink: غير موجود). حتى اكتشفت ما هي المشكلة. هذا لا يمنع النظام من العمل ، لكنني لا أتذكر ما إذا كانت هناك قيود على مدة المهارة غير المنشورة.
- تم العثور على خطأ: اتضح أنه في المصادر yandex2mqtt في ملف app.js في السطر "app.post ('/ provider // v1.0 / user / unlink'، ways.user.unlink)؛" غير مائل للغاية. تصحيح على جهاز الكمبيوتر الخاص بي - كان المنشور ناجحًا.
- لقد قمت أيضًا بإصلاح قسم تبديل القناة لجهاز "TV" في config.js ، لم يعمل الأصل
وأخيرا ، احتمالات هذه المجموعة من المحور المفتوح ، والمكونات الإضافية والبعوض. OpenHub هو جوهر النظام ويمكنه التحكم في مجموعة كبيرة من الأجهزة (وهذا ليس مائة قطعة من الحديد) ، وليس مجرد ضوء. الآن أقوم بتصوير Gnusmas TV للتحكم الصوتي. نظرًا لأن مثل هذه الإدارة تعمل بالفعل ، يمكنك على الأرجح نسخ كل ما هو موجود على نفس أليس ، يمكنك تخيل ذلك بنفسك. بالمناسبة ، هناك بعض الملاحظات اليوم. لقد وجدت أنه يمكن التحكم في إضاءة المنزل من أي مكان يوجد به الإنترنت لـ Alice ، على سبيل المثال ، من هاتف من الطرف الآخر من المدينة وحتى من خلال فحص كاميرا منزلية. ونظرًا لأن قائمة أوامر التحكم في الجهاز مسجلة بالفعل في المهارة ، بالإضافة إلى التعرف على الأوامر الصوتية وتحويلها إلى نص ، لا يمكنك التذمر في الهاتف "Alice ، أطفئ الضوء في غرفة النوم" ، ولكن ببساطة اكتب "Turn off the light in the room" وسوف يعمل
حسنا ، الفيديو نفسه: