كاميرا ITS-in-a-Box

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

تعد مجموعة اختبار صورة كاميرا Android (ITS) جزءًا من أداة التحقق من مجموعة اختبار توافق Android (CTS) وتتضمن اختبارات للتحقق من محتوى الصورة. يدعم CTS Verifier أتمتة اختبار ITS باستخدام Camera ITS-in-a-box ؛ يغطي دعم الاختبارات اليدوية جميع عوامل شكل جهاز Android.

يتضمن ITS-in-a-box المزايا التالية:

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

ابدء

يتكون ITS-in-a-box من صندوق بلاستيكي مقطوع بالليزر من رسومات التصميم بمساعدة الكمبيوتر (CAD) ، ولوح تخطيطي ، وجهاز قيد الاختبار (DUT). يمكنك استخدام مجال الرؤية الواسع (WFoV) ITS-in-a-box ، القادر على اختبار كاميرات WFoV (FoV> 90 درجة) وكاميرات RFoV (FoV <90 درجة) ، أو المجال العادي لـ -عرض (RFoV) ITS-in-a-box.

لبدء استخدام Camera ITS-in-a-box:

  1. شراء أو بناء WFoV أو RFoV ITS-in-a-box.
  2. قم بتكوين الكمبيوتر اللوحي باستخدام برنامج Camera ITS.
  3. قم بإجراء الاختبارات .
  4. احصل على نتائج من DUT.

تكوين الجهاز اللوحي

يوفر هذا القسم إرشادات خطوة بخطوة لإعداد جهاز لوحي للاستخدام مع اختبارات Camera ITS الموجودة في دليل CameraITS . تستخدم هذه التعليمات جهاز Pixel C كمثال على الجهاز اللوحي. للحصول على معلومات حول متطلبات الجهاز اللوحي والتوصيات ، راجع متطلبات الجهاز اللوحي .

ملاحظة: تقوم البرامج النصية لـ Camera ITS Python تلقائيًا بتعيين الخيارات التالية على الجهاز اللوحي لك:
الإعدادات> العرض> السكون> بعد 30 دقيقة من عدم النشاط
السطوع التكيفي> إيقاف

  1. اشحن الجهاز اللوحي وقم بتشغيله. إذا طُلب منك إعداد حساب ، فتخطه (لا تتطلب Camera ITS أي حساب مقترن بالكمبيوتر اللوحي).
  2. قم بتحديث الجهاز اللوحي إلى Android 7.0 أو أعلى. Android 6.x والإصدارات الأقل لا تدعم Camera ITS.
  3. تفعيل وضع المطور .
  4. ارجع إلى الإعدادات وحدد خيارات المطور.
    تمكين الخيارات
    • على
    • إبق متيقظا
    • تصحيح أخطاء USB (يسمح هذا للمضيف بتشغيل الجهاز اللوحي في وضع التصحيح. عند توصيل الجهاز اللوحي بالمضيف لأول مرة ، يطالب الجهاز اللوحي بالسماح بتصحيح أخطاء USB؟ إذا لم يعرض الجهاز اللوحي مطالبة التصحيح ، فافصل ثم أعد توصيل لوح.)
    تعطيل الخيارات
    • تحديثات النظام التلقائية
    • تحقق من التطبيقات عبر USB
  5. حدد DUT ومعرفات الرسم البياني عن طريق تشغيل $ adb devices لسرد الأجهزة المتاحة. لتحديد device_id و chart_id ، قم بتوصيل وفصل الأجهزة ومراقبة الأجهزة التي تتصل وتفصل.
  6. قم بإجراء ثلاث عمليات تشغيل اختبارية لمنع التلميحات ومطالبات المستخدم التي يمكن أن تحجب المخططات على شاشة الكمبيوتر اللوحي.
    1. ضع الجهاز اللوحي ووجهه لأعلى على منضدة (لا تقم بتوصيل الجهاز اللوحي باللوحة الخلفية للصندوق).
    2. قم بتشغيل الأمر التالي:
      python tools/run_all_tests.py device=$device_id camera=0 chart=$chart_id scenes=2,3
      
      Scenes 2 و 3 يتطلبان من الجهاز اللوحي عرض صورة ، لذلك يطالب الجهاز اللوحي بالسماح لـ Drive بالوصول إلى الصور والوسائط والملفات الموجودة على جهازك؟ . امسح هذه المطالبة (وامنع المطالبات المستقبلية) بالضغط على " سماح".
    3. قم بتشغيل الأمر مرة أخرى. يطالب الجهاز اللوحي الاحتفاظ بنسخة من هذا الملف؟ ويقترح Google Drive. امسح هذه المطالبة (وامنع المطالبات المستقبلية) بالضغط على أيقونة Drive ثم إلغاء للتحميل إلى محرك الأقراص.
    4. أخيرًا ، قم بتشغيل tools/run_all_tests.py وتأكد من أن المشاهد تتغير تلقائيًا مع مرور البرنامج النصي عبر مشاهد مختلفة. بينما تفشل معظم الاختبارات (نظرًا لعدم توجيه الكاميرا إلى المخطط) ، يمكنك التحقق من أن الجهاز اللوحي يتنقل بشكل صحيح عبر المشاهد دون عرض أي مطالبات أو نوافذ منبثقة أخرى على الشاشة.

إجراء الاختبارات

قبل تشغيل ITS-in-a-box ، تأكد من أن إعداد اختبارك يتضمن الأجهزة والبرامج التالية:

  • واحد (1) ITS-in-a-box
  • جهاز لوحي واحد (1) عالي الدقة مقاس 10 بوصات لعرض المشاهد ، S / N: 5811000011
  • واحد (1) DUT مثبت عليه تطبيق CTS Verifier 7.0_8 +. مثال DUT:
    • عدد (1) بكسل NOF26W لاختبار الكاميرا الخلفية (0) ، S / N: FA6BM0305016. لتثبيت تطبيق CTS Verifier ، قم بفك ضغط android-cts-verifier.zip ثم قم بتشغيل
      adb -s FA6BM0305016 install -r -g android-cts-verifier/CtsVerifier.apk
      

تشغيل المشاهد القائمة على الكمبيوتر اللوحي

لتشغيل المشاهد من 0 إلى 4 و 6 وتغيير المشهد على الكاميرا الخلفية:

cd android-cts-verifier/CameraITS
. build/envsetup.sh
python tools/run_all_tests.py camera=0

مثال:

الكاميرا 0 S / N: FA6BM0305016
الشكل 1. الكاميرا 0 S / N: FA6BM0305016

إعادة المشاهد

يمكنك إعادة محاولة المشاهد لكاميرا واحدة:

  • لإعادة تجربة المشاهد على كاميرا واحدة:
    python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=3,4
    

تشغيل المشهد 5

يتطلب Scene 5 إعدادًا خاصًا مع إضاءة محددة (للحصول على التفاصيل ، راجع CameraITS.pdf في CTS Verifier ، والذي يمكنك تنزيله من تنزيلات Compatibility Test Suite ). يجب تشغيل المشهد 5 بشكل منفصل (خارج الصندوق).

مشهد الكاميرا 5
الشكل 2. مشهد الكاميرا 5

لتشغيل المشهد الخامس للكاميرات الأمامية والخلفية على جهاز واحد:

python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=5
python tools/run_all_tests.py device=FA6BM0305016 camera=1 scenes=5

الحصول على النتائج

يمكنك عرض النتائج أثناء الاختبار وحفظ النتائج المكتملة كتقرير.

  • عرض النتائج. لحفظ نتائج Camera ITS كتقرير:
    1. اضغط على Pass واحفظ التقرير.
      تقرير الكاميرا ITS
      الشكل 3. تقرير الكاميرا ITS
    2. سحب التقارير من الجهاز:
      adb -s FA6BM0305016 pull /sdcard/verifierReports
      
    3. قم بفك ضغط ملف التقرير واعرض test_result.xml .
      تقارير الكاميرا ITS
      الشكل 4. تقارير الكاميرا ITS

متطلبات الجهاز اللوحي

يجب أن يكون حجم عرض الأجهزة اللوحية حوالي 10 بوصات مع دقة شاشة أكبر من 1920 × 1200 بكسل. يجب ضبط قيمة brightness في config.yml وفقًا لطراز الجهاز اللوحي. يسرد الجدول أدناه الأجهزة اللوحية الموصى بها لاختبار ITS جنبًا إلى جنب مع إصدارات إصدار Android لـ DUT التي تعمل معها الأجهزة اللوحية.

جهاز عرض الحجم
(بوصة)
عرض الحجم
(بكسل)
أبعاد الجهاز اللوحي
(بوصة)
عرض
سطوع
عرض
بت
أيد
DUT OS
سامسونج
جالكسي تاب A8
10.5 1920 × 1200 9.72 × 6.37 × 0.27 192 8 Android 13+
شاومى
الوسادة 5
11 2560 × 1600 10.03 × 6.55 × 0.27 1536 11 Android 12+
لينوفو
علامة التبويب M10 Plus
10.3 1920 × 1200 9.61 × 6.03 × 0.32 192 8 Android 12+
سامسونج
جالكسي تاب A7
10.4 2000 × 1200 9.75 × 6.2 × 0.28 192 8 Android 12+
تشوي
Hi9 Air 10.1.2 تحديث
10.1 2560 × 1600 9.52 × 6.77 × 0.31 192 8 Android 7+
أسوس
ZenPad 3
9.7 2048 × 1536 9.47 × 6.44 × 0.28 192 8 Android 7+
هواوي
ميديا ​​باد m5
10.8 2560 × 1600 10.18 × 6.76 × 0.29 192 8 Android 7+
جوجل
بكسل سي
10.2 2560 × 1800 9.53 × 7.05 × 0.28 96 8 Android 7+
سوني
هاتف Xperia Z4
10.1 2560 × 1600 10 × 6.57 × 0.24 192 8 Android 7+

الأسئلة المتداولة (FAQs)

س 1: كيف يمكنني تحديد منصات الاختبار التي أحتاجها لجهازي؟

تختبر مراجعة RFoV ITS-in-a-box 1 كاميرات RFoV للمشهد من 0 إلى المشهد 4 في دليل CameraITS/tests . يتم تعريف RFoV على أنه 60 درجة <FoV <90 درجة . بالنسبة لكاميرات FoV الأكبر حجمًا ، قد تظهر الأضواء في الصور أو قد تغطي المخططات مساحة صغيرة جدًا في FoV ، مما يؤثر على نتائج الاختبار.

تختبر WFoV ITS-in-a-box المراجعة 2 كاميرات WFoV لاختبارات المشهد من 0 إلى المشهد 4 في دليل CameraITS/tests . يتم تعريف WFoV على أنه FoV> = 90 درجة . إنها مطابقة وظيفيًا للمراجعة 1 ، لكنها أكبر. يمكن لجهاز اختبار المراجعة 2 اختبار كل من كاميرات RFoV و WFoV في نظام Android 9 والإصدارات الأحدث.

يختبر صندوق دمج المستشعرات إزاحة توقيت الكاميرا / الجيروسكوب ومزامنة إطار أنظمة الكاميرات المتعددة مع الاختبارات في scenes=sensor_fusion . مطلوب إزاحة توقيت الكاميرا / الجيروسكوب أقل من 1 مللي ثانية لعلامة ميزة REALTIME وتطبيقات VR / AR.

يمكن اختبار الأجهزة متعددة الكاميرات باستخدام منصة واحدة لاختبارات أنظمة النقل الذكية الثابتة وجهاز استشعار اندماج إذا كانت الكاميرا تحمل علامة ميزة REALTIME .

يتم توفير مجموعة من أمثلة التكوينات في الجدول أدناه.

مثال كاميرا FoVs في الوقت الحالى؟ المنصات الموصى بها ملاحظات
1 75 درجة رقم القس 1 أندرويد 7.0 أو أحدث
2 75 درجة نعم القس 1 + اندماج الاستشعار Android 9 أو أعلى
3 75 درجة + 95 درجة نعم Rev 2 + انصهار المستشعر Android 9 أو أعلى

س 2: كيف يمكنني تحديد جهاز الاختبار المستخدم؟

لتعيين جهاز الاختبار الصحيح ، تأكد من صحة معلمة مسافة الرسم البياني. جهاز اختبار rev1 (RFoV) له مسافة مخطط تبلغ 31 سم ، وجهاز rev2 (WFoV) له مسافة مخطط تبلغ 22 سم. بشكل افتراضي ، يتم تعيين مسافة الرسم البياني على 31 سم.

Android 10 إلى Android 11

لتحديد جهاز الاختبار الصحيح في Android 10 إلى 11 ، أضف علامة dist في سطر الأوامر. القيمة الافتراضية لـ dist هي 31 . قم بتشغيل الأمر التالي لتغيير معلمة chart_distance .
python tools/run_all_tests.py ... chart=# dist=22

أندرويد 12

لتحديد جهاز الاختبار الصحيح في Android 12 ، يمكنك تحرير ملف config.yml لتغيير معلمة chart_distance .
edit config.yml
chart_distance: 31.0 → chart_distance: 22.0

Q3: كيف يمكنني التحكم في سطوع الجهاز اللوحي؟

بشكل افتراضي ، يتم ضبط سطوع الجهاز اللوحي على 96.

لتغيير السطوع على الأجهزة اللوحية التي تعمل بنظام Android 7.0 حتى Android 9 ، قم بتشغيل:

edit tools/wake_up_screen.py
DISPLAY_LEVEL=96 → DISPLAY_LEVEL=192

لتغيير السطوع على الأجهزة اللوحية التي تعمل بنظام Android 10 إلى 11 ، يمكن تغيير القيمة في سطر الأوامر عن طريق إضافة علامة brightness :

python tools/run_all_tests.py device=# camera=# chart=# brightness=192

لتغيير السطوع على الأجهزة اللوحية التي تعمل بنظام Android 12 ، قم بتشغيل:

edit config.yml
brightness: 96 → brightness: 192

س 4: كيف أقوم بتصحيح أخطاء اختبار واحد؟

يمكن إجراء الاختبارات بشكل فردي لأغراض التصحيح ، ولكن لا يتم إبلاغ CtsVerifier.apk إلا إذا تم تشغيل المشهد بأكمله.

لتشغيل مشهد فردي في Android 11 والإصدارات الأقدم:

  1. قم بتحميل مشهد عن طريق إضافة علامة scenes في tools/run_all_tests.py :
    python tools/run_all_tests.py device=# camera=# chart=# scenes=#
    
  2. اضغط على Control + C لإيقاف الاختبارات بعد تسجيل المشهد على أنه تم تحميله إلى stdout .

    إذا كان المشهد الصحيح موجودًا بالفعل على الشاشة ، فقم بتنشيط الشاشة:

    python tools/wake_up_screen.py screen=#
    
  3. قم بإجراء اختبار فردي.

    python tests/scene#/test_*.py device=# camera=#

    يتم بعد ذلك إنشاء المؤامرات في الدليل المحلي ويتم طباعة stdout و stderr على الشاشة.

    للحصول على مزيد من المعلومات لتصحيح الأخطاء ، أضف عبارات print إلى البرنامج النصي. لزيادة إخراج الاختبار من أجل التصحيح ، أضف علامة debug=True .

    python tests/scene#/test_*.py device=# camera=# debug=True

تتم طباعة النتائج على الشاشة المحلية ويتم حفظ الصور في الدليل المحلي بدلاً من الدليل /tmp/tmp### الذي تم إنشاؤه عند تشغيل tools/run_all_tests.py .

لتشغيل مشهد فردي في Android 12:

  1. قم بتحرير ملف config.yml .

    edit config.yml
    camera: <camera-id> → camera:  0
    scene: <scene-name> → scene: scene1_1
  2. قم بإجراء الاختبار الفردي.

    python tools/run_all_tests.py -c config.yml --test_bed TEST_BED_TABLET_SCENES
    

تتم طباعة النتائج في الدليل /tmp/logs/mobly/TEST_BED_TABLET_SCENES/ مرتبة حسب وقت التشغيل.

س 5: لماذا أحتاج إلى إجراء اختبارات فاشلة كمشهد كامل بدلاً من إعادة إجراء الاختبارات بشكل فردي؟

يمكن إجراء الاختبارات بشكل فردي لأغراض التصحيح ، ولكن لا يتم إبلاغ CtsVerifier.apk إلا إذا تم تشغيل المشهد بأكمله.

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

كمثال متطرف ، ضع في اعتبارك الحالة التي يوجد فيها 10 اختبارات في مشهد كل منها لديه احتمال 50٪ لإعادة PASS . من خلال إجراء كل اختبار على حدة ، هناك احتمال كبير أن يتمكن المشغل من الحصول على الكاميرا لتمرير Camera ITS. ومع ذلك ، إذا تم إجراء الاختبارات بشكل إجمالي كمشهد ، فهناك فرصة بنسبة 0.1٪ فقط لاجتياز المشهد.

س 6: كيف أقوم بتشغيل مشهد واحد أو إعادة ترتيب مشاهد الجري؟

بشكل افتراضي ، تقوم tools/run_all_tests.py بتشغيل جميع المشاهد بالترتيب. ومع ذلك ، يمكن تشغيل المشاهد بشكل فردي أو بترتيب محدد وإبلاغ CtsVerifier.apk .

لتشغيل مشهد فردي (على سبيل المثال ، مشهد 2) أو تشغيل أكثر من مشهد بترتيب معين في Android 11 أو أقل:

python tools/run_all_tests.py device=# camera=# chart=# scenes=2
python tools/run_all_tests.py device=# camera=# chart=# scenes=3,2

لتشغيل مشهد فردي أو تشغيل أكثر من مشهد بترتيب معين في Android 12:

python tools/run_all_tests.py scenes=2
python tools/run_all_tests.py scenes=3,2

يتم تعيين المعلمات الإضافية في ملف config.yml .

س 7: فشل عدد من اختبارات المشهد 1 مع إعداد الجهاز اللوحي ولكنها تمر بمخطط ورقي. ماالخطب؟

تأكد من أن الجهاز اللوحي وبيئة الاختبار تفي بالمواصفات التالية.

مواصفات الجهاز اللوحي

تأكد من أن الجهاز اللوحي يلبي المواصفات التالية:

  • حجم الشاشة (بوصة): 10 بوصات
  • حجم الشاشة (بكسل): أكبر من 1920 × 1200 بكسل

لمزيد من التفاصيل ، راجع متطلبات الجهاز اللوحي .

سطوع الجهاز اللوحي

قد لا تحصل الاختبارات على النتائج الصحيحة إذا كان سطوع شاشة الكمبيوتر اللوحي منخفضًا جدًا.

لمزيد من التفاصيل ، راجع كيف أتحكم في سطوع الجهاز اللوحي؟

مستوى إضاءة الصندوق (يتطلب مقياس لوكس)

تأكد من أن قيمة لوكس المستهدفة عند فتح الجهاز اللوحي تتراوح بين 100 و 300.

إذا كان مستوى lux مرتفعًا جدًا ، فإن scene1/test_param_flash_mode.py تُرجع FAIL . إذا كان مستوى اللوكس منخفضًا جدًا ، فستفشل اختبارات متعددة.

س 8: كيف أقوم بتصحيح أخطاء اختبارات اندماج المستشعر؟

  1. تأكد من أنك في مجموعة dialout .

    groups | egrep ‘dialout'
  2. تأكد من توصيل وحدة التحكم في اندماج المستشعر عن طريق تحديد ما إذا كانت تقنية Microchip متصلة بمنفذ USB.

    lsusb
    …
    Bus 003 Device 004: ID 04d8:fc73 Microchip Technology, Inc.
    …
    
  3. قم بتشغيل الاختبار عدة مرات للحصول على توزيع لمحاولات الاختبار باستخدام الأوامر التالية.

    في Android 11 أو أقل:

    python tools/run_sensor_fusion_box.py device=A camera=0 num_runs=10 rotator=default
    

    في Android 12:

    python tools/run_sensor_fusion_box.py num_runs=10
    

    يتم تعيين المعلمات الإضافية في ملف config.yml .

    توجد مخرجات التشغيل في المجلد /tmp/tmp### الذي تم إنشاؤه ضمن مجلدات sensor_fusion_# ، حيث يمثل # التشغيل. الأسباب الشائعة للفشل هي:

    1. لم يتم توسيط الهاتف بشكل صحيح.
    2. لا توجد ميزات كافية في الصورة (غالبًا ما تكون مشكلة في FoV أو في الإضاءة).
    3. الخطأ FAIL صالح ، ويجب تصحيح إزاحة التوقيت بين الكاميرا والجيروسكوب.

س 9: ما هي المعلومات التي يجب تضمينها عند الإبلاغ عن خطأ في الاختبار؟

عند الإبلاغ عن خطأ في الاختبار ، قم بتضمين الملفات والصور التي تم إنشاؤها للاختبار.

  1. إذا أجريت الاختبار من خلال tools/run_all_tests.py ، فقم بإرفاق دليل مضغوط /tmp/ إلى الخطأ.
  2. إذا قمت بإجراء الاختبار بمفرده ، فقم بإرفاق جميع مخرجات الشاشة والصور التي تم إنشاؤها إلى الخطأ.

قم أيضًا بتضمين تقرير الشوائب. بعد فشل الاختبار المعني ، استخدم الأمر التالي لإنشاء تقرير خطأ وإرفاق ملف مضغوط تم إنشاؤه بالخلل.

adb -s device_id bugreport

س 10: كيف أقوم بإزالة أشرطة التنقل على الأجهزة اللوحية مقاس 16:10 التي تحجب المشهد؟

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

adb -s device_id shell settings put global policy_control immersive.full=*