أجهزة الاستشعار

رمز طبقة تجريد الأجهزة (HAL) لأدوات استشعار Android

تمنح أجهزة الاستشعار في Android التطبيقات إمكانية الوصول إلى أجهزة الاستشعار المادية الأساسية في الجهاز الجوّال. وهي أجهزة افتراضية توفّر البيانات ويتم تحديدها من خلال sensors.h، أي طبقة تجريد الأجهزة (HAL) الخاصة بأجهزة الاستشعار.

ما هي مستشعرات Android؟

أجهزة الاستشعار في Android هي أجهزة افتراضية توفّر بيانات واردة من مجموعة من أجهزة الاستشعار المادية، مثل مقاييس التسارع والجيروسكوب والمغناطيسية والضغط الجوي والرطوبة والضغط والضوء والقرب ومعدّل نبضات القلب.

لا تتضمّن قائمة الأجهزة المادية التي تقدّم البيانات الكاميرا وجهاز استشعار بصمة الإصبع والميكروفون والشاشة التي تعمل باللمس. وتتضمّن هذه الأجهزة آلية إعداد تقارير خاصة بها، علمًا بأنّ الفصل بينها اختياري، ولكن بشكل عام، تقدّم أجهزة الاستشعار في Android بيانات بنطاق ترددي أقل. على سبيل المثال، "100 هرتز × 3 قنوات" لمقياس تسارع مقابل "25 هرتز × 8 ميغابكسل × 3 قنوات" لكاميرا أو "44 كيلو هرتز × قناة واحدة" لميكروفون.

لا يحدّد نظام التشغيل Android طريقة ربط أجهزة الاستشعار المادية المختلفة بالمنظومة على الرقاقة (SoC).

  • في كثير من الأحيان، يتم ربط شرائح أجهزة الاستشعار بنظام على شريحة من خلال مركز أجهزة الاستشعار، ما يتيح إجراء بعض عمليات المراقبة والمعالجة المنخفضة الطاقة للبيانات.
  • في كثير من الأحيان، يتم استخدام Inter-Integrated Circuit (I2C) أو Serial Peripheral Interface (SPI) كآلية نقل.
  • للحدّ من استهلاك الطاقة، تكون بعض البُنى هرمية، حيث تتم بعض المعالجة البسيطة في الدائرة المتكاملة الخاصة بالتطبيق (ASIC، مثل رصد الحركة على شريحة مقياس التسارع)، ويتم إجراء المزيد من المعالجة في وحدة التحكّم الدقيق (مثل رصد الخطوات في مركز الاستشعار).
  • ويعود إلى الشركة المصنّعة للجهاز اختيار بنية استنادًا إلى خصائص الدقة والطاقة والسعر وحجم الحزمة. يمكنك الاطّلاع على مجموعة أجهزة الاستشعار لمزيد من المعلومات.
  • تُعد إمكانات تجميع البيانات من الاعتبارات المهمة لتحسين استهلاك الطاقة. يمكنك الاطّلاع على التجميع لمزيد من المعلومات.

يحتوي كل جهاز استشعار في Android على "نوع" يمثّل طريقة عمل جهاز الاستشعار والبيانات التي يوفّرها.

  • يتم تحديد أنواع أجهزة الاستشعار الرسمية في Android في sensors.h تحت الأسماء SENSOR_TYPE_…
    • تتضمّن الغالبية العظمى من أجهزة الاستشعار نوعًا رسميًا.
    • هذه الأنواع موثّقة في حزمة تطوير البرامج (SDK) لنظام التشغيل Android.
    • يتم اختبار سلوك المستشعرات التي تتضمّن هذه الأنواع في "مجموعة أدوات اختبار التوافق" (CTS) لنظام التشغيل Android.
  • إذا أضافت الشركة المصنّعة نوعًا جديدًا من أجهزة الاستشعار إلى جهاز Android، يمكنها تحديد نوع مؤقت خاص بها للإشارة إليه.
    • هذه الأنواع غير موثّقة، لذا من غير المرجّح أن يستخدمها مطوّرو التطبيقات، إما لأنّهم لا يعرفون عنها، أو لأنّهم يعرفون أنّها لا تظهر إلا نادرًا (على بعض الأجهزة من هذه الشركة المصنّعة المحدّدة).
    • ولا يتم اختبارها باستخدام مجموعة اختبار التوافق.
    • بعد أن يحدّد نظام التشغيل Android نوعًا رسميًا لهذا النوع من أجهزة الاستشعار، على المصنّعين التوقّف عن استخدام النوع المؤقت الخاص بهم واستخدام النوع الرسمي بدلاً منه. بهذه الطريقة، سيتمكّن المزيد من مطوّري التطبيقات من استخدام جهاز الاستشعار.
  • يتم عرض قائمة بجميع المستشعرات المتوفّرة على الجهاز من خلال تنفيذ طبقة HAL.
    • يمكن أن يكون هناك عدة أجهزة استشعار من النوع نفسه. على سبيل المثال، أداتان لاستشعار القرب أو مقياسا تسارع.
    • تطلب الغالبية العظمى من التطبيقات مستشعرًا واحدًا فقط من نوع معيّن. على سبيل المثال، سيحصل تطبيق يطلب مقياس التسارع التلقائي على مقياس التسارع الأول في القائمة.
    • غالبًا ما يتم تحديد المستشعرات من خلال أزواج التنشيط وعدم التنشيط، حيث يشترك كلا المستشعرَين في النوع نفسه، ولكن يختلفان في خاصية التنشيط.

توفّر مستشعرات Android البيانات كسلسلة من أحداث المستشعر.

يحتوي كل حدث على ما يلي:

  • معرّف لجهاز الاستشعار الذي أنشأها
  • الطابع الزمني الذي تم فيه رصد الحدث أو قياسه، استنادًا إلى SystemClock.elapsedRealtimeNanos()
  • وبعض البيانات

يعتمد تفسير البيانات المُبلغ عنها على نوع المستشعر. راجِع تعريفات نوع المستشعر لمعرفة تفاصيل حول البيانات التي يتم تسجيلها لكل نوع من أنواع المستشعرات.

المستندات الحالية

مخصّصة للمطوّرين

مخصّص للشركات المصنّعة

  • نظرة عامة
  • طبقة تجريد الأجهزة (HAL)
  • مستند تعريف التوافق (CDD) لنظام التشغيل Android
    • /compatibility/android-cdd.pdf
    • الاطّلاع على الأقسام ذات الصلة بأجهزة الاستشعار
    • تتسم متطلبات التوافق مع تعريف الجهاز (CDD) بالتساهل، لذا فإنّ استيفاءها لا يكفي لضمان توفّر أجهزة استشعار عالية الجودة.