اعتبارًا من 27 آذار (مارس) 2025، ننصحك باستخدام android-latest-release بدلاً من aosp-main لإنشاء AOSP والمساهمة فيه. لمزيد من المعلومات، يُرجى الاطّلاع على التغييرات في AOSP.
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
يقيس اختبار دمج بيانات أجهزة الاستشعار دقة الطابع الزمني لأجهزة الاستشعار في
أجهزة Android، وتحديدًا أدوات استشعار الصور في الكاميرا والجيروسكوبات. تقدّم هذه
الصفحة تعليمات تفصيلية حول
كيفية إعداد اختبار Sensor Fusion وSensor Fusion Box للمرة
الأولى.
فيديو تعليمي
هذا فيديو تعليمي حول كيفية إعداد صندوق دمج البيانات من أجهزة الاستشعار.
الأدوات المطلوبة
قبل البدء، تأكَّد من توفّر المكوّنات التالية:
الشكل 1. المكوّنات المطلوبة لاختبار دمج ข้อมูล المستشعر
كابل USB من النوع A إلى النوع B
كابل USB من النوع A إلى C (للهاتف الاختباري)
سلك طاقة 12 فولت 2 أمبير (لصندوق التحكّم في مشغل السيرفو)
سلك طاقة بجهد 12 فولت (للإضاءة، مزوّد بمفتاح)
كابل توصيل ذكر-ذكر بجهد 5 فولت (للإضاءة)
كابل تحويل 5 فولت ذكر/أنثى (للإضاءة)
الخطوة 1: توصيل المصابيح
لربط المصابيح:
استخدِم الكابل المزوّد بطرفَين ذكرَين لتوصيل المصباحَين في أسفل
المصباحَين كما هو موضّح في الشكل 2. ثبِّت الكابل في أسفل
العلبة لمنع تداخله مع العملية.
وصِّل نهاية المصباح الأقرب إلى فتحة خروج كابل المصباح بخط التحويل
الشكل 2. توصيل المصابيح ببعضها
وربط مصباح واحد بكابل التحويل
فتحة إخراج كابل الإضاءة
فتحة خروج كابل USB
كابل تحويل 5 فولت ذكر-ذكر
ادفع الطرف غير المتصل من كابل التحويل من خلال الفتحة المستديرة
التي تخرج من العلبة، ثم وصِّله بكابل الصعق الكهربائي
للإضاءة.
الشكل 3. كابل تحويل الإضاءة يخرج من العلبة ويتصل بكابل الطاقة
فتحة الخروج
كابل التحويل
كابل الطاقة
الخطوة 2: إرفاق مشغل السيرفو
لإرفاق مشغل السيرفو:
وصِّل موصل مشغل الالتفاف إلى وحدة التحكّم في مشغل الالتفاف. احرص على إدخال
الموصّل موجهًا إلى الألوان المقابلة كما هو موضّح (Y =
أصفر، R = أحمر، B = أسود)، لأنّ عكس الترتيب قد يؤدي إلى تلف
المحرّك. إذا كان السلك قصيرًا جدًا، استخدِم
كابل تمديد لوحدة التحكّم الآلي.
الشكل 4. توصيل مشغل سيرفو بصندوق التحكّم فيه
وصِّل وحدة التحكّم في محركات الأقراص الدوّارة باستخدام سلك الطاقة (تستخدم وحدات التحكّم في محركات الأقراص الدوّارة والإضاءة مصدرَي طاقة مستقلَين ومخصّصَين).
الشكل 5. توصيل وحدة التحكّم في مشغل السير بأداة التحكم
في سلك الطاقة المخصّص لها
استخدِم كابل USB من النوع A إلى النوع B لتوصيل صندوق التحكّم في مشغل السيرفو بالمضيف (الجهاز الذي يُجري الاختبار).
الشكل 6. توصيل صندوق التحكّم في مشغل السيرفو بالجهاز المضيف
الخطوة 3: إرفاق الهاتف
ضَع الهاتف على الحامل واضغط عليه. اربط البراغي بإحكام عن طريق لف المسمار البلاستيكي
باتجاه اليمين. الشكل 7. وضع الهاتف وتثبيته على
الحِزمة
يجب وضع الهواتف بطريقة تجعل أسلاك USB في
محيط حامل الهاتف والكاميرات بالقرب من منتصف
الحامل.
استخدِم رابطًا سريع الربط لتثبيت سلك USB للهاتف على لوحة التثبيت
وتوجيهه خارج العلبة من خلال فتحة الخروج. وصِّل الطرف الآخر
من السلك بالمضيف الذي يُجري الاختبار.
الشكل 8. كابل USB للهاتف مُثبَّت في الجهاز باستخدام
أربطة بلاستيكية
الخطوة 4: تشغيل النص البرمجي للاختبار
ملف التشغيل الرئيسي لبرنامج python الخاص بنص الاختبار هو:
لحلّ مشاكل الأذونات المتعلّقة بالتحكم في المحرّك من خلال
مَنفذ USB:
أضِف اسم مستخدم المشغّل إلى مجموعة dialout باستخدام:
sudo adduser USERNAME dialout
سجِّل خروج موظّف الدعم.
سجِّل الدخول إلى حساب مزوّد الخدمة.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-30 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-30 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Test sensor fusion\n\nThe sensor fusion test measures timestamp accuracy of sensors for\nAndroid devices, specifically camera image sensors and gyroscopes. This\npage provides step-by-step directions on\nhow to setup the Sensor Fusion test and Sensor Fusion Box for the first\ntime.\n\nVideo tutorial\n--------------\n\n\nThis is a video tuturial on how to set up the sensor fusion box. \n\nRequired tools\n--------------\n\n\nBefore getting started, ensure you have the following components:\n**Figure 1.** Components required for the sensor fusion test\n\n1. USB A to B cable\n2. USB A to C cable (for test phone)\n3. 12V 2A power cord (for servo control box)\n4. 12V power cord (for lighting, with switch)\n5. 5V male-male connection cable (for lighting)\n6. 5V male-female conversion cable (for lighting)\n\nStep 1: Connect lights\n----------------------\n\n\nTo connect the lights:\n\n1. Use the male-male cable to connect the two lights on the bottom ends of the lights as shown in figure 2. Secure the cable to the bottom of the box to keep the cable from interfering with the operation.\n2. Connect the end of the light closer to the light cable exit hole to the conversion cable **Figure 2.** Connecting the lights to each other and one light to the conversion cable\n 1. Light cable exit hole\n 2. USB cable exit hole\n 3. 5V male-male conversion cable\n3. Thread the unconnected end of the conversion cable through the round hole that exits the box, then connect it to the power cable for lighting. **Figure 3.** Lighting conversion cable exiting the box and connecting to power cable\n 1. Exit hole\n 2. Conversion cable\n 3. Power cable\n\nStep 2: Attach servo\n--------------------\n\n\nTo attach the servo:\n\n1. Plug the servo connector into the servo control. Be sure to insert the connector oriented to the corresponding colors as labeled (Y = Yellow, R = Red, B = Black), as reversing the order could damage the motor. If the cord is too short, use a [servo extension cable](https://www.adafruit.com/product/972). **Figure 4.** Servo connecting to the servo control box\n2. Connect the servo control with its power cord (the lighting and servo control have independent, dedicated power supplies). **Figure 5.** Connecting the servo control to its dedicated power cord\n3. Use the USB A to B cable to connect the servo control box to the host (machine that is running the test). **Figure 6.** Connecting the servo control box to the host machine\n\nStep 3: Attach phone\n--------------------\n\n1. Set the phone on the fixture and clamp it down. Tighten by turning the nylon screw right. \n **Figure 7.** Placing and clamping the phone on the fixture\n\n Phones should be placed in a manner where the USB cords are located at\n the periphery of the phone mount and the cameras are near the center of\n the mount.\n2. Use a zip tie to hold the phone USB cord to the fixture plate and lead it outside the box through the exit hole. Plug the other end of the cord to the host running the test. **Figure 8.** Phone USB cord held to fixture with zip ties\n\nStep 4: Run test script\n-----------------------\n\n\nThe main python executable for the test script is: \n\n python tools/run_all_tests.py device=ID camera=0 scenes=sensor_fusion rot_rig=default\n \nYou can modify the command to specify the actual rotator address by using: \n\n```scdoc\nrot_rig=VID:PID:CH\n \n```\n\n- To determine the Vendor ID (VID) and Product ID (PID), use the Linux command `lsusb`.\n- By default, the VID and PID are set to `04d8` and `fc73` with channel \"1\".\n\n### Multiple runs, different formats\n\nTo perform multiple runs with different formats, you can use a\ndifferent script (however, the results will not be uploaded to\n`CtsVerifier.apk`). Sample test script: \n\n python tools/run_sensor_fusion_box.py device=FA7831A00278 camera=0 rotator=default img_size=640,360 fps=30 test_length=7\n\n### Permission issues\n\nTo resolve permission issues related to controlling the motor through the\nUSB port:\n\n1. Add the operator username to the `dialout` group using: \n\n sudo adduser \u003cvar translate=\"no\"\u003eUSERNAME\u003c/var\u003e dialout\n \n2. Log out the operator.\n3. Log in the operator."]]