، مقالات،

يحصل المنزل الذكي الذي يعمل بنظام Home Assistant على لوحة تحكم فعلية ذاتية الصنع


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

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

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

قلب إعداد Home Assistant الخاص بي هو مركز مدعوم بجهاز كمبيوتر قديم يعمل بنظام التشغيل Linux. يتعامل هذا مع الاتصالات اللاسلكية مع أجهزة الاستشعار والأجهزة والأجهزة الأخرى. بالنسبة للمعدات التجارية الجاهزة – مثل عداد الطاقة الخاص بي – يتم هذا الاتصال عادةً عبر Z-Wave. تتصل أجهزة البيرة المنزلية الخاصة بي بدبابيس GPIO الخاصة بـ Raspberry Pi، والتي تنقل حالتها عبر Wi-Fi باستخدام بروتوكول MQTT القياسي لإنترنت الأشياء. ومع ذلك، قررت استخدام اتصال Ethernet سلكي بين لوحة التحكم وجهاز الكمبيوتر المركزي الخاص بي، حيث سيسمح لي ذلك باستخدام الطاقة عبر Ethernet (PoE) لتزويد اللوحة بالكهرباء.

تتضمن الأنواع المختلفة للمكونات المستخدمة في لوحة التحكم شاشة تعمل باللمس [A]، شاشات LED [B]، التوت بيس [C]، الطاقة عبر لوحات إيثرنت [D]وزر التوقف في حالات الطوارئ [E]. جيمس بروفوست

في الواقع، أنا استخدم اثنين اتصالات Ethernet، لأنني قررت تقسيم وظائف لوحة التحكم عبر نموذجين 3B+ Raspberry Pis، بتكلفة حوالي 35 دولارًا أمريكيًا لكل منهما (يمكن العثور على فاتورة المواد الكاملة في مستودع GitHub الخاص بي). يقوم One Pi بتشغيل شاشة تعمل باللمس، بينما يتعامل الآخر مع الأزرار ومصابيح LED. تم تجهيز كل منها بقبعة PoE إضافية بقيمة 20 دولارًا لسحب الطاقة من اتصال Ethernet الخاص بها.

تتطلب قيادة جميع الأزرار ومصابيح LED أكثر من 50 إشارة إدخال/إخراج، وهو أكثر مما يمكن استيعابه بواسطة رأس GPIO الموجود على Pi. على الرغم من أن هذا الرأس يحتوي على 40 طرفًا، إلا أن حوالي 26 طرفًا فقط قابلة للاستخدام عمليًا. لذلك استخدمت ثلاثة موسعات I2C بقيمة 6 دولارات، كل منها قادر على التعامل مع 16 إشارة إدخال/إخراج وإعادة إرسالها عبر ناقل بيانات ذي سلكين.

لا داعي للقلق من أنني لن أتمكن فجأة من تشغيل الأضواء بسبب الترقية القسرية.

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

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

يحتوي جهاز Raspberry Pi الأول على حاويات تحمل اسم \u201cأوامر شاشة تعمل باللمس\u201d و\u201cخادم ويب تشخيصي\u201d و\u201cKiosk Web Browser.\u201d يحتوي جهاز Raspberry Pi الثاني على حاويات تحمل اسم \u201cButton Script\u201d و\u201cLED نصي.\u201dيتم تقسيم وظائف الإدخال والإخراج عبر حاويات البرامج التي تعمل على Raspberry Pis الخاص باللوحة. تتواصل هذه مع مركز لإرسال الأوامر والحصول على تحديثات الحالة. جيمس بروفوست

تعمل هذه الحاويات على نظام BalenaOS، وهو نظام تشغيل مصمم لتشغيل صناديق الحماية هذه على الحافة بالإضافة إلى الأجهزة المدمجة مثل Pi. الكشف الكامل: أنا قائد تمكين الذكاء الاصطناعي في شركة Balena، الشركة المسؤولة عن BalenaOS، لكنني بدأت في استخدام نظام التشغيل قبل انضمامي إلى الشركة بسبب نهجها القائم على الحاويات. يمكنك تشغيل حاويات Docker باستخدام نظام التشغيل Raspberry Pi OS، لكن BalenaOS يسهل إدارة الحاويات، بما في ذلك تشغيلها وإيقافها وتحديثها عن بُعد.

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

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

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

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى