أبحث عن لوحة التحكم المادية في المنزل الذكي

منذ فترة طويلة ، كان لدي فكرة لتثبيت لوحة تحكم ، تقع بجوار الباب الأمامي داخل الشقة / المنزل.


هناك عدة خيارات لتطبيق هذه الفكرة:


  • لوحة اللمس المشغل PLC
  • قرص.
  • شاشة تعمل باللمس متصلة بالكمبيوتر الصغير.


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


1. اختيار الجهاز


بعد صياغة المتطلبات بوضوح ، اختفت على الفور أجهزة iPad التي لم أكن أعرف كيف أتحكم بها من الخارج (إنه أمر مؤسف لأن لديهم مجموعة كبيرة من حوامل الجدار) وجهاز HMI مثل Nextion ، حيث لا يمكن عرض صورة الكاميرا عليها.



أحد خيارات جهاز iPad Wallmount من Loxone


وعلى الرغم من ظهور الأجهزة المتخصصة في السوق الآن ، مثل:



ومع ذلك ، فإن مشكلة التحكم الخارجي لهذه الأجهزة ، كما أفهمها ، تظل كذلك ولم يتم حلها بالكامل.


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



صندوق التركيب


2. تأثير "الجمعة السوداء" على الاختيار


عندما تذكرت مرة أخرى فكرتي عشية يوم الجمعة الأسود 2019 ، قررت شراء شيء غير مكلف للاختبار. لم أكن أرغب في لحام وتوصيل لوحة اللمس بـ Raspberry Pi ، وقد وقع الاختيار على Amazon Fire 7 Tablet مقابل 29.99 دولار (حوالي 1700 دولار). لقد فكرت أنه في ورشة الرغيف الفرنسي ، سيكون من الممكن وضع الإطار المناسب بالحجم المناسب لوضع الجهاز اللوحي على الحائط.



Team Win Recovery Project (TWRP) على Amazon Fire 7 Tablet


علاوة على ذلك ، باتباع الإرشادات الموجودة على المورد الشهير xda-developers.com ، تمكنت من فتح برنامج تحميل اللوحية Fire 7 برمجيًا وتثبيت TWRP بدون تفكيك مادي.



في عملية إطلاق Fire 7 (2019 ، موستانج)


أريد أن أشير إلى أن التعليمات بدت في البداية مخيفة ، ولكن كنتيجة لذلك - يتم وصف كل شيء بشفافية كبيرة هناك. نظرًا لأنني لم أخطط في البداية لاستخدام Fire OS ، قمت بتثبيت LineageOS Android Distribution بدون تطبيقات إضافية وبدون خدمات Google ، أي دون تثبيت GApps.



LineageOS on Amazon Fire 7 Tablet (2019 ، موستانج)


أردت الحصول على جهاز نظيف مع الحد الأدنى من البرامج غير المرتبطة بأي حساب.


3. التحكم عن بعد عبر بنك التنمية الآسيوي


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


نظرًا لأنني كنت بحاجة إلى تشغيل دفق الفيديو من كاميرا IP (في حالتي RTSP ، فقد كنت بحاجة إلى مشغل VLC ، وكذلك Google Chrome للعرض بملء الشاشة للوحة المنزلية الذكية. من أجل إجراء المعالجات اللازمة مع الكمبيوتر اللوحي من الجهاز الطرفي على الكمبيوتر ، تنفيذ الأوامر التالية.


قم بتثبيت التطبيق على الجهاز اللوحي عبر سطر الأوامر:
adb install VLC.apk
قم بتشغيل / إيقاف تشغيل الجهاز اللوحي من خلال سطر الأوامر:
adb shell input keyevent KEYCODE_POWER
ابدأ البث من الكاميرا عبر سطر الأوامر:
adb shell am start -a android.intent.action.VIEW -d rtsp://login:pass@192.168.15.21:88/videoMain -t video/mp4
عبر سطر الأوامر ، قم بتشغيل لوحة تحكم المنزل الذكي في المتصفح:
adb shell am start -a android.intent.action.VIEW -d http://192.168.15.10:8123/lovelace/default_view


للعمل بشكل صحيح ، قمت بتعيين الإعدادات للشاشة الموسعة - عندما تكون لوحات التحكم مخفية تمامًا.



تكوين LineageOS


وبالطبع ، قمت بإيقاف تشغيل قفل الشاشة - وبدون ذلك ، يصعب أتمتة شيء ما.



تكوين LineageOS


فيما يلي اختراق صغير للحياة حيث يمكنك العثور على قائمة بجميع التطبيقات والأوامر المثبتة لتشغيلها. للبدء ، قم بتسجيل الدخول إلى وحدة التحكم:
adb shell
ثم افعل:
pm list packages | sed -e "s/package://" | while read x; do cmd package resolve-activity --brief $x | tail -n 1 | grep -v "No activity found"; done
هذا سوف يسرد جميع البرامج:



تنفيذ أمر لعرض جميع البرامج على الجهاز


يمكن استخدام المعلومات التي تم الحصول عليها وفقًا لتقديرك ، وعلى سبيل المثال ، بدء الساعة:
adb shell am start -a android.intent.action.VIEW -d -n com.android.deskclock/.DeskClock


4. مساعد المنزل


كل ما سبق كان مجرد تحضير لأتمتة عرض الكاميرا ولوحة تحكم البرنامج على شاشة الكمبيوتر اللوحي. لدي خياران للكاميرا أعلى الباب الأمامي في أماكن مختلفة:


  1. كاميرا Hikvision DS-2CD2463G0-IW مع مستشعر حركة متكامل.
  2. يتم إقران كاميرا القبة بمستشعر لحركة الميكروويف مخفي فوق السقف المعلق لممر الوصول ومتصل بوحدة تحكم الإيثرنت متعددة الوظائف MegaD-2561 . مستشعر الحركة غير مرئي بالعين ولكنه يعمل. الكاميرا تثبيت عادي وليس مخفيًا.

تحتاج أولاً إلى تمكين ADB عبر الشبكة:



تكوين LineageOS


بعد ذلك ، الجهاز اللوحي جاهز للتحكم عن بعد.


منذ أن استخدمت Hass.io ، استخدمت الوظيفة الإضافية ADB الخاصة - Android Debug Bridge ، والتي تتيح لك التحكم في أي جهاز يدعم التحكم في ADB. في تكوين هذه الوظيفة الإضافية ، أشار إلى الجهاز الوحيد الخاص به:


 { "devices": [ "192.168.15.24" ], "reconnect_timeout": 90 } 

بعد ذلك ، إنه أمر غريب بعض الشيء ، لكن كل هذه الأجهزة تذهب إلى التهيئة في Home Assistant مثل androidtv .


configuration.yaml
 media_player: - platform: androidtv name: Amazon Fire 7 host: 192.168.15.24 adb_server_ip: 127.0.0.1 

الخطوة الأخيرة هي تسجيل الأتمتة ، التي تعرض الكاميرا على شاشة الكمبيوتر اللوحي ، ثم تغلق التطبيق ، ثم تعرض لوحة التحكم في Home Assistant وتغلقها أيضًا بعد فترة من الوقت:


automations.yaml
 ################################################### # # #  android  # # # ################################################### - alias: Amazon Fire 7 Mikhail trigger: - platform: state entity_id: binary_sensor.kamera_u_liftov_pir_alarm from: 'off' to: 'on' condition: - condition: state entity_id: device_tracker.7c_xx_5c_b5_xx_1b # state: 'home' action: - service: androidtv.adb_command data: entity_id: media_player.amazon_fire_7 command: input keyevent KEYCODE_POWER - service: androidtv.adb_command data: entity_id: media_player.amazon_fire_7 command: am start -a android.intent.action.VIEW -d rtsp://login:pass@192.168.15.21:88/videoMain -t video/mp4 - delay: '00:00:30' - service: androidtv.adb_command data: entity_id: media_player.amazon_fire_7 command: input keyevent KEYCODE_APP_SWITCH - service: androidtv.adb_command data: entity_id: media_player.amazon_fire_7 command: input keyevent DEL - delay: '00:00:01' - service: androidtv.adb_command data: entity_id: media_player.amazon_fire_7 command: am start -a android.intent.action.VIEW -d http://192.168.15.10:8123/lovelace/default_view - delay: '00:00:10' - service: androidtv.adb_command data: entity_id: media_player.amazon_fire_7 command: input keyevent KEYCODE_APP_SWITCH - service: androidtv.adb_command data: entity_id: media_player.amazon_fire_7 command: input keyevent DEL - delay: '00:00:01' - service: androidtv.adb_command data: entity_id: media_player.amazon_fire_7 command: HOME 

النتيجة الناتجة ليست عند الباب ، ولكن في مكان العمل:



الرؤية الخلفية


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


يؤدي


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


بواسطة: ميخائيل شاردين ،
4 يناير 2020

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


All Articles