أتمتة المنزل مع ioBroker

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

في هذه المقالة ، أريد تغطية التشغيل الآلي للمنزل وكيفية استخدام مشروعك مفتوح المصدر لإضاءة (وليس فقط) منزلك المريح. أوه نعم ، لقد نسيت أن أقول أن كل الأتمتة تحدث في JavaScript!

لجميع عشاق شبيبة ، أطلب قطع


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

في المنزل ، يمكن تمييز العديد من مجالات الأتمتة:
- غالبًا ما تكون خفيفة
- ثم التدفئة
- المراقبة البيئية: درجة الحرارة من الداخل والخارج والرطوبة
- الأمن والتنبيه
- الوسائط المتعددة (التلفزيون والموسيقى)
- مصاريع ونوافذ وبوابات وأبواب ومظلات
- تهوية وتكييف
- التحكم في الأجهزة المنزلية الأخرى
- التسجيل والجداول
-

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

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

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

يجب أن يكون المنزل الذكي الحقيقي غير واضح. يجب أن يكون ملحوظًا فقط عندما يتوقف المنزل الذكي عن العمل.

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

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

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

الأتمتة هي الأفضل للشقة التي يعيش فيها العازب التقني ، ويذهب للعمل في نفس الوقت كل يوم ولديه عدد ثابت من العطلات وعطلات نهاية الأسبوع (للأسف ، لا تندرج روسيا تحت هذا المعيار. ما تكلفة عطلة العام الجديد في مايو :)).

ثم تأتي عائلة شابة بلا أطفال مع حب معتدل للتكنولوجيا. من المهم ألا ينفصل كل منهم عن هاتف محمول.

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

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

ما هو ioBroker؟
إنها منصة تكامل لإنترنت الأشياء وتعمل كخادم مركزي من أجل:
  • المنزل الذكي
  • أتمتة البناء
  • بمساعدة المعيشة

* بالمناسبة ، سأكون ممتنا لترجمة المصطلح الأخير.

ioBroker هو نظام قادر على ربط سلطة البروتوكولات والأجهزة ببعضها البعض.

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

ioBroker له بنية معيارية للغاية. تعمل كل وحدة في عملية منفصلة وعندما تتعطل ، يتم إعادة تشغيلها ويستمر النظام بأكمله في العمل.

الفرق بين ioBroker وأنظمة الأتمتة الأخرى هو وحدة تصور الويب في المتصفح. تم إنفاق نصف الوقت المطلوب لتطوير ioBroker بالكامل على تطويره.



أيضا ، تكمن ميزة ioBroker في العدد الهائل من حزم npm المتاحة - 286000.

* المعلومات المأخوذة من http://www.modulecounts.com/ .

بالطبع ، لا تكون جودة الحزم في المقدمة دائمًا ، ولكن كقاعدة لنفس المشكلة ، هناك العديد من الحزم المختلفة وتتطور الكمية في هذه الحالة إلى جودة. تحتاج فقط إلى اختيار الحزمة المناسبة. وبالتالي ، فإن ربط البروتوكولات الجديدة هو مسألة تقنية فقط.
بهذه الطريقة ، قمت بتطبيق اتصال OPC UA و Sonos و MQTT و Telegram و Pushover و Homematic و Z-Wave و Simatic والعديد من الأنظمة الأخرى.

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

بدائل مفتوحة المصدر.

- OpenHAB هي منصة أتمتة Java شعبية. يوجد حاليًا ما يصل إلى 160 برنامج تشغيل أو وحدة نمطية.

- FHEM هو نظام أتمتة واسع الانتشار في بيرل في ألمانيا مع عدد كبير من السائقين - 340. لكن إعداد النظام ضعيف وعدم وجود نموذج ميتا قياسي يجعل من الصعب توسيع النظام.

- MajorDomo هي منصة أتمتة ناضجة إلى حد ما في PHP. يمكنك العثور على العديد من المقالات حول هذا النظام هنا في geektimes .

- Domoticz - نظام مكتوب بلغة C / C ++ بواجهة رسومية لائقة للغاية. ولكن نظرًا لحقيقة أن C / C ++ يصعب الكتابة بسرعة ، ثم مع مجموعة محدودة من برامج التشغيل / الوحدات النمطية.

بشكل عام ، يمكن العثور على العديد من أنظمة الأتمتة المنزلية المثيرة للاهتمام هنا . بشكل أساسي ، يتم فصل الأنظمة عن طريق لغات البرمجة (Java ، C / C ++ ، Python ، Javascript ، PHP ، ...) والأجهزة (Vera ، Raspberry PI ، Synology ، Mediola ، ...). جميعهم يستحقون الحق في الوجود ، على الرغم من أن البعض قد يكون أكثر والبعض الآخر أقل.

في الوقت الحالي ، مستوى المعرفة التقنية للأشخاص الذين ينفذون نظام الأتمتة مرتفع للغاية ولا يغمى عليهم من الكلمات: Linux ، وحدة التحكم ، apt-get. ولكن عندما ظهر السؤال في المنتدى: "لقد قمت بتثبيت النظام ، ولكن لا يمكنني تغيير المجلد الرئيسي إلى مجلد ioBroker. ساعدوني! " لقد كان جرسًا أن المعلوماتية بدأت في اللحاق بالركب ويمكن لمستخدمي الكمبيوتر البسيط استخدام النظام.

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

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

يتم استخدام JavaScript لكتابة الواجهة والخدمة والنصوص. واحدة من لغات البرمجة واسعة الانتشار والشعبية. يكتسب Python الآن شعبية كبيرة ، ولكن لا يمكنك كتابة غلاف رسومي لمتصفح على python. (نعم ، أنا أعلم بوجود py2js ، لكنني لم أر أي شيء يستحق ذلك بعد)

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

الاحتمالات
أستطيع أن أقول أن الاحتمالات ... لا حصر لها. اضرب عدد حزم npm في كمية الحديد وستحصل على مليون إمكانية لتشغيل المصباح الكهربائي:
- عبر البرقية
- عن طريق الصوت
- بقية API
- تصور الويب
- تطبيق android
- واجهة للهواتف والأجهزة اللوحية (المحمول)
- 340 برنامج تشغيل من FHEM
- MQTT

نعم ، والمشروع يتطور بنشاط وينمو بثلاث لغات.

للراغبين - جوجل للمساعدة. ومن الآن فصاعدا - سأحاول ألا أصف كيف يعمل الكون ، ولكن كيف يحدث الاتصال بين جهاز modbus ومحطة الطاقة النووية.

Source: https://habr.com/ru/post/ar394961/


All Articles