المنزل الذكي على عجلات ... أليس. الجزء 2. زيجبي

استمرار الملحمة مع التحكم الصوتي


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

تكلفة CC2531 تكلف 250 روبل ، المبرمج لأنه CC-Debugger Texas Instrument - 500 روبل. كانت مفاتيح التبديل الذكية Livolo VL-C701Z-11 touch هي الأغلى - حوالي 2000 روبل للقطعة ، وبعد ذلك بقليل تمت إضافة زر التبديل Wall Wall Zigbee أيضًا حوالي 2000.

في البداية ، خططت للتحكم في المفاتيح من خلال جهاز توجيه بوابة ZigBee الخاص Livolo C700ZW-12 وتوصيله بالمحور المفتوح والتوجيه باستخدام Alice من خلال yandex2mqtt. لقد قمت بتوصيل الغدد بالكهرباء ، وقمت بإعداد التطبيق من Livolo على الهاتف. رأيت مفاتيح البوابة متصلة ، وعمل كل شيء بشكل مثالي من الهاتف. لكن لا يمكن دمج المحور المفتوح مع جهاز التوجيه بسبب نقص الوظائف الضرورية في المحور المفتوح.

اضطررت إلى التخلي عن البوابة ودمج المفاتيح مباشرة مع دونجل CC2531. وهنا ساعد مشروع zigbee2mqtt من صديق Koenkk في ذلك . ونتيجة لذلك ، تمكنا من توصيل منسق ZigBee بالمفاتيح الذكية ، والتحقق أولاً من تشغيلها من خلال الاستعلامات في موضوع mqtt للتحليل ، ثم تكوين عنصر التحكم باستخدام Alice.

حسنًا ، كيف سار الإعداد:

1. قم بتشغيل Flash CC2531 بالبرامج الثابتة للمنسق وقم بتوصيله بمنفذ USB. لتجنب الرسائل حول نقص الطاقة ، من الأفضل توصيل 2A على الأقل بمصدر طاقة 5V. نتحقق من أن العصا في النظام محددة بشكل صحيح: ستعرض ls -l / dev / serial / by-id شيئًا مثل usb-Texas_Instruments_TI_CC2531_USB_CDC ___ 0X00124B0458ED3DDF-if00 -> ../../ttyACM0. إن وجود آخر جزء من الإخراج "-> ../../ttyACM0" مهم جدًا إذا كان ذلك. يمكن للعصا أن تقرر بدون هذا الجزء ولن ينجح شيء. ساعدني وميض العصا في مثل هذه المشكلة.

2. تثبيت Zigbee2mqtt ، ولكن لا تبدأ.

3. من المهم تكوين /opt/zigbee2mqtt/data/configuration.yaml بشكل صحيح. الحقيقة هي أن مفاتيح Livolo الذكية تعمل على القناة 26 ، لذا يجب تعيين هذه القناة بشكل صريح في الملف. ومن المهم أيضًا الانتباه إلى عدد المسافات في بداية سطور الملف. للتحقق من بنية ملف التكوين ، يمكنك استخدام مدقق YAML .

4. بعد تسجيل ملف التكوين بشكل صحيح وتوقف الدونجل ، قم بتشغيل zigbee2mqtt. ثم نقوم بدمج المفاتيح ، وبدء الاقتران وإلقاء نظرة على إخراج وحدة التحكم. سوف يكون هناك خط من تبادل البيانات، rassharkivaniya المتبادلة بين الأجهزة وأخيرا شيئا من هذا القبيل: MQTT publish: topic 'zigbee2mqtt/0x001*********a8c9', payload '{"state_left":"OFF","state_right":"OFF","linkquality":60}'. هذا يعني أن المفتاح متصل ويرسل حالته. إذا قمت بتشغيل عدة وحدات تحكم أخرى ، فيمكنك التحكم في الضوء من خلال موضوع mqtt: إيقاف التشغيل- mosquitto_pub -d -h localhost -t zigbee2mqtt/0x001*********a8c9/left/set -m OFF -u a**** -P *****واستدار - mosquitto_pub -d -h localhost -t zigbee2mqtt/0x001*********a8c9/left/set -m ON -u a**** -P *****ويمكنك أيضًا التحقق من الفريق في توبيكا mosquitto_sub -d -h localhost -t zigbee2mqtt/0x001*********a8c9/left/set -u a**** -P *****. بالمناسبة ، بالنسبة ل Livolo و Aqara ، تختلف الموضوعات ليس فقط في المعرفات 0x0 ... ، ولكن أيضًا في الهيكل. يمكن العثور على بنية موضوعات الأجهزة المدعومة هنا .

5. بعد التحقق من قدرتنا على إدارة الأجهزة من خلال mqtt ، سنقرن كل شيء مع Yandex. ظهرت بعض الفروق الدقيقة هنا. جاءت أوامر التحكم في الأجهزة من خلال zigbee2mqtt في المواضيع في شكل تشغيل / إيقاف ، و yandex2mqtt كما اتضح يعطي 1/0. كان الحل لهذه المشكلة هو التحرير في yandex2mqtt الملف /mnt/data/root/yandex2mqtt/device.js. هل تحتاج إلى استبدال int = val في المحول في حالة "التشغيل"؟ إلى "on": "off" بدلاً من "1": "0". بطبيعة الحال ، يجب تصحيح أوامر التبديل في المحور المفتوح في المواضيع المقابلة. بدون هذا ، فإن الضوء على Milight سيتوقف عن العمل. والشيء الأكثر إثارة للاهتمام ظهر على الفور - نظرًا لأن yandex2mqtt و zigbee2mqtt ينشران كل شيء على خادم mqtt المحلي ، يبدو أن أجهزة zenbee لا تحتاج إلى محور مفتوح لإدارة الأجهزة.تعمل الحزمة مباشرة - yandex (Alice) -yandex2mqtt-mqtt-zigbee2mqtt-device zigbee. حتى بشكل غير متوقع بطريقة أو بأخرى. لكن دعنا نواصل. سنقوم بوضع موضوع التحكم في الجهاز في ملف التكوين /mnt/data/root/yandex2mqtt/config.js في جهاز افتراضي جديد ، وتحديث قائمة الأجهزة في نظام حوار Yandex ويمكنك تشغيل Alice لتشغيل الضوء.

6. كان من الممكن أيضًا توصيل زوج من مستشعرات Xiaomi ومستشعر التسرب ومستشعر درجة الحرارة / الرطوبة / الضغط بالنظام. إنها تعمل على بطاريات 2032. وبطبيعة الحال ، لا يتم التحكم فيها ، ولكنها ببساطة تسقط معلومات بشكل دوري مثل #033[32mzigbee2mqtt:info #033[39m 2020-05-04 21:12:21: MQTT publish: topic 'zigbee2mqtt/0x0015************', payload '{"battery":91,"voltage":2985,"temperature":26.2,"humidity":28.65,"pressure":1006.9,"linkquality":52}' - # #033[32mzigbee2mqtt:info #033[39m 2020-05-04 21:21:07: MQTT publish: topic 'zigbee2mqtt/0x001************7', payload '{"battery":100,"voltage":3025,"linkquality":0,"water_leak":true}' مستشعر التسرب في كوب من الماء إلى مواضيع . حتى الآن ، لا توجد فائدة معينة ، ولكن إذا كان كل هذا هو otparsit وقمت بشيء تفاعلي مثل إرسال الرسائل القصيرة أو الأرقام إلى بعض كمامة الويب ، فستكون جيدة جدًا.

وقليل من الفيديو:



All Articles