إحدى هواياتي الوبائية التي ظلت عالقة هي أتمتة المنزل. لقد اكتشفت Home Assistant – النظام الأساسي للتشغيل الآلي للمنزل ذو المصدر المفتوح والقابل للتخصيص بشكل كبير – وجميع الأشياء المعقدة التي يمكنك القيام بها من خلاله لجعل منزلك يعمل بشكل أفضل.
أعاني من اضطراب فرط الحركة ونقص الانتباه ووجدت أن Home Assistant أداة قيمة لإدارة الخلل الوظيفي التنفيذي. أستخدمه لتذكيرات التقويم الصوتية، وتذكيرات الغسيل، وأجهزة ضبط الوقت، ومراقبة كاميرا جرس الباب وكاميرا المربية الخاصة بكلبي. إنه أيضًا مصدر عظيم للفرحة الخالصة بالنسبة لي. وقد قمت مؤخرًا باتخاذ الخطوة الأكثر بهجة حتى الآن في تثبيت التشغيل الآلي للمنزل.
يتيح لك Home Assistant إنشاء لوحات معلومات مخصصة للتفاعل مع أجهزتك المنزلية الذكية. يقضي أعضاء المجتمع ساعات لا حصر لها في تحسين لوحات المعلومات الخاصة بهم، وبعضهم يفعل ذلك بالفعل بديع. حتى أنني اكتشفت المجتمع سمة لمساعد المنزل الذي يقطع شوطا طويلا ليبدو مثل LCARS نظام التحكم بالكمبيوتر في الجيل القادم عصر ستار تريك الذي نشأت فيه. LCARS ليست واجهة كمبيوتر عملية أو مفيدة. والغرض المعلن منه هو “يقترح شيئًا منظمًا جيدًا عندما يراه المشاهد في خلفية المشهد“. ما هو عليه، على الرغم من ذلك، هو رائع. لقد استحوذت علي الجمالية عندما كنت في الثامنة من عمري ولم تتركني أبدًا.
معظم أتمتة منزلي تتم من خلال الأتمتة الفعلية دون إدخالي، وأستخدم التحكم الصوتي بشكل مكثف (نعم، “الكمبيوتر” هو كلمة الاستيقاظ الخاصة بي. الإنذارات الكاذبة عندما أشاهد ستار تريك تستحق ذلك). ولكن هناك بعض الأشياء التي أرغب دائمًا في الحصول على لوحة تحكم لها. في بعض الأحيان تريد التحكم في الأشياء يدويًا. إنه رائع لعرض الطقس أو تشغيل مشاهد الإضاءة المخصصة. منذ بداية افتتاني بـ Home Assistant، كنت أتوق لاستخدام واجهة بأسلوب LCARS. السمة المرتبطة أعلاه جيدة جدًا – أستخدمها للوحة التحكم الرئيسية في هاتفي. لكنها ليست مثالية.
لقد تم تغيير حجم ونسب فواصل المرفق قليلاً، وتم تقسيم جميع الأزرار إلى قطعتين. إنها أشياء صغيرة. لكنني من النوع الذي يريد أن يأخذ الدقة إلى أقصى حد ممكن. لذلك صنعت بنفسي.
لقد اكتشفت مؤخرا مستوى (مكتبة الرسومات الخفيفة والمتعددة الاستخدامات)، والتي تتيح لك إنشاء واجهات رسومية أكثر قابلية للتخصيص وتطورًا بكثير من إعداد لوحة معلومات Home Assistant. اعتقدت أنه لا بد من وجود طريقة ما لجعل LVGL يتحدث إلى Home Assistant. وكانت القطعة الأخيرة من اللغز ESPHome. ESPHome هو إطار عمل مفتوح المصدر يسمح للمبتدئين في مجال البرمجة مثلي باستخدام لغة ترميزية بسيطة نسبيًا لبرمجة وحدات التحكم الدقيقة التي تدعم تقنية Wifi مثل ESP32 وESP8266 وRP2040، ويتكامل بشكل عميق مع Home Assistant. الاحتمالات هائلة. أستخدم مكونات ESPHome ككاشفات للحركة، وأجهزة استشعار للوجود، ومستشعر لجودة الهواء، وأجهزة تحكم لشرائط LED. ويدعم ESPHome LVGL على أجهزة عرض محددة.
لذلك اشتريت هذا شاشة Waveshare تعمل باللمس مقاس 7 بوصات مزودة بوحدة تحكم دقيقة ESP32-S3 بنيت في وحصلت على العمل.
لقد أمضيت ساعات في البحث في الإنترنت للعثور على لقطات شاشة وإعادة إنتاج المعجبين لبعض لوحات LCARS العديدة التي ظهرت في Star Trek في حقبة التسعينيات. وأنا اختصرت الأمر في هذا:
إنها رسمة تراها في مسكن توفوك ستار تريك: فوييجر. لست متأكدًا مما يفترض أن تفعله في العرض، لكنه يحتوي على الكثير من الأزرار الملونة والزوايا المستديرة. والأهم من ذلك أن هناك مقياسين في الأعلى لمن يعرف ماذا. لكن بالنسبة لي، بدت تلك العناصر وكأنها عناصر تحكم في سطوع الإضاءة. لذلك كان لدي تصميمي.
وكان التالي لبنائه. لبناء واجهة في ESPHome باستخدام LVGL، يمكنك استخدام يامل لتحديد خصائص (الحجم والموضع واللون وما إلى ذلك) للعنصر الرسومي الذي تريده. يطلق عليها LVGL اسم “الحاجيات”. لذلك قمت أولاً بإنشاء تصميمي باستخدام Adobe Illustrator كمرجع.
بدأت بعد ذلك المهمة الشاقة إلى حد ما المتمثلة في إعادة إنشاء هذا التصميم في محرر ESPHome في Home Assistant. لحسن الحظ أنك لا تحتاج إلى معرفة لغة C (اللغة التي كتب بها LVGL) لاستخدامها في ESPHome. بدلاً من ذلك، يمكنك استخدام YAML، وهو أمر أكثر تسامحًا مع أحد الهواة المتحمسين مثلي. مكونًا تلو الآخر، قمت بتحديد أبعاد كل زر، وموقعه، ولونه، والتسمية التي سيحملها، وشكله. من أفضل الممارسات في LVGL استخدام الأدوات المدمجة بدلاً من مجرد إدراج الصور. تمتلك LVGL هذه الإمكانية، لكن وحدات التحكم الدقيقة ESP32 لا تحتوي على الكثير من الموارد الاحتياطية، وسوف تلتهمها الصور بسرعة. الصور الفعلية الوحيدة المستخدمة في هذا التصميم هي المقياسين الموجودين في أعلى اليمين. جميع الأشكال الأخرى هي عناصر واجهة مستخدم لأزرار LVGL.
لقد اضطررت إلى الغش قليلاً فيما يتعلق بالأشكال غير المنتظمة. تحتوي بعض الأزرار الموجودة في واجهة LCARS على زاويتين مستديرتين فقط. أزرار LVGL تكون كلها أو لا شيء عندما يتعلق الأمر بالزوايا المستديرة. لكن لحسن الحظ، لا يمانع LVGL إذا قمت بتكديس الأشكال فوق بعضها البعض. بالنسبة للأزرار نصف الدائرية، قمت ببساطة بوضع دائرة في نهاية الزر المربع. إنهما نفس اللون، لذا يبدوان كشكل واحد. يتم تصنيع المرفقين في المنتصف بطريقة مماثلة.
في النهاية وصلت إلى هناك. شاشة لمس LCARS ذات مظهر أصيل وصادق في غرفة المعيشة الخاصة بي. سيكون عمري 12 عامًا معجبًا جدًا. 41 عاما لي بالتأكيد.
كل ما تبقى هو توصيله بأجهزتي. أثناء قيامي بهذا المشروع، كنت أتسكع في غرفة المعيشة الخاصة بي، لذلك اخترت مصابيح غرفة المعيشة الخاصة بي. (نعم، لقد قمت بإنشاء هذا المشروع بأكمله قبل أن تكون لدي فكرة واضحة عما سأفعله بالضبط. وهذه ليست هواية للأشخاص ذوي التفكير العملي تمامًا.)
لقد قمت بتكوين زر معين ليتحول إلى اللون الأبيض عندما تكون الأضواء مضاءة، ويعود إلى لونه الأصلي عندما تكون الأضواء مطفأة. هناك زر مختلف يقوم بالفعل بتبديل وإطفاء الأضواء. كلما زاد عدد الأزرار التي تفعل المزيد من الأشياء، كلما شعرت أنها أكثر أصالة بالنسبة لي. وهذه اللوحة تحتوي على أزرار أكثر مما لدي من أضواء في منزلي. يعكس أحد المقاييس سطوع تلك المصابيح ويتحكم فيها. هناك أزرار الحالة التي توضح لي ما إذا كان وضع التشغيل في منزلي “عادي” أو “دافئ”، وهو ما يحدد مشاهد الإضاءة في منزلي الواسع هيلوك يثبت.
تقع شاشة اللمس مع اللوحة على حامل بالقرب من أريكتي. إنها ليست عملية عن بعد. لقد عرفنا ذلك بالفعل بشأن LCARS. ومع ذلك، فهي جميلة. وهذا يجعل قلبي الطالب الذي يذاكر كثيرا سعيدا للغاية لأنني أستطيع الآن التحكم في منزلي بالطريقة التي كان أبطال طفولتي يتحكمون بها في سفنهم الفضائية.







